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.
[accordion]
[tab title=”Contents of this article”]
[/tab]
[/accordion]
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
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)
- Run the command line with administrator privilege.
- Create modified Windows 8 kernel copy, supports memory up to 128 GB:
1
PatchPae2.exe -type kernel -o ntoskrnx.exe ntoskrnl.exe
- Create new modified bootloader which allows to disable kernel digital signature verification during boot:
1
PatchPae2.exe -type loader -o winloadp.exe winload.exe
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)"
- 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
Set a new loader:
1
bcdedit /set {boot_ID} path \Windows\system32\winloadp.exe
Cancel bootloader signature validation
1
bcdedit /set {boot_ID} nointegritychecks 1
Use modified kernel as a boot option by default
1
bcdedit /set {bootmgr} default {boot_ID}
Set load timeout (boot menu display time), for example 10 seconds.
Tip. The last two commands are performed optionally.1
bcdedit /set {bootmgr} timeout 10
- 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.
1 | 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)
- Delete ntoskrnx.exe and winloadp.exe in %Windir%\System32 folder.
Patch doesn’t make any other system changes.