Enabling PAE on 32-bit Windows Vista

This is archived from:

http://www.thegeeksweek.com/blog/enabling-pae-on-32-bit-windows-vista.html

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.

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

Enable Hibernate Option in Windows Vista

I had this problem, and couldn’t fix it, so heres how you do it.

Archived from:

http://www.howtogeek.com/howto/windows-vista/re-enable-hibernate-option-in-windows-vista/

If you’ve found that your Hibernate option is missing from Windows Vista, it might be from running the disk cleanup wizard and removing the hibernate files. This is due to a known bug in Vista that might not have been hotfixed already.

Turning it back on is very simple, however.

Type cmd into the start menu search box, and use Ctrl+Shift+Enter to open in administrator mode. You can also right-click the item in the menu and choose Run as Administrator.

image

From the command prompt, type in the following command:

powercfg /hibernate on

image
You’ll have to restart your computer before it will take effect.

Another method, is to do the same thing, but type

powercfg -h on

Instead of

powercfg /hibernate on

How to Enable More Than 3.5 GB of Memory in 32-Bit Windows Vista

This is archived from:

http://www.vistarewired.com/2007/03/29/how-to-enable-more-than-35-gb-of-memory-in-32-bit-windows-vista

In case the link goes down :P


Disclaimer: Some have said this works, while some have said it doesn’t. This tutorial does not guarantee successful results.

You’re probably wondering why I picked a number as horrible as 3.5GB? Why not 4GB? Well, there’s a really technical explanation for this but to make a long explanation short, 32-bit operating systems can only handle up to 4GB of memory. In fact, this number may vary but I stuck with 3.5 GB. Along with the RAM, you also have other memory-mapped devices such as your video cards. The memory used counts towards the 4GB virtual memory address capacity of a 32-bit operating system. But actually, the world does not end at 4,096 megabytes for 32-bit Windows Vista users anymore because the Arsgeek is here to save the day.

If you’ve accidentally bought 4GB of RAM, this may be a good idea. And I say may because many 32-bit operating systems begin to lose efficiency as they surpass the 4GB mark. For that reason, if you have less than 3GB RAM, it’s not necessarily the best idea to go out and buy some more RAM. If you want to utilize more RAM (between 8GB and 128GB), you can always switch to 64-bit Windows Vista. Alright, enough babbling. Let’s get started.

Steps:

1) Access cmd: Click on the Start Pearl > type cmd in the Search Bar > and press Ctrl + Shift + Enter (this allows you to run cmd in administrative mode)

2) Type BCDEdit /set PAE forceenable

“BCDEdit is a boot configuration editor for the command line. Using the above command you’ve just enabled Physical Address Extension (PAE) which can address memory larger than 4 GB. ” – Arsgeek

Source: Arsgeek