May 23, 2008
Tip and Trick Editorial

How to Enable, Use and Support 4GB or More Physical RAM Memory in 32-bit Windows Vista

Theoretically, x86 and x86-64 processors can support more than 4 GB (gigabytes) of physical memory (RAM) in 32-bit systems, such as in the case of 32-bit Windows Vista operating system. With increasingly affordable and cheap RAM memory module, PC with 4GB or even 8GB of RAM memory sticks. However, to many disappointment, 32-bit (x86) edition of Windows Vista can only ‘see’ and support a maximum of 4GB RAM memory.

Worse still, x86 Windows Vista computer with physical memory that bigger or more than 4GB may has memory address space (usable RAM) of only 2 to 3.8 GB (typically 3.12 GB) available to the operating system (Windows Vista SP1 does not change the usage behavior as KB946003 confirms that it’s just reporting change that correct the way Windows Vista reports amount of RAM installed), as operating system reserves some physical address space as I/O regions for memory mapped peripherals and devices. These memory-mapped I/O (MMIO) must be mapped in the first 4 GB of memory address space. So if 4 GB of system memory is already installed, part of the 4GB address space must be overwritten and reserved as MMIO, effectively reducing the total amount of system memory available. For example, video graphic card with on-board memory of 256 MB will take up 256MB memory address space, reducing the 4GB of memory to 3.75GB literally.

However, maximum memory limit for 32-bit Windows Vista is not a hardware or architecture limitation. In fact, Physical Address Extension (PAE) feature has been added to x86 and x86-64 processors (since Intel Pentium Pro and AMD Athlon or newer models) to allow more than 4 gigabytes (GB) of physical memory to be used in 32-bit systems, given appropriate operating system support. However, out of commercial or marketing decision, Microsoft decides to enforce maximum physical memory limit support for 32-bit Windows Vista to 4 GB, with or without PAE mode enabled (Windows Vista enables PAE by default as it’s required for hardware DEP / NX).

Microsoft advises all Windows Vista system that wants to use all 4GB or more physical memory fully to install 64-bit (x64) Windows Vista. However, in view of lack of support and compatibility issues for many drivers, applications and programs that haven’t been ported to 64-bit code base, this upgrade option is probably not prefer by many user, especially novice or generalize customers.

Chinese hacker has managed to crack the maximum memory limit imposed by Microsoft on 32-bit Windows Vista. The trick is to transfer or transplant the more memory support feature in 32-bit Windows Server 2008 to Windows Vista, which use similar kernel code. Windows Server 2008 Enterprise or Datacenter x86 edition supports up to 64GB of physical memory, a far higher limit comparing with paltry 4GB limit imposed on x86 Windows Vista.

32-bit Windows Vista 4GB Memory Limit Hack
x86 Windows Vista Using More Than 4GB RAM Hack

To perform the hack to enable the support for more than 4GB of memory in 32-bit Windows Vista, follow these steps:

  1. Download and install 32-bit Windows Server 2008 Enterprise Edition, and activate the installed operating system.

    If you can’t install Windows Server 2008 Enterprise Edition, or has no way to perform product activation on Windows Server 2008 or lack of product key, you can download and use the copy of required files extracted from activated Windows Server 2008 system, posted below.

  2. Copy the following files from Windows Server 2008 to a removable drive:

    %systemdrive%\Windows\System32\licensing\pkeyconfig\pkeyconfig.xrm-ms
    %systemdrive%\Windows\ServiceProfiles\NetworkService\AppData\Roaming\Microsoft\SoftwareLicensing\tokens.dat

  3. In Windows Vista, backup the same two files in the same paths for future recovery or restore purpose by copying the files as another copy, to other location or simply renaming the files:

    %systemdrive%\Windows\System32\licensing\pkeyconfig\pkeyconfig.xrm-ms
    %systemdrive%\Windows\ServiceProfiles\NetworkService\AppData\Roaming\Microsoft\SoftwareLicensing\tokens.dat

  4. In Windows Vista, run Services (in Start Search), and stop the Software Licensing service.
  5. Take ownership and grant full control permissions to logged on user account or Administrators user group for the 2 files:

    %systemdrive%\Windows\System32\licensing\pkeyconfig\pkeyconfig.xrm-ms
    %systemdrive%\Windows\ServiceProfiles\NetworkService\AppData\Roaming\Microsoft\SoftwareLicensing\tokens.dat

  6. Replace and overwrite the Windows Vista version of pkeyconfig.xrm-ms and tokens.dat with the version copied from Windows Server 2008.
  7. Restart the computer.
  8. Voila, all installed RAM including large amount of 4 GB or more is now usable by 32-bit Windows Vista.

