Featured Post, Tips and Tricks

How To Enable More Than 4GB Memory in Windows Vista and Windows 7

Windows-4-GB-More-RAM

This article is written for 32 bit operating systems. Unless explicitly mentioned, Windows 7 and Vista refers to the 32 bit edition of the respective Operating Systems.

Couple of months back, I had blogged about a peculiar Windows 7 issue which could cause a BSOD (Blue Screen of Death) if the system had 4GB (or more) RAM. I managed to find a fix for that issue. But, I had another minor niggle to figure out. Although I paid for 4GB of RAM, Windows refused to use more than 3GB. If you have 4GB or more RAM then you are probably familiar with the following screen.

Windows-7-Vista-3-GB-Usable

Computer Properties displayed installed memory as 4GB but at the same time stated that only 3 GB is usable. So, where did the remaining memory go?

As it turns out, chunks of your RAM are reserved for various purposes and are not available to the operating system. For example, PCI Express support will reserve 256-768 MB depending upon the graphics adapter. Due to this Windows always displays less than 4 GB RAM as the amount of usable memory. Depending upon your hardware, anywhere between 2.75 GB and 3.5 GB of RAM will be available to the OS.

But, what if you have more than 4 GB RAM? Even on a system with 32 GB RAM, 32 bit editions of Windows will display less than 4 GB of memory. This is a known limitation of the Windows Vista and 7 x86 editions.

Microsoft claims that it is not their fault and is instead a limitation of the 32 bit architecture. At first glance this seems correct. 32 bit processor using 32 bit registers should be only able to address up to 4 GB of RAM (232 = 4G). However, this is not actually true. The main reason being a feature called Physical Address Extension (PAE).

PAE makes it possible to address more than 4 GB of memory using 32 bit registers, since the registers aren’t used to store the physical address. Instead, the registers store linear addresses, which are mapped to physical addresses using the page table. This feature has been available since the days of Intel Pentium Pro. In x86 processors additional address lines are provided so that up to 64 GB can be addressed when using the PAE mode. If you want to learn more about Windows memory addressing, go through Geoff Chappell’s notes.

Windows Vista and 7 have two kernels – one which doesn’t use PAE and one which does. They are NTOSKRNL.EXE and NTKRNLPA.EXE respectively. Both of them reside within the Windows/System32 directory. Can you guess which one you are using? If you have a modern machine, then chances are that Data Execution Prevention (DEP) is enabled in your system and in that case you are already using the kernel with PAE enabled.

How to Enable More Than 4 GB Memory

Before getting started, keep in mind that this patch involves modifying the kernel. Do no proceed unless you are confident. Most security products will identify these patches as malicious since they modify the Windows kernel.

Download the appropriate patch for your system (links at the end of this post). I haven’t tried the Windows Vista patch, but I can confirm that the Windows 7 patch works. The Windows 7 patch is in Russian language. To begin patching click on the big button (refer to screenshot). After this a command prompt window should appear. Press Y.

On restarting the system, you should see two entries in the Windows Boot Menu – one being the older configuration and the other being the one with support for more than 4 GB RAM. If you don’t want to be prompted every time, press Win + R, type msconfig and hit Enter. Under the Boot tab, reduce the timeout value (to something like 3 sec). If you wish, you can simply get rid of the older configuration by deleting it. But I wouldn’t recommend this. If you get a water mark (Test Mode) on your desktop after restarting, type mcbuilder.exe in the Start Menu and press Enter.

Windows-Vista-4GB-RAM-Patch-
Windows Vista Patch
Windows-7-4GB-RAM-Patch-2
Windows 7 Patch: Step 1 (Click on the button)
Windows-7-4GB-RAM-Patch-1
Windows 7 Patch: Step 2 (Press Y)

This patch will allow the OS to use more than 4 GB of memory. However, it does have a limitation – more than 3 GB of memory cannot be allocated to a single application. This patch is mainly targeted at systems with more than 4 GB of RAM. However, in some cases installing this patch on 4 GB systems will also lead to an increase in available memory (which may not necessarily result in performance improvement). This may appear to be a bit strange since Windows 7 and Vista are technically capable of addressing up to 4 GB of memory. Obviously, there is a logical explanation for this behavior. But, I won’t discuss it here. Refer to Geoff Chappell’s notes on Physical Memory Map if you wish to explore the issue in detail.

Warning: The patches described in this article are kernel patches. They may result in unexpected hardware issues and expose your system to malicious exploits.

Download Links:
4GB Memory Patch for Vista 32 bit (SP1 and SP2)
4GB Memory Patch for Windows 7 32 bit

[Image Courtesey: Brajeshwar]

Tags: , , , ,

81 Responses to “How To Enable More Than 4GB Memory in Windows Vista and Windows 7”

  1. On June 28, 2011 at 6:51 am butisac responded with... #

    i forget to say, that i did stoped windows firewall and my antivirus, please help

  2. On August 7, 2011 at 8:00 pm hg2051 responded with... #

    I ran the software.When prompted to choose the operating system, I chose “vista…(>128 gb)”.
    But it didn’t start, because of a missing “PSHED.dll”.
    I tried to repair the startup with the original DVD-same problem;
    I tried, from the prompt, “bootrec.exe /fixmbr”
    Upon a new attempt to start, I was stopped by an error at the kernel (ntkrnl…);
    So I turned back at the original OS (fortunately, not damged).
    Could you give me an explanation and a solution?
    Thanks.

  3. On November 6, 2011 at 4:37 am Ozzyosborne680 responded with... #

    LOL Work fine and only took 2 mins to set up (just waiting to find that someone has hijacked my computer now lol)

    thanks for the info (as long as no one finds my card details that is ) :)

  4. On November 28, 2011 at 10:59 pm 33ovi responded with... #

    thanks a milion man it show 5 gb from 5 gb installed~!!!!!

  5. On November 29, 2011 at 8:26 pm 33ovi responded with... #

    damn whater mark did not disapear (i tried mcbuilder.exe)

    • On December 30, 2011 at 8:00 am W1n5t0n responded with... #

      The solution is to open CMD, as an administator, type in “mcbuilder.exe” hit enter, and reboot. It worked for me after that! Hope this helps you out.

  6. On January 21, 2012 at 3:28 am Alper responded with... #

    hi. i cant patch kernel. its error messages

    “can not access the file.maybe it’s in use…

    please close the file before patching! try to access the file again now?”

    help me please..

Trackbacks/Pingbacks

  1. Windows 7 a 32 bit e gli irraggiungibili 4Gb di memoria « Arsenio punto Net - January 5, 2010

    [...] A questo punto mi son chiesto se qualche hacker non avesse trovato il modo di patchare il kernel ed infatti interrogando google con le parole "windows patch 4Gb" ho trovato quel che cercavo (Windows 7 RTM 7600 4Gb patch, che potete scaricare dai link in fondo alla pagina da cui ho preso spunto). [...]

  2. Oltre 3 gb di ram con Win 7 32 bit, fino a 128 gb | Forum -X- NextHardware - August 24, 2010

    [...] [...]

  3. Membuka Fiture RAM 4 GB di Windows XP – hoax ??? « c1p1 - December 2, 2010

    [...] pdf 1 – pdf 2 -  alt1 [...]

  4. free song downloads for ipod - November 8, 2011

    Cool sites……

    [...]we came across a cool site that you might enjoy. Take a look if you want[...]…

  5. 50th Birthday Invitations - December 7, 2011

    Sites we Like…

    [...] Every once in a while we choose blogs that we read. Listed below are the latest sites that we choose [...]…

Add your response

More in Featured Post, Tips and Tricks (41 of 79 articles)