Enable PAE in x86 32-bit Windows Server 2003 and 2000 to Use Large 4GB or More RAM Memory

After installing Windows 2000 (Datacenter Server or Advanced Server) or Windows 2003, system properties shows that only around 3.37 GB of physical memory (RAM) is available for application and system use, although 4 GB or more RAM modules have been installed, and BIOS can correctly identifies the full installed size of physical memory, which means that the motherboard and x86 or x64 CPU processor can support more than 4 GB of physical memory.


32-bit Windows operating system depends on PAE (Physical Address Extension) feature to use more than 4 GB of physical memory. On most Windows 2000 and Windows Server 2003 system, especially those run in NUMA mode on a NUMA-capable computer. PAE is disabled by default. PAE is enabled by default only if DEP (Data Protection Execution) is enabled on a computer that supports hardware-enabled DEP, or if the computer is configured for hot-add memory devices in memory ranges beyond 4 GB.

Thus, if PAE is not enabled in Windows 2000 and Windows Server 2003 (for example, if DEP is turned off by administrator), the system may not able to detect, identify and see more than 4GB memory, and will have to allocate slightly more than 3GB of memory for system and application only as some memory address space has to be reserved and mapped for system devices and peripherals.

To enable PAE in Windows Server 2003 and Windows 2000 (and Windows XP), append the /PAE switch to the end of the line of operating system in the Boot.ini file. To disable PAE, use the /NOPAE switch. The Boot.ini normally located in the root folder (i.e. C:\) with Read-Only and Hidden attributes, which are required to be removed before the file can be edited.

For example,

Original Boot.ini:

[boot loader]
timeout=0
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT=”Microsoft Windows 2000 Advanced Server”
/fastdetect

Change the Boot.ini to become:

[boot loader]
timeout=0
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT=”Microsoft Windows 2000 Advanced Server”
/fastdetect /PAE

For Bootcfg command, use:

bootcfg /raw "/pae" /A /ID 1

Restart the computer after modification to make the change effective.

Note that even with PAE enabled, there is still memory limit imposed by the operating system itself. The table below list the maximum memory support with PAE enabled for Windows 2000, Windows Server 2003 and Windows XP. Most 32-bit client based Windows operating system, such as Windows XP and Windows Vista, has OS level limit that restricts the maximum amount of memory able to be used to 4GB.

Operating system Maximum memory support with PAE
Windows 2000 Advanced Server 8 GB of physical RAM
Windows 2000 Datacenter Server 32 GB of physical RAM
Windows XP (all versions) 4 GB of physical RAM*
Windows Server 2003 (and SP1), Standard Edition 4 GB of physical RAM*
Windows Server 2003, Enterprise Edition 32 GB of physical RAM
Windows Server 2003, Datacenter Edition 64 GB of physical RAM
Windows Server 2003 SP1, Enterprise Edition 64 GB of physical RAM
Windows Server 2003 SP1, Datacenter Edition

Reference : tipandtrick.net

Comments