19 Aug

Thanks to Remko, he has provided us with a dUP2 file for the patch according to Geoff Chappell’s article about Vista’s Memory Limit. You’ll need to compile the dUP2 file with diablo2oo2’s Universal Patcher to get the executable file. If you don’t know how to do it, I’ve compiled the dUP2 file provided by Remko and you can download from this link. Remko confirms that the patch works on both Windows Vista x86 Service Pack 1 and Service Pack 2. You can either drop this file in Windows\System32\ folder and run it to patch the ntoskrnl.exe file or run it from anywhere and browse for the file.

As for Windows 7, you will need a different patcher and this time it’s from a Russian group called Staforce. Their group also came up with crack/activator for Windows 7. This patch works on Windows 7 (x86) Build 7600 RTM. The official link to download the 4GB memory limit patch is at this link but you’ll need to register for an account to see the download link. If you don’t want to register, I’ve uploaded the patcher here for your convenience. Other than patching Windows 7’s kernel to support more than 4GB memory, the installer also comes with a watermark remover. You can press the N key from your keyboard to disable the watermark remover.

To be honest, I did not get to test either of the patch above because both my desktop and laptop has only 2GB of memory. As for Windows XP to support more than 4GB of ram, I wasn’t able to find any patch for it. If you know any please leave a comment.
: Copying this article to your website is strictly NOT allowed. However, if you like this article, you can use the HTML code below to directly link to this article.
FIX Fatal error: Allowed memory size of 8388608 bytes exhausted ERROR Test your RAM with Microsoft Windows Memory Diagnostic Random Computer Problems – Mainboard Failing Memory Test for MacOS X Easily Reduce Memory Usage on All Running Processes in Windows How To Put Hiren’s BootCD on Flash Memory How To Easily Convert Files to PDF For FREE
Have computer technical problems? Get FREE help from Raymond.CC FORUM
72 Responses for "Make Windows 7 and Vista 32-bit (x86) Support More Than 4GB Memory"
I’ll try it
i already try
in my windows 7
dont know about vista
and yeah it totaly read 4GB
dun have more ram to test
see it here
[url=http://img197.imageshack.us/i/819200940704pm.png/][img=http://img197.imageshack.us/img197/3703/819200940704pm.th.png][/url]
[url=http://img197.imageshack.us/i/819200940735pm.png/][img=http://img197.imageshack.us/img197/4884/819200940735pm.th.png][/url]
thx raymond
It says the file can’t be accessed.
i already test it
with windows 7
here is the result
http://img197.imageshack.us/i/819200940704pm.png/
http://img197.imageshack.us/i/819200940735pm.png/
thx raymond
now i can upgrade my ram
without worry abot x32 and x64
two thumbs up to you and who develop this nice program!
the prob now
is i dont know how to remove the watermark
although it’ss just small at the low right corner of desktop
already press N but nothing happen
A Kernal hack/patch !!!
IMO that’s not a very safe proposition. A badly written hack could provide loopholes for malware and also break the system when say MS/Driver updates occur.
Just my 2 cents…
An easier solution from the author of TCP-Z
http://zh-deepxw.blogspot.com/2009/04/readyfor4gb.html
@Noah Yeah i get the same error file is already in use cant be accesed do u have to install it in safe mode ??Using a x86 vista 32 bit system..
Excuse me, but what is the maximum amount of memory that a x86 system can potentially recognize? I thought it was architecture design dependent.
issit save to use this as VijayIND said it might create loopholes for malware and all… any solutions or recommendations for this? what do u think raymond? issit save?
I guess you’d have to boot only essential files to use it. But I’m not going to risk it.
This is apparently using some sort of cheat through PAE and AWE.
And since it is architectual limitation of x86 where there are only 32bits for addressing. PAE is 36bits(app has to declare compatibility) and AWE is for specially made applications.(They have to use different WinAPI funcitons to access more and they have to do some things themselves as Windows memory management is doing only basics.)
I recommend to read Intel developer manual and Windows Internals, 5th edition to understand.
Raymond,I thought you would do better…
As for ammount of memory,either 2GB/2GB (user/kernel) or 3GB/1GB (PAE,/3gb) = total 4GB
Raymond,
Thanks for this one. I have windows 7 RTM. this patch work on x86 windows 7 enabling me to utilize full 4gb ram.
can it work with XP?
Hi Raymond, It will recognize the amount of RAM but will it use it?
If you install 4Gb, there is no way to make all of the RAM between 3Gb and 4Gb available without installing a 64-bit OS, which you can’t do unless you have a 64-bit CPU. And even then it won’t necessarily work.
So, to avoid hassles on current systems, it’s best to stick with 3Gb or less.
http://www.dansdata.com/askdan00015.htm
No offence but what Klimax has said is true. A 32 bit system can never support to address more than 4 GB of memory. And by memory I mean RAM as this is the memory with which the processor will directly talk. This is the limitation of the 32 bit architecture.
I don’t want to go into details but simply if you see a 8085 (a very primitive 8 bit processor) or 8086 a person will actually understand how addressing is done and base level and why it can’t be made to address more than 4GB for a 32 bit OS.
I don’t want to confuse with the way the timing overlap between cycles was designed for Neoburst architecture of P4, the most famous 32 bit processor.
If I speak as a layman, it depends both on the processor and the OS. Almost all now-a-days processors are 64 bit, but people still run 32 bit OS for sake of software, its dumb. Understand every OS most of all that are 64 bit will support 32 bit applications also. Run a 64 bit XP on a 64 bit processor and see how great the system will run, run counter strike and you will be amazed by its amazing flow.
Understand one thing when you pay money to buy a 64 bit processor and run 32 bit OS on it you are basically under utilizing your CPU, and not to say its dumb. But thats how the hardware vendor will make cash, make you buy a more powerful processor but still tell you to run crappy OS. Just try a 64 bit OS and see all the benefits, better processing, higher RAM capability of course, till 32 GB.
I am not aganist windows, but try a 64 bit ubuntu and you won’t leave it, its far better than windows.
@ Raymond…interesting…How can you prove/promote this to be workiing if you haven’t tested it on your own machines? x86 arcitecture limits the amount of RAM not licensing (so i believe). And even if the OS did report that all 4GB was being used, how can you really tell for sure that the OS is utilising all of it?
Yes, 64 bit Ubuntu is better than 64 bit Windows, because windows must have “signed” drivers. However, forcing 32 bit applications to run on it may be difficult for beginners. I would imagine that this patch will only SHOW that the RAM is there, but won’t really be able to use it.
So, my Ubuntu its not using 4gb ram here also, don’t think its license problem. Since I know its a limit from 32bit architeture.
Confirm, working, tested with 2 games running in parallel on my Win7 RTM 7600:D….
Nice… nice one… now beware of microsoft updates to crack this tweak.
I have 2 questions in mind. Windows 2003 x86 supports more than 3GB of memory? I also agree with VijayIND for his comment, this patch may only show the available system memory, but the usages of memory is completely up to the core kernel. And patching the kernel is not a kid’s job. So this patch might patch successfully and show the available memory, but you will never be able to use that IMHO.
RE Windows XP: If the boot options include “/PAE” WindowsXP will be able to pretend to address more than 4GB of RAM. SP2 and newer by default will try and run in PAE mode because it also allows the “no execute” mode which is some DEP security thing.
PAE as mentioned allows “36 bit” addressing, which allows for addressing more than 4GB of RAM on a 32 bit OS. The thing it’s kind of a patch, and I believe it deals with swapping pages in and out, kind of like the old DOS EMS system. The thing is, although Windows will recognize it, will it actually use that memory without specially written applications? Because as of yet, I only thought some database server software was written to take advantage of PAE.
Here’s an interesting semi-related experiment: you can get Windows XP(32) to use more than 4GB of address space with the swap file. Have say 2GB RAM and a 6GB swap file. Use a memory test program and have several programs allocate 2GB of RAM each. You can get up to a commit charge of 8GB and the system will still run.
Well, after few minutes win 7 restart itself…. no go… you enter in windows, do some task, windows restart…. i repair my win with the dvd in the tray..
I’m very concerned, indeed, about this article, and about the patch promoted therein.
In the first place, 500MB (or whatever, depending on the machine, is the amount of RAM between 3.?GB and 4.0GB which seems not available) is not “lost.” This is a common misconception. When Vista first came out, most machines — even ones with 64-bit-capable motherboards and processors — on which the 32-bit version was loaded showed, in the system area, only 3-point-something gigabytes of RAM available even if 4GB was physically installed; but that didn’t mean that all 4GB was not actually used. All 4GB was (and is, still) in fact used. Believe me.
Newer machines with 32-bit Vista on them — like, for example, the Dell notebook that I got for my wife just six months ago — have this problem fixed. Her copy of 32-bit Vista shows, in the system area, all 4GB available. My HP notebook, which was manufactured in 2007, on the other hand, shows only around 3.19GB available in the system area. But all 4GB are actually used.
No 32-bit operating system may use MORE than 4GB, however. And, potentially, the patch described in this article could be useful, I suppose…
…except that another poster, VijayIND, said it best when he wrote:
“A Kernal hack/patch!!! IMO that’s not a very safe proposition. A badly written hack could provide loopholes for malware and also break the system when say MS/Driver updates occur.”
Truer words have rarely been written. It is difficult to even IMAGINE a more risky — and ultimately, in my opinion, stupid — thing to do… and for even more reasons than VijayIND suggests.
The 64-bit versions of Windows are the only meaningful and safe way to utilize more than 4GB of RAM. Period.
Sadly, they’re not yet ready for prime time. Months ago… way more than a year, in fact… perhaps two years ago… I saw the first article which hailed 64-bit Vista as the only thing worth owning; and the only thing that anyone would see available for sale.
Now, however long later (months and months, in any case) 64-bit Vista is, indeed, the defacto standard that most PC makers are installing, by default, on their new machines…
…but a whole lot of software won’t run on them. And that’s, in my opinion, tragic… perhaps even criminal.
Until everything that will run in 32-bit Windows will also run in 64-bit Windows (either because the makers of the software write 64-bit versions (which, of course, is the ideal), or because a utility is implemented in 64-bit Windows which effectively and successfullyl emulates a 32-bit environment which kicks-in whenever a 32-bit app that doesn’t work well in 64-bit environment tries to run), then most common, everyday users should be sticking with 32-bit Windows.
The exception, obviously, would be if the primary use for the computer is something for which a 64-bis version of Windows is either required, or is at least optimal… such as, for example, just to name one, the Hauptwerks digital pipe organ software, which runs far better on 64-bit versions of Windows with tons of RAM.
However, unless something like that is being used, and unless there really is a compelling reason to use 64-bit Windows, the average, everyday user should stick with 32-bit. And, yes, of COURSE I know that 64-bit Windows is faster and sleeker and outperforms 32-bit Windows. However, there are, for the moment, just too many applications that won’t run in a 64-bit environment; and it’s just not right — tragic, perhaps even criminal, as I earlier said — for an unsuspecting end-user to be suckered into buying 64-bit Windows based on a barely-important-to-him/her higher level of performance, only to learn later, the hard way, that some piece of software near and dear to his/her heart, and which s/he has been using seemingly forever, will suddenly not be available to him/her.
If almost any other industry did that sort of thing to consumers, the FTC (in the US, at least) would be all over it. The only reason Microsoft has been able to get away with it is because it’s as big as a small country. Look how it thumbed its nose at the EU just a couple weeks ago by changing its mind at the last minute and going against its agreement to release an EU version of Windows 7 (which I think was court-ordered, too, no?).
The 32- versus 64-bit issues with Windows that Microsoft has foist upon the world are unconscionable. My personal recommendation, informed by 32-years in IT, regardless of Windows vesion, is to stick with 32-bit unless there’s a damned compelling reason to use 64-bit instead. And until everything that runs on 32-bit Windows will also run on 64-bit, that will CONTINUE to be my advice.
Just because something (in this case, I’m talking about 64-bit Windows) can do certain things a little better than something else (and in this case, I’m talking about 32-bit Windows), isn’t sufficient reason to just embrace it, all else be damned. Just because we CAN do a thing doesn’t always mean we SHOULD. All things must be considered and weighed… netted-out.
If the world had approached 64-bit Windows in that way; and had telegraphed its insistence on complete 64-bit version compatibility with all 32-bit applications by not buying 64-bit Windows until that was true, even the arrogant giant Microsoft would have done what needed to be done and ensured that no one would be blind-sided by 64-bit versions of Windows like is happening now.
What is the defect in the thinking of the various cultures around the globe who think that newer is automatically better? How did this happen? When did humanity stop using its brain?
[sigh]
Oh, well… at any rate, back to the point: All 32-bit OS’s have a 4GB RAM limit. Period. Wishing won’t change that; and neither should patches to the kernal.
Or so it is my opinion.
___________________________
Gregg L. DesElms
gregg@greggdeselms.com
Napa, California
use megaupload link, its working
Sry, raymond but i had to agreed to Kalyana and Klimax. Maybe raymond didn’t notice this before he post this article.
If people don’t know if there CPU (architecture) / OS supports 64/32 Bit or if they don’t know how much RAM (memory) they have then they can use this program:
http://rapidshare.com/files/269180844/BitS.exe
It’s a really small program I wrote to test all of the things you need to know
The program is ofc virus free:
http://www.virustotal.com/analisis/4c94316552a421ccb2266d42daceb457632f96e2e10946107d41acd6e6839201-1250700896
But if you have a crappy AV that thinks everything packed with UPX is viruses then UNPACK IT (UPX -d BitS.exe) and see! Now its “virus free”, but also also bigger:
Before (UPX): After: Ratio:
586531 -> 240931 41.08%
But im willing to send the source code to Raymond if you still don’t trust me!
Why do the graphics for this and all articles not show up in Google Reader? It’s quite annoying.
First off I don’t think it’s very “safe” secondly, how would you patch the file if you’re using it??? Without a second OS or dos enviroment to patch it?
Hey, guys, the patch isn’t compatible with the Kaspersky (and maybe some other too?). So you should try it on your own risk, if you use that.
And as for PAE, check these links:
http://msdn.microsoft.com/en-us/library/bb613473
http://msdn.microsoft.com/en-us/library/aa366778
http://en.wikipedia.org/wiki/Physical_Address_Extension
The only home system x86 that does support 4Gb RAM — Windows XP SP1, but I don’t recommend surfing the net with it ))) It’s very lousy.
Correct me if I’m wrong, but doesn’t this just make it recognize, not utilitize, more than 3.5GB RAM?
wait, how is this possible raymond as i thought it is an architechtural limitation on the 32bit system to address =>4gb.
I think what this software actually does is just to cheat the info by tapping memory allocations directly from the BIOS but still it doesn’t actually make your pc utilize => 4gb in a 32bit OS/software.
i have vista and i can’t patch the file. it says you can’t access to file because it being used. any solution Raymond.
What’s with the x64 hate?
:S
I trust the deepxw guy, I used his patch and now shows my full 8gb, no idea of it uses it but I like the sound of it, and I can reverse it if I like. His links are down on his website but you can get it here
http://www.2shared.com/file/6455549/37ec8802/ReadyFor4GB_20090422.html
Windows Vista w/SP2 shouws 4GB of ram without the use of any utility.
BUT Microsoft pointed out although it shows 4GB, windows cannot utilise it as the x86 OS or x86 architecture cannot address more than $GB of memory space (includes all devices connected to the machine e.g. PCI)
this patch really works but do it at your own risk. better that you back up your kernel and rename the patched kernel.
Here’s my proof
http://img29.imageshack.us/img29/5383/x864gbvista2.jpg
hey guys how did you pacth it, it says me this file is using by a program bla bla bla. i tried the unlock process but unlocker says only delete or rename, otherwise i cant patch it.
why should one go for x64 machine , i mean any pros over x32 …….
The original article of the patch,
http://www.geoffchappell.com/viewer.htm?doc=notes/windows/license/memory.htm
That 32-bit editions of Windows Vista are limited to 4GB is not because of any physical or technical constraint on 32-bit operating systems. The 32-bit editions of Windows Vista all contain code for using physical memory above 4GB. Microsoft just doesn’t license you to use that code.
Basically, x86 supports PAE with allows 36bit address and thus 64GB of ram. Even though PAE is enabled after XP SP2, there is a license check in the windows kernel that limits the usable ram to 4gb. What the patch does is to skip the check.
Guys it is unbelievable but it WORKS. I have a sony vaio ar71s with vista homem premium (too lazy to upgrade to ultimate now I will) with 4 GB of physical RAM installed. The task manager and msifno32 showd 3.0gb available memory and if you consider that nvidia uses another 1250 of physical ram the situation wasn’t so bright.
So I tried this patch and it DID NOT work. In fact when it rebooted, windows prompt me with a system recovery dialog which I choosed to ignore. Then I want on and read carefully Geoff Chappell page, followed his instructions and I created my ntkrn128g.exe. Now that I am posting this I have booted up the machine using this kernel, task maanger shows 4093 MB total RAM and msinfo32 4 GB ram available. I am going to test it for a while and if you want I can write down a batch file with Chappell ’s instructions.
I am running vista home premium sp2 so I had to search a little bit to find the proper addresses in ntkrnlpa,.exe to patch.
the same error as Devrim said … I can’t patch it and the result of course ( nothing patched ) … so what’s up Raymond ?
i tried in safe mod, but still same and cannot patched. any idea ?
maybe you all get a bit more understanding
what this patch make if you read this
http://www.geoffchappell.com/viewer.htm?doc=notes/windows/license/memory.htm
here is my screenshot
http://funkyimg.com/u2/394/840/windows_7_2.jpg
http://funkyimg.com/u2/462/104/windows_7.jpg
and FYI
this patch will make some of software unstable
like kaspersky and a software called FileUploader
it will make ur OS restart and restart and restart again
even if u already patch ur OS with this ReadyFor4GB
If u using RAM under 4GB ur system will be stable
without restarting even if u use kaspersky
but if use more than 4GB it will make some of the program unstable
like i said before
i test this only on Windows 7 , dont know about vista
im not saying this becoz of favour or what
but if u really want more than 4GB
just for for x64 OS
update
uninstall kaspersky
if u use it coz it make ur OS unstable
find another antivirus software
i use avira
OS stable
you should copy the ntkrnlpa.exe to a another folder, use the utility from here to patch it in this folder, then copy it in windows\system32 as ntkrn128g.exe or whatever. Then use the instructions from here http://www.geoffchappell.com/viewer.htm?doc=notes/windows/license/memory.htm
to create a bcdedit boot entry with the new kernel. So now you havewo boot options
1. the old one with the original kernl
2. the old with the new kernel
and it works like a charm. Yesterday nigh I worked for a long time in my windows 2003 enterprise vmware session hosted in my laptop with no problems at all. it rocks
I tried this many times on windows 7 RTM build 600 but still doesn’t work. New boot entry with a name “Microsoft Windows [Version 6.1.7600] [128GB with ntkr128g.exe]
‘” is created but when i check the task manager after restart, it still says 2999MB (3GB). Can someone please post how to install steps with the latest version of this patch?
Considering that increasingly many websites now circulate utilities to simplify this patch yet don’t mention the original source at all, I should perhaps be grateful that I am at least mentioned by name here even though it is left to a commenter – thank you, Nightfall – to supply the link:
http://www.geoffchappell.com/notes/windows/license/memory.htm
Now, I am in no way going to answer for patching utilities from who knows where and of what quality, but I am of course concerned by any reports of trouble caused to anyone even from misapplying my work.
Please, do not patch the kernel directly. Work on a copy. Enable the copy by setting BCD options, as I describe in the original article. Really, if you cannot follow the original article, then you should not be trying the patch.
If you’re getting objections from anti-virus utilities, then you are doing something wrong or the anti-virus utility is much too aggressive. You must have permission to copy an executable into the Windows System directory. You must have permission to run BCDEDIT. Other than these, activating this patched kernel does nothing that any defensive utility should care about.
In writing that article, my purpose was not to produce a hack to enable the use of memory above 4GB for ordinary work. There are two purposes to the patch. First, by removing the checks for license limits, the patch that 32-bit Windows Vista has the code for using memory above 4GB but will not use it because of licensing. Second, once that code is allowed to work with memory above 4GB, you can test Microsoft’s vague assertions that 32-bit Windows must be limited to 4GB because of faulty drivers.
Such faulty drivers do exist. The article mentions one from NVIDIA. I doubt that they can be so prevalent to justify the limit as the best technical response. Even if they were, I would complain that Microsoft has not described its response honestly but is instead taking advantage of widespread ignorance that masquerades as knowledge. Without something like this patch, nobody has any means to test what Microsoft says. It is very much a matter of shame for the computing industry that so many supposedly knowledgeable commentators repeat Microsoft’s essentially un-testable explanations without question.
If you apply the patch – compatibly with the directions in my article – and you encounter trouble, then go through the usual processes of elimination to identify a faulty driver. Remember that Safe Mode is available as a base for such testing. You might do well anyway to get the latest versions of all your drivers and particularly to get WHQL-certified drivers wherever possible.
No application can be directly incompatible with PAE or with using memory above 4GB, though some may behave foolishly, e.g., by asking for the highest physical memory address, truncating it to 32 bits, and thereafter thinking that you have a low-memory machine. If you observe an application misbehaving, then far and away the likeliest explanation is that the application’s pattern of usage exposes a defect in some driver.
That’s more than enough spelling out from me. I appreciate that my article will seem deeply technical to many, but it is as close as I could get to writing for a general readership. I understand that people may want to package a simplified patching procedure for use by the non-technical, but they need to take care – and I can’t make them.
Geoff Chappell.
I am quite surprised to see your blog which is rating as NO1. after viewing your blog it is obvious to me your blog deserve that postion. The contents and style is very impressive.
Dear Geoff Chappel, I am so happy that you came here and cleared things up. I will go to your site ask for help.
Thanks!
“Windows Cannot Hibernate Computer with More Than 4 GB Memory” – what about that?
andriuz, not sure what your asking?
So this install for some reason didn’t mesh with my version of Windows 7. Is there any way to remove the false partition that was created without losing all my information? (I.e. the partition called “Microsoft Windows [Version 6.1.7600] > 128 GB Memory”) Thanks!
“this patch will make some of software unstable
like kaspersky and a software called FileUploader”
Confirmed, with 4GB of memory you can not use an Kaspersky Internet Security
How do i uninstall this freaking patch?
I have tried, and it worked in Windows 7 x86 RTM, fully recognized 4GB RAM! Thanks!
But how to remove the watermark “test mode Windows 7″ at the lower-right corner of the screen?
j ai installer un pacth qui ma upgrader de 2 gb a 4gb sur une dell dimension 3100 ca limite etait 2 gb avec window edition familial la elle est a 3 gb et vista integral 4 gb j ai pris le pacth sur piratebay et tout fonctionne a+ jai upgrader mon bios de a03 a a04 et la plus part de mes driver aussi. faut juste suire les etape une a une.
how to uninstal this pach dont work on muu windows 7 now i have some problems until boot and i mus remuve the pach any idea how to do this?
Use easyBCD from here http://neosmart.net/thankyou.php?app=EasyBCD and install it. Then from Add/Remove intries, remove the one with patch.
http://support.microsoft.com/kb/929605/en-us
this is great. another reason to still buy 32bit OS’es
Go for GNU/Linux!!
Linux can support 64 GB of memory through PAE in 32-bit mode! (3 GB for each process and Maximum 1 GB for kernel itself)
It’s an option in kernel, if your Distro does not support more than 4 GB You must re-compile Kernel with this option. And It’s very easy
Use windows server 2008 32bits, very expensive, but the only platform that really works
hi..
im using vista ultimate ..how can i patch the file …it says file cannot be accessed..
for those who are wondering how to remove the water mark.after u close the patch window another window will apear,just press Y-yes,N-no
Working on Vista Ultimate SP2
Just using this patch and the instructions of Geoff Chappell:
http://www.geoffchappell.com/viewer.htm?doc=notes/windows/license/memory.htm
SHIT!!! this russian version patch worked !!! I now have 4 gb of ram utilisation !!! thanks raymond! !!.. but i hope this doesn’t lead to other system instabilities
hi,me try this but my windows vista crash after this it gives a ntkernal.exe is already used..and to start windows in safe mode………..
This patch really works. I tried both patcher for Vista and Win7.
Yay! it works!
(but now you can be a part of a Russian botnet heh)
Ray, with all due respect how can any 32bit OS utilize more than 3.x GB RAM? although the patch or hack will show your system using more than 3.x GB but can it really utilize the extra memory in 32 bit? as far as i’m concerned all 32bit sytems cannot support more than 3.x GB..whether it is xp,vista,7,linux etc (i can be wrong but explanations/proofs all over google)
@Mewah, why don’t you read this article?
http://www.geoffchappell.com/viewer.htm?doc=notes/windows/license/memory.htm
Leave a reply