(Originally asked as After upgrading to 2008 R2 Enterprise and installing more RAM, Windows can only see 4.00 GB but now I know what the question really is...)
My Dell server came preinstalled with 2008 R2 Standard. I upgraded to Enterprise to take advantage of more than 32GB RAM. This server is purely for dev and testing, so I want to use my MSDN product key for the upgrade.
I originally tried to uprade using the MSDN Enterprise key, but it wouldn't have it:
dism /online /Set-Edition:ServerEnterprise /ProductKey:[MSDN key]
=> Error DISM DISM Transmog Provider: PID=5728 Product key is keyed to [], but user requested transmog to [ServerEnterprise] - CTransmogManager::ValidateTransmogrify
I tried several things, including changing the current product key to the MSDN one. Eventually I used a KMS generic key which can be found in several technet forum posts.
dism /online /Set-Edition:ServerEnterprise /ProductKey:[KMS Generic Key]
... and this appeared to work. I then changed the product key again (using the control panel) to the MSDN key, thinking that was the end of the matter. Only later when tried to start up VMs did I realise I only had 4GB of usable RAM. I didn't make the connection with the licensing changes at this point and went off on a wild goose chase of BIOS settings, memory configurations and the like. Only later when I saw this...
...did I make the connection and reapply the KMS Generic key - which gave me all the RAM back. But now I have a system that isn't properly licensed, presumably I won't be able to activate it as it is, so I've got 2 days to enjoy it. With the MSDN key applied, only 4GB RAM is usable. Is there a way round this without
a) rebuilding the server from scratch with the MSDN key from the start or b) buying a retail Enterprise license
Seems like you can't do this with command line tools in a few minutes.
The way round this problem (i.e., switch an OEM/KMS-keyed version to an MSDN key) is not to use DISM or change the product key from within Windows; you have to do a bit more than that.
Here's how I got my server back:
Start with the server upgraded to Enterprise using the KMS Key. This for me is unlicensed.
Use the MSDN installation media (i.e., the burned ISO) and run the installer from within the current Windows instance. You can then reinstall Windows - make sure you pick the correct option so that you preserve existing files, application, settings etc.
After half an hour or so Windows will have finished installing. When you activate Windows, use the MSDN key, and all will work.
So, it looks like you can't switch keys between OEM/KMS/MSDN - you need to install Windows (or reinstall/update) from the appropriate installation media for the key to "take" correctly.
Tom
For anyone that comes across this in the future you can switch between the keys (I believe on R2 only).. Only, after you do switch you'll need to rearm actation
From CMD
SLMGR /Rearm
Then restart the server.
Input your activation key, restart the server
RDP and memory usage should now be correct.