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

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.

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.

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.

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!

Unpack the archive and copy PatchPae2.exe in %Windir%\system32 folder (it is usually allocated on C:\ drive)

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

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.

Create new boot option by copying current configuration and make a comment “Windows (PAE Patched)” (or any other comment):

1

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

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

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:

1

bcdedit /set {boot_ID} kernel ntoskrnx.exe

bcdedit /set {boot_ID} kernel ntoskrnx.exe

Set a new loader:

1

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

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

Cancel bootloader signature validation

1

bcdedit /set {boot_ID} nointegritychecks 1

bcdedit /set {boot_ID} nointegritychecks 1

Use modified kernel as a boot option by default

1

bcdedit /set {bootmgr}default{boot_ID}

bcdedit /set {bootmgr} default {boot_ID}

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

1

bcdedit /set {bootmgr} timeout 10

bcdedit /set {bootmgr} timeout 10

Tip. The last two commands are performed optionally.

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:

1

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

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

PAE patch removal

To delete PAE patch from the system it is necessary:

Delete corresponding record from boot menu (the easiest way to do so is to use msconfig)

[…] 32bit can be PAE applied to address full 4GB RAM to avoid hassles & possible limitations. Access to more than 4GB of RAM on 32bit Windows 8 (x86) | Windows OS Hub 32bit Windows will be beneficial for machines stricken by max installable 2GB RAM limit, as it […]

Reply

Lucky8January 12, 2015 - 11:21 am

So, it allows system to display all available RAM. Programs still can’t use more than 4GB. Obviously this won’t happen. We are on a 32bits OS so any written program could ask for more than 4GB of RAM

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.

Obviously this won’t happen. We are on a 32bits OS so any written program could ask for more than 4GB of RAM. Also this could lead to a pagination file issue and a warning “memory can not be written” So what is the real advantage we can take from this patch? Seriously, tell me if I’m missing something