It's no surprise that many users want to upgrade Windows 7 32 bit to 64 bit. The benefits of using a 64-bit operating system are most apparent in performance when you have a large amount of random access memory (RAM) installed on your computer, typically 4 GB of RAM, up to 16 TB. However, the maximum RAM limit for Windows 7 32-bit is 4GB. Windows 10 I think that it’s important to note that a larger percentage of IT departments around the world are switching to Linux RHEL and SUSE for their enterprise needs, and have foregone upgrading to windows 10 altogether.
I have this old Win7 32-bit laptop with 4 GB of RAM, but it was only able to use about 2.9 GB, the rest was 'reserved for hardware'. Recently I came across an interesting article by Raymond.CC 'Make Windows 7, 8 and Vista 32-bit (x86) Support More Than 4GB Memory' and PatchPae2 by Wen Jia Liu aka wj32, which should enable PAE up to 128 GB for all current 32-bit Windows versions.
However, the patch of my current Windows 7 SP1 winload.exe
version 6.1.7601.23569 failed, so I fixed it.
The result: PatchPae2.exe
Source and install instructions
I looked into wj32's code and disassembled my winload.exe
. Apparently it has changed in revision 23569. The original patch was for ImgpLoadPEImage
, but I decided it would be more robust to patch the end of ImgpValidateImageHash
. The offsets may change, but it is probably easier to maintain, as the error code C0000428h
should stay constant.
I took inspiration and revision check from Elbandi. The source and executable are on github. I built it with Visual Studio 2017 Community Edition along with the great Process Hacker.
My laptop is 8 years old HP 6730b, very solid, supports x64 and PAE (Physical Address Extension), but will not run Windows 10 without ugly graphic driver issues. Still it has at least 2 years of future, until Microsoft ceases to support Windows 7. I do not feel like switching to 64 bits. PatchPae works like a charm, no issues so far, using current Intel HD drivers.
What Is 4gb Ram
You need to be aware, that the checksum verification of both loader and kernel is disabled when the patch is active. On the other hand, you can flexibly disable it per boot menu or remove it permanently from there with msconfig.exe
.
Windows 7 Starter 4gb Ram Patch 8.0
Update 18.02.2018As Satoshi64 pointed out, Microsoft updated winload.exe
to 6.1.7601.23992. I didn't realize that, my patched loader was loading the patched kernel without any problems. I updated them both, everything seems to work fine again. The patch was still ok, I just needed to open up the version check. I updated the code on the Github and PatchPae2.exe.
Meanwhile I found a way around the graphic glitches, got myself a new SSD and moved on to Windows 10 x64.