Pages

Tuesday, March 17, 2015

Override the 4GB memory barrier on 32-bit Windows 8.1 systems

Activating windows PAE mode to benefit the full potential of your 32-bit RAM memory.

Here are the steps:
  1. Download the PAE Windows kernel patch from Wen Jia Liu's personal webpage.
  2. Enter the Desktop tile from the Start screen and open the downloaded zip file.
  3. Extract PatchPae2.exe to your System32 folder. The default location is C:\Windows\System32.
  4. Right-click on the Windows Start Button and click "Command Prompt (Admin)"
  5. Execute the following commands in sequence:
cd %SYSTEMROOT%\System32

PatchPae2.exe -type kernel -o ntoskrnx.exe ntoskrnl.exe

PatchPae2.exe -type loader -o winloadp.exe winload.exe

bcdedit /copy {current} /d "Windows 8.1 (PAE Patched)"

 Windows generates a unique boot ID, referencing the PAE option.

At this juncture, you will see a message stating the entry was successfully copied. Write down the long string of letters and numbers surrounded by braces, representing the boot ID, since you will need to use it for the next few commands:

bcdedit /set {PASTE BOOT ID HERE} kernel ntoskrnx.exe

bcdedit /set {PASTE BOOT ID HERE} path \Windows\System32\winloadp.exe

bcdedit /set {PASTE BOOT ID HERE} nointegritychecks 1

bcdedit /set {bootmgr} default {PASTE BOOT ID HERE}

bcdedit /set {bootmgr} timeout 5
 
Once all the commands are processed, you will need to reboot your system for changes to take effect. When you reboot, you will be presented with a Windows boot manager screen. The time out is set to five seconds, but you can change this if you wish using the following command, replacing the X with the desired number of seconds for the timeout, a 0 to boot immediately to the default entry, or a -1 to make the timeout indefinite.

bcdedit /set {bootmgr} timeout X


When Microsoft pushes updates to Windows 8.1, it can sometimes include updates to the kernel itself. If this ever happens, simply run the following command to refresh the PAE kernel.
PatchPae2.exe -type kernel -o ntoskrnx.exe ntoskrnl.exe
And finally, if you wish to return Windows back to its former non-PAE enabled state, you may do so by performing the following tasks:
  1. Delete the boot entry for "Windows 8.1 (PAE Patched)" via msconfig.
  2. Delete the files ntoskrnx.exe and winloadp.exe from System32.

 Ahh! Much better!

Caveats

With all this in mind, it's important to note that certain hardware drivers might not work correctly in PAE mode. Intel HD series graphics starting at around Sandy Bridge will experience video buffer corruption issues, since the drivers written for 32-bit Windows 8.1 do not take the extended memory addressing that is present in PAE mode into account. The only known workaround at this time is to force install the Windows XP 32-bit version of the Intel HD display driver.

Bottom line

Depending on your needs, this workaround works rather well for the most part, with the only major drawbacks being an uglier desktop with no Aero Glass transparency in the user interface. The reason for this is the fact that the driver is not written to follow the latest WDDM framework. Another major sticking point is that switchable GPU graphics like Nvidia Optimus are rendered useless when the host integrated GPU isn't running the correct drivers. This could very well be a make it or break it situation, especially if you have a work laptop that works in graphics heavy applications like AutoCAD. Dedicated, non-switchable graphics solutions from vendors like Nvidia and AMD are unaffected by the PAE limitation.
All that said, this PAE guide may still serve as a blessing for anyone clinging to legacy software, but might want to make the best use of all their system memory at the same time. Although 32-bit native Windows might not be around forever, there's still some life left in the flagging platform and you won't have to jump ship to 64-bit for the foreseeable future.