Intel introduced the 36-bit physical addressing mode called PAE (Physical Address Extension, read Wikipedia reference or MSDN reference) since Intel Pentium Pro processor to allow 32-bit operating systems to use more than 4 GB of physical memory. However, even with x86 or x86-x64 PAE supported CPU processor, in most Windows system, PAE is disabled by default, and user has to manually turn on the PAE support in operating system in order to recognize and use more than 4 GB of physical RAM memory, with the exception of Windows Vista.
A lot of technical support and troubleshooting sites for Windows Vista publishes a tweak or tip that asking user to manually enable PAE support in 32-bit Windows Vista with the following command to use more than 4GB of memory.
BCDEdit /set PAE forceenable
According to MSDN Library article, “on a computer that supports hardware-enabled Data Execution Prevention (DEP) and is running a 32-bit version of the Windows operating system that supports DEP, PAE is automatically enabled when DEP is enabled (Data Execution Protection, DEP is enabled by default in Windows Vista) and, on all 32-bit versions of the Windows operating system, except Windows Server 2003 with SP1, PAE is disabled when you disable DEP. To enable PAE when DEP is disabled, you must enable PAE explicitly, by using /set nx AlwaysOff and /set pae ForceEnable.”
Thus, PAE mode is always enabled by default in Windows Vista as it’s required for hardware-based DEP / NX. And 32-bit client versions of Windows Vista (and also Windows XP) will never support more than a 4GB address spaces, even with PAE enabled, according to another MSDN Library article. Thus, 4 GB physical RAM memory limit on 32-bit Windows Vista is an artificial software based lock placed by Windows Vista operating system to limit the availability of the portion of memory larger than 4 gigabytes in a system with motherboard that support more than 4GB worth of physical address space.
Thus, many users disappointed and baffled that even though after ‘enabling’ PAE support in 32-bit (x86) Windows Vista (which in actuality is not necessary), they still cannot see full 4GB or more (most system showing only around 3.5 or 3.25 GB of memory due to some memory address space been mapped to use as reserve for system peripherals) of physical memory or RAM modules installed, although Windows Vista SP1 can correctly display the amount of installed memory (not memory available to use) up to 4GB in size.
Currently, the only known method to enable support for physical memory bigger than 4GB in size in Windows Vista 32-bit version is using the hack to replace the limitation files with copy from 32-bit Windows Server 2008, which supports and can see more than 4 GB memory. However, user using the hack has to deal with some consequences especially product activation issue, unless you have license or genuine product key for Windows Server 2008.