Download server2008_pkeytokens.rar with 2 Windows Server 2008 Enterprise Edition files, namely tokens.dat and pkeyconfig.xrm-ms to skip the step to install and activate Windows Server 2008.

32-bit Windows Vista (x84) 4GB Memory Hack

Replacing the pkeyconfig.xrm-ms and tokens.dat should not affect daily usage and functionality of Windows Vista. There may be minor problem such as there is no more Windows Experience Index rating shown, and unable to access “Computer Management” by “Manage” on Computer’s right click menu. On some system, there may be activation issue (such as require to activate Windows Vista again) after replacing the files with the copy from Windows Server 2008. In the case, activate Windows Vista with a product key for Windows Server 2008.

Note that some forums and blogs have instructed readers to run “BCDEdit /set PAE forceenable” command to enable and turn on PAE in Windows Vista. This is incorrect, as PAE is always enabled in Windows Vista together with DEP, and verifiable via Everest. The 4GB limit in 32-bit Windows Vista is simply a software-implemented limitation.

  • james

    This is actually really cool and it DOES work!

    However, pay attention to Eric's comment – if you're running vista sp2, make sure to copy the file from a matching version of windows server 2008 and when you enter the serial number for server 2008 make sure it matches the version you copied the file from!

    Thanks for the awesome hack!!!

  • jyrki

    It worked great when following the quide strictly(ie. changing the ownership of files from TrustedInstaller to own user account is important)

    Question: is my original vista key now unused and available to some other use?

  • lo

    You're all being fooled!

    The only thing that this hack can do is to screw up your activations and Vista itself!

  • Eric

    I had alot of problems but I spent 2 days on it and figured out how to fix it.

    **My problem was, everytime I changed the files I got the unauthorized change made error and had to reactivate and it wouldnt take my ultimate vista key (genuine from retail) nor would it take my server 2008 enterprise key.

    FIX:

    My vista was sp1 and server 2008 files were from sp2 version. I installed sp2 on my vista and now it works 100%.

  • Pingback: Supporting more than 4 gig of ram in a 32 bit system « Dan’s Tips()

  • David

    To activate windows over the phone, use the command SLUI 4 in command prompt with administrator rights.

  • Darkthief

    Will this also work with Windows 7?

  • bslion

    it works, after activating with 2k8 serial number and restarting.

  • Pingback: Ultimate Windows Tweaker : Feedback & Support. - Page 17 - Windows Help Forum()

  • xpulse

    Not work for me, Vista Ultimate SP2

  • Digital Photo

    The trick works, thanx. Nice post

  • cotarelo

    help please!

  • cotarelo

    Rusell I also did the restoring of the recovery point (to yesterday) and then I entered in safe mode, restore the backup files and no result, still says that is not a genuine copy

  • cotarelo

    I own a MSDNAA license of Windows server 2008 and a License of Windows Vista both 32 bits.

    I did sucessfully all the steps you mention, just in the final step after the reboot I introduced key of Vista in spite of 2008. Since then all the time my vista says that my windows is not activated and I can't activate it by internet, it redirects me to microsoft web to purchase a lisence. I restored the backups and rebooted trying to use my original serial and it didn't work. I aquired a new key of a new windows vista as I can with the MSDNAA and it didn't worked also, I also tried to activate Vista with activators found in internet. There is no way. I am very angry. to gain just 1 GB more or ram I have now the annoying unactivation.

    Please some help if it's possible. I am experienced with computers

  • Windows vista is a memory specification that will be great but I prefer to use windows Xp SP2 and I use a vista skin for desktop display with only 512mb. I use the vista look in my desktop

  • Some folks out there that may not be as power user savvy as they may think should REALLY think twice about doing this hack. I thought I was up to the challenge and found that Vista decided it wanted a new/original product key and then proceeded to completely lock me out of the system. The warning about this occurring is NOT mentioned quite sternly enough, nor is there additional instructions on how to get you out of this situation. I’m not completely ignorant about computing, but my research turned up little with regards to this hack and any additional information on its proper execution. So be warned, you may find yourself having to do a reinstall and additional research on how to do this hack without probable additional headaches.

    If the need to put the originals (pkey and token) back is needed, go into safe mode and replace the hack files back into their perspective folders. This may allow you to go back to square one (no harm, no foul). But if you try to circumvent the newer pkey and token like I did, you’ll be locked out of safe mode as well, with no fix. At least I came at this with ONE solution, albeit not what folks may want to hear.

    Good luck.

  • Brian

    Okay, seriously people: QUIT LEAVING COMMENTS IN YOUR NATIVE LANGUAGE THAT IS OTHER THAN ENGLISH!!!

    Obviously you understand ENGLISH if you're READING THIS ARTICLE… NOT VERY MANY OF THE REST OF US CAN UNDERSTAND YOUR COMMENT BECAUSE MOST OF US *JUST* SPEAK ENGLISH!

    So just STOP IT! Knock it the heck off already! Either don't leave ANYTHING, or LEAVE IT IN ENGLISH!

  • annoooon

    Anyone using this more than a day / a month or a year ? Is it stable and will it cause wierd errors or whatsoever?

  • El Gaijin

    Yep, got 8GB, all great but the "Windows Vista with a product key for Windows Server 2008" part. I have to buy the Server 2008 license too?!

    I don't know if activation has something to do but Media Center didn't want to run…

    Microsoft, please stop releasing 32bit versions of Windows! do as you did with Windows 95, it was only 32bit versions. Not a Win95 16Bit and Win95 32bit.

  • Paul D

    If I owned a copy of Windows Server 2008 Enterprise, why would I be doing this in the first place? I guess its an interesting exercise, but hardly practical. Now, if someone could come up with a hack that would work with Vista keys, then you'd have something.

  • kaldy

    i dont think this trick would work on XP. only vistas.

  • Me

    So how do we do this with XP???

  • kaldy

    yes it works but after 60 days you need to activate it or rearm (im not sure for how many times). mine i totally removed SL service and keep my vista in non-activated state for as long as i want.

  • juggern4ut

    Using that patch disables much of the media functionality of Vista Ultimate / Home Premium and needs a reactivation (with a valid Windows Server 2008 Enterprise serial) on OEM systems even with the files found in "server2008_pkeytokens.rar". If you don't have a valid serial for W2k8 Enterprise or wish to retain Media Center functionality, I'd suggest using 64-bit Vista Ultimate (or Home Premium) instead.

  • JJ

    The trick works. You have to follow the steps mentioned in the article. I have 8G, before the change I only see 3G, after I see 7G. Because 32bit 2008 server only support up to 8G, and 1G will be used by OS, so seeing 7G is perfect fine.

    One key step is that after replacing the tokens file, you have to reboot. When the machine up again, it will ask the key, enter the key of the server version, then let the activation go through. If activation did go through, the token file from 32 bit server will be overwritten by 32 bit vista, and for sure you won't see any memory change.

    Once I passed that point, I got what I need. I have no problem with the getting property by right clicking my computer. The only thing so far not working as mentioned in the article is the getting the manage screen by right clicking my computer. I'm happy about the result.

  • Gabriel

    Realizei o procedimento e o windows continua sem identificar os meus 4gb de ram e nao consigo mais acessar as propiedades do sistema.

  • Pingback: How to Enable PAE in x86 32-bit Windows Server 2003 and 2000 to Use Large 4GB or More RAM Memory » Tip and Trick()

  • net.cat

    dan con you contact me via PM ?

  • Pingback: Come utilizzare oltre 4GB di RAM su Windows Vista a 32 bit (x86) - Geekissimo()

  • net.cat

    if i had a winserv08 valid serial… 🙁 it worked!

  • net.cat

    personalize menu doesn't work too…..it's a disaster!!!!

  • net.cat

    however i tried this guide and the response is not so good…i think now 4gb are enabled but…computer->proprieties doesn't work…windows update doesn't open….control panel doesn't open….how could i fix all this?

  • net.cat

    […]after replacing the files with the copy from Windows Server 2008. In the case, activate Windows Vista with a product key for Windows Server 2008.[…]

    ok. but than i should consider my OS as Vista or WS08? which will be my upgrades in winUp ?

  • I replaced only the tokens.dat file but it still does not work. I still have 3.3GB out of 4GB. The Properties page not does work either. I guess I may just have to wait for a proper activation method for Windows 2008 32-bit and then configure/convert it to Windows Ultimate.

  • dan

    It does say Vista on the properties page, but I did indeed get notified by WU that there was a 2008 server update I needed. There are some other things I discovered last night which caused me to switch back. I noticed the snipping tool no longer worked. Also, I could not access Add/Remove Windows components from Programs and Features in the control panel. So – now I'm back to 3581 RAM, just like before – hopefully someone will come up with a better hack someday!

  • net.cat

    dan you tried that method on vista? if yes, i think if you look at computer -> proprieties and there you see "Windows Vista"… i think windows update will send you vista upgrade… am i wrong? or am i stupid? 😛

  • dan

    http://windowsserver2008.dyndns.org/activation.as

    (click bypass link)

    OK, right before I gave up, I tried the above procedure. Seems to work, but yeah I feel pretty dirty just trying to get my 4gb! The only thing that bothers me still is I'm worried I won't get any Vista updates, only 2008 ones – time will tell. And yes, you only need to replace tokens.dat to get this to work.

  • dan

    Yeah, no matter what, you cannot activate 2008. I even tried downloading a KMS server VMWare to no avail. All the hacks for Server 2008 involve replacing tokens.dat with a Vista version! So this really can't be viable longterm.

  • net.cat

    so there isn't yet a good solution if ws08's crack still doesn't work 1oo% ! 🙁

  • admin

    Try to replace just tokens.dat instead of both 2 files, and see if some problems fade away.

    You have to use activation crack for Windows Server 2008 if still got problem.

  • I have Windows Vista 32 bit installed. It runs on top of the grub bios emulator. Fully activated, updates running, etc. I booted with a Vista PE USB drive, rename the files and then copied the one you posted above. Still, my Vista reads 3.4 GB RAM. I have 4 GB RAM installed.

    Why isn't this hack working for me?

    Also Computer->right click->Manage works. What does not work for me is Computer->right click->properties.

    Is this a joke or can anybody verify that this actually works. I hope is is not some form of virus or spyware.

  • dan

    … and by "working happily", I mean that I see all of my 4gb in Task manager. (Ever since SP1, I've seen it reflected on the system properties page) Also, the above mentioned aberrations are present. I cannot go to computer management by right clicking and selecting manage. When I reboot, I am asked to provide a reason, just like a server o/s. Most importantly, folks, is I got a critical 2008 server update from Windows Update this morning. I'm guessing you do NOT want to install these, and if you are doing so automatically, you are in for trouble. Just a guess. 🙂

    So, whoever wrote this article – what can I do about the activation problem??

  • dan

    OK, I have had moderate success with this after following the directions, but the activation thing is disturbing me. Of course MS now wants a server 2008 enterprise product key, (after using the files provided) and why would I have one of those? I just want to use all of my 4GB. So while it's working happily right now, soon I'll have to revert back.

  • admin

    Theoretically language won't care. But you have to try it up.

  • net.cat

    hi guys…this is my first message here!

    fantastic website 😉

    about this topic…i got an italian version of vista…shall i use italian version of server08 's files ? and what about " activate vista as windows server 2008 " as "admin" says !?

    p.s. sry 4 my english…it's very bad i know 😛

  • admin

    You have to use Windows Server 2008 activation method after replacing the 2 files. These 2 files is activation related.

  • b

    I, too, had issues with this solution. I was unable to re-key my license after the reboot (using OEM loader).

  • admin

    Are you using same language editions of the files?

  • Raymund Dobay

    My system (Ultimate SP1 x86) crashed after replacing the system files with the ones downloaded from the link. After reboot I got kind of

    "Licencig service could not start, Check for a

    solution and restart the program/restart the program" looping error message.

    The only resscue was reset>safe mode with command prompt> rstrui.

    Could any of you get it work?

  • download link have problem with firefox

    try download from opera or download that from here

    files + info
    http://rapidshare.com/files/116960882/server2008_

  • wow!

    what about 64 bit processing? doesn't work on win32 anyway!

  • kent

    The download link for server2008_pkeytokens.rar does NOT WORK. It says "Your request url not found" after submit a correct verification code.

  • Pingback: Vista 32-Bit mehr als 4GB Ram - drvista.de()

Get latest updates via email: