by lunarg on April 28th 2007, at 00:16

When you're running Windows on a system with 4GB RAM, you might have noticed that the entire amount of RAM is not detected (it's somewhere around 3.6GB). This is because of the way HIGHMEM (4GB and up) is handled.
Fortunately, there is a way to solve the problem, allowing the full use of 4GB...

Enabling PAE

A solution to our problem is by forcibly enabling Intel's Physical Address Extension (in short, PAE). This is done by taking the following steps:

  1. Locate the boot partition (this usually is C: but could be something else): it contains the bootloader files such as ntldr, boot.ini, etc.
  2. Open the boot.ini file, which is in the root of that partition (e.g. c:boot.ini). Note that you might need to change the attributes of the file (non-system, non-hidden, non-readonly) before you can save changes you make to the file.
  3. Locate the boot commandline for the operating system and append that line with /PAE.
  4. Save the file and reboot. If saving the file doesn't work, the file still has its readonly attribute enabled: disable it first, then try again.

Applies to

This little trick works with Windows 2000 Server family (with SP4), and Windows 2003.

Note that 2003 might already have PAE enabled by default. Also note that I only have tested it on a Windows 2003 Server, so feel free drop a message if the list above is not entirely correct. After all, I'm only following Microsoft's KB...
« February 2023»
« You only find out who is swimming naked when the tide goes out. »
Warren Buffett