Samker's Computer Forum - SCforum.info

Software & Hardware Mix: => Windows / PC => Topic started by: devnullius on 12. April 2014., 17:30:17

Title: x86 Windows CAN HAVE more than 3GB RAM - really! Find patch here :)
Post by: devnullius on 12. April 2014., 17:30:17
FROM: https://www.raymond.cc/blog/make-windows-7-and-vista-32-bit-x86-support-more-than-4gb-memory/

Make Windows 7, 8 and Vista 32-bit (x86) Support More Than 4GB Memory

Updated by HAL9000 - 10 months ago - Windows

Quote
As you’ll know, there has been 2 versions of each Windows starting from XP which are 32-bit and 64-bit editions. Sometimes a Windows 32-bit is referred as x86 and 64-bit as x64. We won’t go into details on what are the differences between x86 and x64 are, but one of the major differences is a 64-bit Windows can support more than 4GB of RAM. If your computer has 4GB of RAM and you’re using a 32-bit Windows, you’ll notice that only about 3GB – 3.5GB is being recognized and the remaining memory is gone. Weirdly, Windows 2003 and 2008 can already address more than 4 GB of memory so why can’t we do that with Vista and newer operating systems?

The answer is: Microsoft doesn’t want that and it’s all just a licensing matter. Contrary to popular belief, there is no physical reason why a 32-bit Windows cannot access memory above 4GB, but it’s more a case of Microsoft opting not to allow it. Read the findings of software analyst Geoff Chappell to find out more.

Install Memory 3.5GB
We can of course go for a 64-bit version of Windows, but even today, there is still quite a lot of software which cannot run properly on x64, which can be inconvenient if you’re someone like us who installs and tests a lot of software. Not only that, Windows 64-bit doesn’t accept unsigned drivers unless you disable driver signature enforcement manually every time you boot. Quite frustrating… Well, here is good news for Windows 8, 7 and Vista users because we have some patches here to make your 32-bit Windows support more than 4GB of memory.

 
There have been a few 4GB patchers available, but unfortunately most of them haven’t been kept up to date. For example, the RamPatch tool over at unawave.de works quite well on Windows 7 RTM, but was never updated to reflect the changes to the kernel files in Service Pack 1. Also the program was removed from the website due to many false positives from antivirus software.

32bit RamPatch
We have tracked down the program and you can download and try it out on Windows 7 if you wish. Although some users have reported no issues running the patched kernel file from SP0 on an SP1 install, we suspect there may be stability or compatibility problems that will arise as a result of this at some point. Consider this program a useful tool to test with and perhaps not something to use permanently.

Luckily, there is a method which has been kept more up to date, and although it’s not quite as easy to implement as the RamPatch tool above, it’s still not that difficult. PatchPae2 is by Wen Jia Liu, also known as “wj32″ who is behind the excellent Process Hacker task manager software. This is a small command line tool that will patch the needed system files to enable 4GB and more of memory in Windows Vista SP2, Windows 7 RTM and SP1, and Windows 8 RTM 32-bit. Follow the steps below to enable a patched system, the core system files ARE NOT overwritten meaning you can revert back without too much fuss.

1. Download the PatchPae2 command line tool and extract the zip file to a folder of your choice. For our example, we’re extracting to the root of the C drive.
https://www.raymond.cc/blog/download/did/1850/
My mirror: https://app.box.com/s/hyy3wr9s9yel8hrvrb31

2. Open a Command prompt with Administrator privileges by pressing the Win key, typing cmd into the search box and then simultaneously pressing Ctrl+Shift+Enter. Then type the following:

cd C:\Windows\system32

3. Now, Windows Vista and 7 users type:

C:\PatchPae2.exe -type kernel -o ntkrnlpx.exe ntkrnlpa.exe

Windows 8 users type:

C:\PatchPae2.exe -type kernel -o ntoskrnx.exe ntoskrnl.exe

This makes a copy of and then patches the Windows kernel file to enable the extra memory of 4GB and above.

4. Type the following to make a copy of and disable signature verification in the Windows loader file:

C:\PatchPae2.exe -type loader -o winloadp.exe winload.exe

5. Enter this to create an entry in the Window boot menu, you can change the text in quotes to what you want:

bcdedit /copy {current} /d "Windows Vista/7/8 (Patched)"

patchpae2 bcdedit
This should give you a “successfully copied to…” message with a number of BCDID characters returned in brackets, make a note of them as you will need to enter them in the following commands.

6. Enter the following commands in turn, pressing enter after each. Replace BCD_ID with the ID you got from step 5:

bcdedit /set {BCD_ID} kernel ntkrnlpx.exe (for Win 8 use ntoskrnx.exe)

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

bcdedit /set {BCD_ID} nointegritychecks 1

Now reboot your computer and you should get a new entry on the Windows Boot Manager to run the patched operating system.

Windows Boot Manager Patched menu
The good thing here is if you have problems, you can simply switch to the unpatched normal system by rebooting because the kernel files were copied and not overwritten. When you boot the patched system, a quick check should show that your amount of memory is now fully utilized. Do note that you still might not get access to all memory if some of it’s shared with the video adapter, e.g. 512MB onboard graphics.

task manager 6GB ram
As you can see from the image above, we now have a 32-bit Windows 7 showing there is 6GB of installed RAM available.

resource monitor 6GB ram
This next image shows that Windows Resource Monitor confirms there is 6GB of memory installed and ready to be used, with over 5GB still available for use.

If you want to uninstall this patch again from your system, simply boot into the unpatched Windows, press the Win key, type msconfig and press enter. Then select the boot tab and highlight the patched boot entry, click Delete. This screen can also be used for reducing the timeout and selecting the patched install as the default o/s to boot into if you plan on keeping it permanently.

delete boot menu
Also optionally go into C:\Windows\System32 and delete the ntkrnlpx.exe and winloadp.exe files. If after a Windows update you find the patch no longer works, re-run the command from step 3 to patch the kernel file again.

I have nothing to add - this article explains it all.

I have one last tip!

FROM: http://scforum.info/index.php?topic=7964.0http://www.softpedia.com/progDownload/EasyBCD-Download-45820.html
Leads to: http://www.softpedia.com/progDownload/EasyBCD-Download-45820.html (EasyBCD Community Edition)

Use this tool once you are done in the command prompt IF your default boot option is not set correct.

ONE LAST REMARK: on my ASUS NVIDIA 9800GT it lead to all kinds of nv* blue screens. Also IRQL BSODs etc. This is caused by the Nvidia chipset. Luckily, this is one of my few friends that does not know "budget", so I bought a Radeon R7 260X and all is working like a charm... Added 2x4GB with the already installed 2x2GB and transfered the HDD to an SSD (Samsung 840 PRO).

Life is good again :) Started at the bottom (XP), upgraded to the top (Windows 7 Ultimate x86 with 12GB RAM :>)

(http://i.imgur.com/CZ1gGci.png)

Now my friend should be able to foto-edit once more ;)

Devvie
Title: Re: x86 Windows CAN HAVE more than 3GB RAM - really! Find patch here :)
Post by: Samker on 13. April 2014., 08:21:31
Good to know... once more! :up:

Thanks D.
Title: Re: x86 Windows CAN HAVE more than 3GB RAM - really! Find patch here :)
Post by: devnullius on 13. April 2014., 09:00:10
Good to know... once more! :up:

Thanks D.

:) I know it seems like an oldie - but getting the latest, still working version turned out to be a pita half a year ago. This time, my Google was more lucky :)