For win32 users - a script that allows actual usage of 4GB+ of RAM....

Page 2 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

hamunaptra

Senior member
May 24, 2005
929
0
71
bump for anyone that might be interested =)

updated download links cuz dropbox account over download limit.
 
Last edited:

Towermax

Senior member
Mar 19, 2006
448
0
71
OK, I installed this on my friend's 32-bit Vista laptop. It was a one-click and reboot install. Her system went from 3Gb to 4GB, and she noted an immediate speed improvement when running a large database that tracks inventory.

We'll see how it does over the next few weeks, but so far, it looks like a winner.
 

hamunaptra

Senior member
May 24, 2005
929
0
71
good to hear =)
By the way, for those testing this script found a way to nearly cause immediate issues if a driver happens to not like addresses above 4GB .. you put nolowmem in the current BCD entry. It forces windows to ignore memory below the 3GB address range .. basically forcing drivers to use higher addresses immediately.

Also, please note, if after testing you feel it works great, I would recommend not deleting the original kernel BCD entry, because if you uninstall my script after that, it tries to reinstate the original BCD entry.. I did not take this into account when writing the script. May change it in the future. But, its easy to remedy. You can just modify the BCD entry my script added .. by removing the kernel line, this will boot the windows default kernel =)
 

Towermax

Senior member
Mar 19, 2006
448
0
71
Would putting "nolowmem on" in the current BCD entry be worth doing as a precaution?
 

hamunaptra

Senior member
May 24, 2005
929
0
71
Would putting "nolowmem on" in the current BCD entry be worth doing as a precaution?

Naw, i would say dont worry bout it. If the drivers on the system are newer than , I would guestimate - 2007 , then you should be fine. Drivers written when 64bit started becoming more widespread and stable, should also work fine as per there 32bit PAE aware counterparts.

NOTE: update to the script, I just implemented a small tweak, adjusting the timeout value from 30 to 10 seconds on selection screen when booting =)

This can be manually done by issuing bcdedit /timeout 10
 

hamunaptra

Senior member
May 24, 2005
929
0
71
OK, thanks, we'll watch and see if there are any driver problems.

And remember, if you do come across odd behaviour, no need to insta uninstall my script, can verify it by rebooting and selecting the default kernel entry(the one above the ALL RAM) option when boots up. If it works fine w/ default, then yeah...would uninstall mine, ur drivers dont like the change =/
But yeah, hope all is well. My home machine has been runnin fine 1 month so far w/ 8GB of RAM in 32bit =)
 

HeXen

Diamond Member
Dec 13, 2009
7,837
38
91
I dont know if you are referring to me or to Geoffs article, but Geoff states several times its simply a license of RAM usable which is the limitation. Not the spoon fed "its impossible" lie weve been told over the years. The patch simply tells the kernel to bypass this check and allow all RAM usable. He also mentions this license of RAM isnt directly even mentioned in MS's EULAs, much less anywhere else.

Just curious but doesn't Linux 32bit also have this ram limitation? I thought all 32bit OS's could never really use more than 3.5GB's?
I doubt the Linux community would not use all ram if it's possible
 

hamunaptra

Senior member
May 24, 2005
929
0
71
Just curious but doesn't Linux 32bit also have this ram limitation? I thought all 32bit OS's could never really use more than 3.5GB's?
I doubt the Linux community would not use all ram if it's possible

In linux, I dont know much about its PAE awareness, but yes you can use PAE aware kernel builds for linux as well. Not sure if anything else special needs to be done when it comes to kernel modules for drivers tho....

But by default, I think most linux kernel builds are non PAE afaik, so yes they cannot address beyond 4GB of RAM in that case.

And to clarify all 32bit x86 OS's using a PAE aware kernel...can use / address up to 64GB of RAM. Like my OP states, windows 32bit has been using the pae kernel by default since whenever DEP was introducted in windows and the machine had a nx bit capable processor installed. Its just that MS chose to limit max addressable RAM to 4GB in PAE...to avoid drivers of that time period which truncated addresses above 4GB. Nowadays thats not an issue because all the functionality in a 64bit driver is already there for PAE to work correctly, so when compiling to 32bit... the functionality is already there.
 
Last edited:

HeXen

Diamond Member
Dec 13, 2009
7,837
38
91
In linux, I dont know much about its PAE awareness, but yes you can use PAE aware kernel builds for linux as well. Not sure if anything else special needs to be done when it comes to kernel modules for drivers tho....

