Windows Server 2008 R2 introduces a new command-line utility, DISM, the Deployment Image Servicing and Management tool. One of DISM’s many useful features is the ability to use its edition-servicing commands to upgrade an R2 installation without requiring install media. This is functionally equivalent to Windows Anytime Upgrade in a Windows 7 client install, and can be performed on both an online or offline image, and on both full Server and Server Core installations.
Upgrades using the edition servicing method are quick, and don’t require a full reinstall of the operating system. Deployed roles and features, and other characteristics (machine name, user and admin accounts, etc) are persisted forward. Because the target editions are staged within the image, only the updates necessary to move from edition to the next are applied.
The upgrade options are limited to edition families, and are irreversible – you can’t downgrade once you’ve gone up an edition. Additionally, you can’t move from full Server to Server Core (or vice versa).
The supported upgrade paths are:
- Windows Server 2008 R2 Standard -> Windows Server 2008 R2 Enterprise -> Windows Server 2008 R2 Datacenter
- Windows Server 2008 R2 Standard Server Core -> Windows Server 2008 R2 Enterprise Server Core -> Windows Server 2008 R2 Datacenter Server Core
- Windows Server 2008 R2 Foundation -> Windows Server 2008 R2 Standard
The tool essential for this process, DISM.exe, is included in every installation of Windows Server 2008 R2, and the general usage for online and offline use is documented on TechNet here: http://technet.microsoft.com/en-us/library/dd744380(WS.10).aspx
One scenario that we sometimes use internally is the online upgrading of Hyper-V hosts. If you decide that you want to move from Enterprise’s 4 VM limit to Datacenter’s support for an unlimited number of VMs, you can migrate the VMs to another host, upgrade the old host in less than thirty minutes, and then immediately migrate the VMs back once the process is complete. There’s no need to take the whole server offline or rebuild from scratch.
The syntax for DISM is fairly straightforward. From an elevated command prompt, you can query for the current edition, for possible target editions, and initiate the upgrade. To upgrade, you need to provide a valid 25-character product key for the edition to which you’re upgrading.
To determine the installed edition, run:
DISM /online /Get-CurrentEdition
To check the possible target editions, run:
DISM /online /Get-TargetEditions
Finally, to initiate an upgrade, run:
DISM /online /Set-Edition:<edition ID> /ProductKey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
So, for example, to upgrade to Windows Server 2008 R2 Enterprise from a lower edition, you would run:
DISM /online /Set-Edition:ServerEnterprise /productkey:ABCDE-ABCDE-ABCDE-ABCDE-ABCDE
After running the /Set-Edition command, DISM will prepare the operating system for the edition servicing operation, then reboot twice while it applies the changes to the operating system. After the final reboot, you’ll be running the new edition!
UPDATE: One important note is that the server can’t be a DC at the time of upgrade. If you demote a DC using dcpromo, you can upgrade, then re-promote it (you may need to migrate FSMO roles, etc, in order to succesfully demote.)
UPDATE1: If you get an error while running this procedure, see if any of the below solutions will resolve the issue.
“Setting an Edition is not supported with online images”
More than likley the reason you are getting this error is because the server you are trying to inplace upgrade has the AD DS Role installed and is acting as a domain controller. The only way to upgrade this one is to move the FSMO Roles to another server, then DCpromo the server, and make it a member server and then run the command, and then you can go ahead and make the server a Domain Controller once the edition of Windows has been changed.
“The specified product key is not valid for the target edition Run this command again with a product key specific to the target edition.”
I have no reason why this issue happens,(its because Microsoft does not allow moving from an OEM key to a VLK if you get this message. ) but to fix it you can go ahead and use the default KMS key provided by Microsoft 489J6-VHDMP-X63PK-3K798-CPX3Y, use this key in the command, and once the system reboots, go into the Server Manager and change and activate the softare with your own key.