Posted on March 26, 2014 · Posted in Windows 8

Access to more than 4GB of RAM on 32bit Windows 8 (x86)

In this article we will explore how to override 4Gb memory limitation on 32-bit Windows 8 (and Windows 8.1) and activate all available RAM on PC.

Most of Windows users are believe that Microsoft 32-bit operating systems do not support more than 4Gb of memory. So maximum available memory in Windows 8\ 8.1 is 4 Gb.  Keep in mind that Windows reserves part of the memory for its own needs and needs of peripheral devices ( most often for video card). The end user usually gets about 3-3.5 Gb of memory.

At the first sight it`s quite logical – addressing limit for 32 bit address bus is the same 4 Gb. In all official documents Microsoft points out this maximum memory size supported in all client versions x86 systems. But actually Microsoft misinforms everybody a little bit.

What PAE is and why do we need it

PAE (Physical Address Extension) – is x86 processor option which allows it to get access to more than 4 Gb of physical memory. We won’t deep into technical specifications of PAE technology we will just say that this technology is supported by all CPU and by Windows OS in particular for a long time.

So for example 32 bit Windows Server version running on x86 processor can use PAE for access to all system memory (up to 64 Gb or up to 128 Gb, depending on processor generation)

More over support of PAE mode in Windows kernel is available starting from Windows XP. However PAE is available by default only in server versions of OS. In client Windows OS there is such a mode but it is disabled by default.

Note: PAE can be used only for 32 -bit Windows versions running on x86 processors which are compatible with this mode.

PAE limitation

  1. PAE doesn’t extend virtual addressing space of every process. Every process running on 32 bit system is limited by the same 4 Gb of addressing space. 

    Tip. PAE can’t extend memory which is available for a resource-intensive application (for example graphic or video editor). If there is such a necessity it`s better to use 64-bit Windows OS.

  2. Note that in case of PAE usage a little decrease of system productivity is possible due to memory access speed decrease which is connected with overhead caused by  switching of the pages in memory.
  3. Drivers of some devices can’t work correctly in 36-bit addressing space.

So a conclusion can be made that the upper limit of available physical memory in 32-bit Windows versions is limited by program at OS kernel level. And if there is program limit it means that it is overcomable! Let’s talk how to enable PAE mode on 32-bit Windows 8.1 and to activate all available RAM for using.
more than 4 gb of memory on windows 8 (x86)

Patch for enable PAE, which allows to activate all memory on Windows 8.1 x86

It is impossible to enable PAE mode in Windows 8.1 (Windows 8) by using in-built tools (to do this you should edit htoskrnl.exe file in HEX editor and re-sign it). It`s better to use a ready -made PatchPae2 patch which is written by Wen Jia Liu enthusiast. You can download patch here (in this archive you can find PatchPae2.exe itself and its source code with necessary instructions).

The patch is presented by small command line utility which allows kernel files of 32 bit windows version modifying for the purpose of PAE mode activation and allows to use  more than 4 Gb of memory (up to 128 Gb)

PatchPae2 is compatible with the following OS:

  • Windows Vista SP2
  • Windows 7 / Windows 7 SP1
  • Windows 8 / Windows 8.1

Note: Before necessary patch installation to avoid possible conflicts it is recommended to disable optimizers and operative memory drivers. They can be activated after patch applying and system loading in PAE mode.

PAE patch installation in Windows 8 \ 8.1

Attention: This instruction can only be used for 32 bits (x86) Windows 8 and Windows 8.1 versions. For all previous Microsoft OS versions this process is a little bit different! Be attentive!

  1. Unpack the archive and copy  PatchPae2.exe in %Windir%\system32 folder (it is usually allocated on C:\ drive)
  2. Run the command line with administrator privilege.
  3. Create modified Windows 8 kernel copy, supports memory up to 128 GB:
    PatchPae2.exe -type kernel -o ntoskrnx.exe ntoskrnl.exe
  4. Create new modified bootloader which allows to disable kernel digital signature verification during boot:
    PatchPae2.exe -type loader -o winloadp.exe winload.exe

    Note: In case of every previous command successful completion message “Patched” should appear.

  5. Then we should create Windows 8 / 8.1 boot mode with a new modified kernel by adding it into boot menu.

    Tip. At this stage  you can create reserve copy of BCD configuration just in case.

  6. Create new boot option by copying current configuration and make a comment “Windows (PAE Patched)” (or any other comment):
    bcdedit /copy {current} /d "Windows (PAE Patched)"

bcdedit: copy boot entry

  1. Then it is necessary to copy received unique {boot ID} – {054309ef-97b4-11d3-aef9-955524eb4043} (in your case it will differ) and perform the following commands correspondingly (it is necessary to use the identifier that you will receive as a boot ID):Choose loaded kernel:
    bcdedit /set {boot_ID} kernel ntoskrnx.exe

    Set a new loader:

    bcdedit /set {boot_ID} path \Windows\system32\winloadp.exe

    Cancel bootloader signature validation

    bcdedit /set {boot_ID} nointegritychecks 1

    Use modified kernel as a boot option by default

    bcdedit /set {bootmgr} default {boot_ID}

    Set load timeout (boot menu display time), for example 10 seconds.

    bcdedit /set {bootmgr} timeout 10

    Tip. The last two commands are performed optionally.

    windows 8.1 PAE mode

  2. Lastly just reboot your PC and if you have done everything correctly such screen will appear. Choose Windows (PAE Patched) and after that Windows 8.1 x86 should load in the mode which supports more than 4 Gb of operative memory.

Note. User can switch from PAE to standard mode and vice-versa by reboot PC at any time.

Important! It is necessary to be especially attentive during Windows security updates installation after patch installation. Because some Windows updates also contain updates for the kernel and after their installation it is necessary to update PAE kernel too:

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

PAE patch removal

To delete PAE patch from the system it is necessary:

  1. Delete corresponding record from boot menu (the easiest way to do so is to use msconfig)
  2. Delete ntoskrnx.exe and winloadp.exe in  %Windir%\System32 folder.

Patch doesn’t make any other system changes.

Related Articles