enable PAE on windows 7 ?

venm11

2[H]4U
Joined
Oct 6, 2004
Messages
2,236
Is this possible? PAE? I've seen some conflicting information about this online, but it sounds like this will allow my relatively old laptop with w7 x86 to map the full 4 gigs of it's memory (right now - 3gb). If it works.

It sounds like it's an easy thing to try, I'm just curious why it isn't commonly considered. Going 64-bit sounds like a dubious tradeoff for a pc that only supports 4gigs.

I'm not exactly sure how the processor supports 3-level page mapping (if it was designed for 2). I also am wondering whether this slows down performance, or what other issues there might be.
 
I haven't had to think about PAE in a while, but I remember the /PAE switch in Windows 2000 Server and Windows Server 2003. I was able to find the following information on Microsoft's site:
Large memory support is available in Windows Server 2003 and in Windows 2000: http://support.microsoft.com/kb/283037\
Windows Vista, Windows Server 2003, or Windows Server 2008 may report less memory than you expect: http://support.microsoft.com/kb/929580
Physical Address Extension: http://msdn.microsoft.com/en-us/library/windows/desktop/aa366796%28v=vs.85%29.aspx

Unfortunately, you might find that the issue is a chipset or BIOS issue. The Processor may support PAE, but the BIOS may reserve the upper range of the 4 GB for hardware addressing, and the operating system will not be able it.
 
I thought Microsoft had killed PAE for client operating systems, but this page seems to indicate otherwise: http://msdn.microsoft.com/en-us/library/windows/desktop/aa366796(v=vs.85).aspx

Even with PAE or a 64-bit os, you may not be able to use all 4gb of ram, if your chipset sucks (dell d520 with an intel 945, I'm look at you) :(

Why would the chipset affect the memory mapping? That's done by the cpu and operating system, afaik.

Yes, I saw that link. It might be worth a try.
 
Why would the chipset affect the memory mapping? That's done by the cpu and operating system, afaik.

Memory controller is on the chipset on intel processors until Core i[357], so if it's not willing to map the memory (or other things that are memory mapped) past 4G, then the cpu and the os are out of luck.
 
PAE is enabled by default on 32-bit Windows 7 as long as your processor supports DEP in hardware.

PAE has been restricted from making more than ~4GB of RAM available, this restriction was first implemented with Windows XP SP2, and has existed ever since. This restriction was put in place because many 32bit drivers are not PAE aware and would crash if they ended up mapped above the normal 32bit address space.

Server editions do not have this limitation. Microsoft requires drivers certified for 32-bit Server editions of Windows to be PAE aware.

Edit:
Here's some light reading on memory management and PAE: http://www.geoffchappell.com/notes/windows/license/memory.htm

You can actually hex edit NTOSKRNL.EXE to remove this limitation, allowing 32-bit Windows 7 see RAM above 4GB... I've done it, but I really wouldn't recommend it. You're MUCH better off simply installing a 64bit build of Windows 7 and calling it a day.
 
Last edited:
PAE is enabled by default on 32-bit Windows 7 as long as your processor supports DEP in hardware.

PAE has been restricted from making more than ~4GB of RAM available, this restriction was first implemented with Windows XP SP2, and has existed ever since. This restriction was put in place because many 32bit drivers are not PAE aware and would crash if they ended up mapped above the normal 32bit address space.

Server editions do not have this limitation. Microsoft requires drivers certified for 32-bit Server editions of Windows to be PAE aware.

Edit:
Here's some light reading on memory management and PAE: http://www.geoffchappell.com/notes/windows/license/memory.htm

You can actually hex edit NTOSKRNL.EXE to remove this limitation, allowing 32-bit Windows 7 see RAM above 4GB... I've done it, but I really wouldn't recommend it. You're MUCH better off simply installing a 64bit build of Windows 7 and calling it a day.
+1000
 
PAE is enabled by default on 32-bit Windows 7 as long as your processor supports DEP in hardware.

PAE has been restricted from making more than ~4GB of RAM available, this restriction was first implemented with Windows XP SP2, and has existed ever since. This restriction was put in place because many 32bit drivers are not PAE aware and would crash if they ended up mapped above the normal 32bit address space.

Server editions do not have this limitation. Microsoft requires drivers certified for 32-bit Server editions of Windows to be PAE aware.

Edit:
Here's some light reading on memory management and PAE: http://www.geoffchappell.com/notes/windows/license/memory.htm

You can actually hex edit NTOSKRNL.EXE to remove this limitation, allowing 32-bit Windows 7 see RAM above 4GB... I've done it, but I really wouldn't recommend it. You're MUCH better off simply installing a 64bit build of Windows 7 and calling it a day.

It depends on where windows (or bios?) is mapping the hardware IO. I would assume that it would either stick those at the top or bottom of the address, leaving RAM as a contiguous block. If it were at the top, then no programs would exist above 4gb addresses (although a kernel program could conceivably address that 4gb+ space).
 
...Going 64-bit sounds like a dubious tradeoff for a pc that only supports 4gigs...

You are correct. It would be more work than it is worth to discover that there is no noticeable gain from doing so. If your PC is insufficient for what you are doing as is, you need a new one.
 
Back
Top