But by default, I think most linux kernel builds are non PAE afaik, so yes they cannot address beyond 4GB of RAM in that case.

And to clarify all 32bit x86 OS's using a PAE aware kernel...can use / address up to 64GB of RAM. Like my OP states, windows 32bit has been using the pae kernel by default since whenever DEP was introducted in windows and the machine had a nx bit capable processor installed. Its just that MS chose to limit max addressable RAM to 4GB in PAE...to avoid drivers of that time period which truncated addresses above 4GB. Nowadays thats not an issue because all the functionality in a 64bit driver is already there for PAE to work correctly, so when compiling to 32bit... the functionality is already there.

good info, i often use 32bit on hardware outside of my gaming rig, so i'm gonna save your script to my backup drive for next time i use 32bit.
Thanks for sharing.
 

quakeworld

Senior member
Aug 5, 2009
222
0
76
ah... i was looking for this thread for awhile now but couldn't find it.. thanks for your work on this. im on win7 32 bit and have 4GB of ram. this really helps!
 

Towermax

Senior member
Mar 19, 2006
448
0
71
Well, it's been in use now for two-and-a-half weeks on my friend's Vista laptop, and everything works fine. No problems of any type and nice performance improvement.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
Just curious but doesn't Linux 32bit also have this ram limitation? I thought all 32bit OS's could never really use more than 3.5GB's?
I doubt the Linux community would not use all ram if it's possible

No, it's actually the opposite. Windows is pretty much the only OS with this limitation forced upon its users. With Linux you have multiple options if you want a 32-bit system, you can use a PAE kernel to get access to the memory >4G and reclaim what was lost to the hardware reservations or you can install a 64-bit kernel on 32-bit install.
 

hamunaptra

Senior member
May 24, 2005
929
0
71
Well, it's been in use now for two-and-a-half weeks on my friend's Vista laptop, and everything works fine. No problems of any type and nice performance improvement.

awesome to hear =), I just upgraded to an IB setup and got some shiny 2x4GB 1866 CAS8 RAM for it. woot! love that windows is using it now! freakin ROCKS!
 

Cerb

Elite Member
Aug 26, 2000
17,484
33
86
Is it possible to do something similar for Windows XP?
You can try adding /pae after /noexecute, in boot.ini. Not sure if it still works, though, and at best, you might get your full 4GB, with a motherboard that has remapping options (not all do, automatically remapping only in true 64-bit, instead).

At least with XP, and especially older hardware, you have a decent excuse to try it (the OP, FI, should never have installed a 32-bit OS in the first place).
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
You can try adding /pae after /noexecute, in boot.ini. Not sure if it still works, though, and at best, you might get your full 4GB, with a motherboard that has remapping options (not all do, automatically remapping only in true 64-bit, instead).

At least with XP, and especially older hardware, you have a decent excuse to try it (the OP, FI, should never have installed a 32-bit OS in the first place).

I believe MS introduced the same limitation in XP with SP2, so if you're patched up you'll enable PAE but get none of the memory addressing benefits that it should provide.
 

hamunaptra

Senior member
May 24, 2005
929
0
71
(the OP, FI, should never have installed a 32-bit OS in the first place).

Like I stated my install of windows is an upgrade from XP -> Vista ... there is no upgrade option to 64bit. So, I wanted to breathe life into 32bit for as long as possible.
And it has only worked wonders =)
 

Cerb

Elite Member
Aug 26, 2000
17,484
33
86
Like I stated my install of windows is an upgrade from XP -> Vista ... there is no upgrade option to 64bit. So, I wanted to breathe life into 32bit for as long as possible.
And it has only worked wonders =)
You can buy an upgrade, but then install a new copy of the OS, instead of trying to perform an in-place upgrade. Vista and 7 share keys between 32-bit and 64-bit versions, so at worst, it would mean downloading and burning the appropriate ISO.
 

hamunaptra

Senior member
May 24, 2005
929
0
71
You can buy an upgrade, but then install a new copy of the OS, instead of trying to perform an in-place upgrade. Vista and 7 share keys between 32-bit and 64-bit versions, so at worst, it would mean downloading and burning the appropriate ISO.

You are wrong. At worst, it means reinstalling all my programs and setting up all my tweaked settings again. Ive had the same OS install for about 7-8 years now, running fast as a clean install. I dont want to go through having to set up the last 7 - 8 years worth of software again on a clean install.

There is no inplace upgrade from 32->64bit...otherwise I woulda done it.