Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

Windows Server 2003 (32-bit x86) may not detect more than 4 GB of installed RAM


View products that this article applies to.

Symptoms

A computer that is running a 32-bit version of Windows Server 2003 may not detect more than 4 gigabytes (GB) of installed RAM.

↑ Back to the top


Cause

This problem occurs when the Physical Address Extension (PAE) kernel is not loaded. By default, the PAE kernel should be loaded on a computer that is running Windows Server 2003 Service Pack 1 (SP1) or a later version of Windows. If for some reason PAE kernel is not loaded, the RAM beyond the 4-gigabyte (GB) address cannot be accessed.

For example, assume that the No Execute (NX) feature or the Execute Disable Bit (XD) feature is disabled in the system BIOS, and that the /pae parameter is not set in the Boot.ini file. In this scenario, the issue occurs, and the non-PAE kernel may be load.

↑ Back to the top


Resolution

To force the PAE kernel to load, specify the /pae parameter explicitly in the Boot.ini file, or enable the NX feature or the XD feature in the system BIOS.

↑ Back to the top


More information

Windows Server 2003 uses one of the following features:
  • The no-execute page-protection (NX) processor feature as defined by AMD.
  • The Execute Disable Bit (XD) feature as defined by Intel.
The NX feature and the XD feature of the processor makes the bootstrap loader for Windows (NTLDR) load the PAE kernel (Ntkrnlpa.exe) in order to enable hardware enforced Data Execution Prevention (DEP) or NX/XD.

The NX/XD bit is implemented on the bit 63 of the page table entry (PTE). When the default x86-based non-PAE kernel is loaded, the width of a PTE is 32 bits. This kernel cannot implement NX/XD because the bit 63 does not exist. However, the PTE size is 64 bits on the PAE kernel. Therefore, only the PAE kernel can enable the hardware enforced DEP.

The following Windows Management Instrumentation Command-line (WMIC) command can be used to determine whether the hardware enforced DEP is enabled:
wmic OS Get DataExecutionPrevention_Available
If the output is True, the hardware enforced DEP is enabled. If the output is False, the hardware enforced DEP is disabled.

↑ Back to the top


References

For more information about the Data Execution Prevention (DEP) feature in Windows Server 2003, click the following article number to view the article in the Microsoft Knowledge Base:
875352 A detailed description of the Data Execution Prevention (DEP) feature in Windows XP Service Pack 2, Windows XP Tablet PC Edition 2005, and Windows Server 2003
For more information about how to determine whether hardware DEP is available and configured on the computer, click the following article number to view the article in the Microsoft Knowledge Base:
912923 How to determine that hardware DEP is available and configured on your computer
For more information, see the following document on the Advanced Micro Devices (AMD) Web site: For more information about Execute Disable Bit functionality from Intel, visit the following Intel Web site: For more information about Data Execution Prevention (DEP), visit the following Microsoft Web sites: Microsoft provides third-party contact information to help you find technical support. This contact information may change without notice. Microsoft does not guarantee the accuracy of this third-party contact information.

↑ Back to the top


Keywords: KB981476, kbprb, kbsurveynew, kbexpertiseinter, kbtshoot

↑ Back to the top

Article Info
Article ID : 981476
Revision : 1
Created on : 3/26/2010
Published on : 3/26/2010
Exists online : False
Views : 217