How To: Enabling PAE on 32-bit Windows Vista PDF Print E-mail
Monday, 27 August 2007

On 32-bit Windows Vista computers with 4Gb of memory installed you may enable the PAE boot switch to allow the operating system to see the maximum amount of memory. The BOOT.INI file no longer exists in Windows Vista, to configure boot options you must use the “BCDEdit” boot configuration editor, in Administrator mode obviously, that is included in Windows Vista.

To Enable PAE Boot Option

  1. Start the command prompt by typing “CMD” in the Start menu’s Search space, hold CRTL+Shift+Enter and this will launch the command windows in Administrative mode.
  2. At the command prompt type
    BCDEdit /set PAE forceenable

Your machine must meet the requirements specified in http://support.microsoft.com/kb/929605

DEP and PAE Boot Parameters
On Windows Vista, DEP and PAE are enabled at boot time and are configured by setting values for the nx and pae parameters using the BCDEdit /set command. These boot parameters have conflicting effects. To configure DEP and PAE, use only the parameter combinations that are recommended. Do not experiment with conflicting parameters, especially on a production system.

The Interaction of DEP and PAE Boot Parameters

There are two types of DEP:
  • Hardware-enforced DEP enables DEP for both kernel-mode and user-mode processes. It must be supported by the processor and the operating system.
  • Software-enforced DEP enables DEP only on user-mode processes. It must be supported by the operating system.

DEP is supported by Windows XP with SP2, Windows Server 2003 with SP1, and Windows Vista, and Windows Server 2008. On 32-bit versions of Windows, hardware-enforced DEP requires PAE, which is supported by all Windows operating systems that support DEP. When DEP is enabled on a computer with a processor that supports hardware-enforced DEP, Windows automatically enables PAE and ignores the boot parameter values that disable it.

BCDEdit /set Command List (from www.microsoft.com)

The /set command sets a boot entry option value in the boot configuration data store. Use this command to configure specific boot entry elements, such as kernel debugger settings, data execution protection (DEP) and processor address extension (PAE) options, and to load alternate hardware abstraction layer (HAL) and kernel files.
bcdedit  /set [{ID}] datatype value

Parameters

{ID}
The {ID} is the GUID that is associated with the boot entry. If you do not specify an {ID}, the command modifies the current operating system boot entry. If a boot entry is specified, the GUID associated with the boot entry must be enclosed in braces { }. To view the GUID identifiers for all of the active boot entries, use the bcdedit /enum command.

Datatype Value

bootlog [ yes | no] 
Enables the system initialization log.
hal file 
Directs the operating system loader to load an alternate HAL file. The specified file must be located in the %SystemRoot%\system32 directory, and its file name must conform to 8.3−character format.
increaseuserva Megabytes 
Specifies the amount of memory, in megabytes, for user-mode virtual address space. This variable can have any value between 2048 (2 GB) and 3072 (3 GB) megabytes in decimal notation. Windows uses the remaining address space (4 GB minus the specified amount) as its kernel-mode address space.
kernel file 
Directs the operating system loader to load an alternate kernel. The specified file must be located in the %SystemRoot%\system32 directory, and its file name must conform to 8.3−character format.
nolowmem [ on | off ] 
Controls the use of low memory. When nolowmem on is specified, this option loads the operating system, device drivers, and all applications into addresses above the 4 GB boundary, and directs Windows to allocate all memory pools at addresses above the 4 GB boundary.
nx [Optin |OptOut | AlwaysOn |AlwaysOff] 

Enables, disables, and configures Data Execution Prevention (DEP), a set of hardware and software technologies designed to prevent harmful code from running in protected memory locations.

  • Optin Enables DEP only for operating system components, including the Windows kernel and drivers. Administrators can enable DEP on selected executable files by using the Application Compatibility Toolkit (ACT).
  • Optout Enables DEP for the operating system and all processes, including the Windows kernel and drivers. However, administrators can disable DEP on selected executable files by using System in Control Panel.
  • AlwaysOn Enables DEP for the operating system and all processes, including the Windows kernel and drivers. All attempts to disable DEP are ignored.
  • AlwaysOff Disables DEP. Attempts to enable DEP selectively are ignored. On Windows Vista, this parameter also disables Physical Address Extension (PAE). This parameter does not disable PAE on Windows Server 2008.
onecpu [ on | off ] 
Forces only the boot CPU to be used in a computer that has more than one logical processor. For example, the following command configures the current operating system loader to use one processor. bcdedit /set onecpu on
pae [ Default | ForceEnable | ForceDisable ] 
The pae parameter is valid only on boot entries for 32-bit versions of Windows that run on computers with x86-based and x64-based processors. On 32-bit versions of Windows, PAE is disabled by default. However, Windows automatically enables PAE when the computer is configured for hot-add memory devices in memory ranges beyond the 4 GB region, as defined by the Static Resource Affinity Table (SRAT). Hot-add memory supports memory devices that you can add without rebooting or turning off the computer. In this case, because PAE must be enabled when the system starts, it is enabled automatically so that the system can immediately address extended memory that is added between restarts. Hot-add memory is supported only on Windows Server 2008, Enterprise Edition, Windows Server 2003, Enterprise Edition and Windows Server 2003, Datacenter Edition, and only on computers with an ACPI BIOS, an x86-based processor, and specialized hardware. 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 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. PAE is required to support Cache Coherent Non-Uniform Memory Architecture (known as ccNUMA or NUMA) on computers with x86 processors, although Windows can run in non-NUMA mode on NUMA-capable computers without PAE. Even when it is required, PAE is not enabled automatically. NUMA is supported in all editions of Windows XP and Windows Vista, and in the Enterprise and Datacenter editions of Windows Server 2003.
quietboot [ on | off ] 
Controls the display of a high-resolution bitmap in place of the Windows boot screen display and animation. In operating systems prior to Windows Vista, the /noguiboot serves a similar function.
removememory Megabytes 
Removes memory from the total available memory that the operating system can use.
sos [ on | off ] 
Controls the display of the names of the drivers as they load during the boot process. Use sos on to display the names. Use sos off to suppress the display.
truncatememory address 
Limits the amount of physical memory available to Windows. When you use this option, Windows ignores all memory at or above the specified physical address. Specify the address in bytes.
usefirmwarepcisettings [ yes | no ] 
Enables or disables the use of BIOS-configured peripheral component interconnect (PCI) resources.
vga [ on | off ] 

Forces the use of the VGA display driver.


Discuss (1 posts)
admin
How To: Enabling PAE on 32-bit Windows Vista
Aug 29 2007 02:59:12
** This thread discusses the Content article: How To: Enabling PAE on 32-bit Windows Vista **

For a really detailed explaination why the 4Gb memory hole exists on a 32-bit system (any 32-bit system) have a look at this article http://www.codinghorror.com/blog/archives/000811.html
#13


Discuss...

Marcus Walshe
About the author:
This is a test entry, full details following shortly.
Last Updated ( Tuesday, 06 November 2007 )
 
< Prev   Next >

Who's Online