Eric's Technical Outlet

Learning the hard way so you don't have to

Upgrading a Windows 2003 Guest VM to Windows 2008

A sensible approach to upgrading aging operating systems is to virtualize first and upgrade later. Upgrading an operating system is never a light undertaking under any circumstances. Doing so in a virtual environment gives you the comfort of a snapshot safety net, but adds its own challenges.

DO NOT PERFORM THIS PROCEDURE ON A DOMAIN CONTROLLER. A domain controller should never be snapshotted, especially in a multiple DC environment. If the domain controller has never done anything except function as a domain controller, it is highly likely that it will survive the upgrade process just fine, but it really isn’t worth the effort or risk. Instead of upgrading DCs, create a new VM with the new operating system you wish to use and promote it to be a DC in the existing forest. If your ultimate goal is eliminating the initial DC(s), you can move the Global Catalog and DNS functions and FSMO roles to the newly created DC(s), then decommission the original(s). In most cases this is a downtime-free process and is much safer than an in-place upgrade.

Upgrade Steps

  1. Take a snapshot (checkpoint in SCVMM) of the VM.
  2. Perform any clean-up desired. Performance of the VM will be highly degraded after following the next step, so you’ll want to do as little as possible after finishing step 3.
  3. Go to Control Panel and open “Add/Remove Programs”. Remove “Hyper-V Integration Components”. If you do not, on the first reboot after upgrade, you will encounter a blue screen regarding the VMBus driver. Cancel any hardware detection dialog boxes and reboot. After logging in, cancel any further hardware detection dialogs.
  4. If your Windows 2003 environment is on SP2, the compatibility checker will stop the process and indicate that you need to uninstall PowerShell before you proceed, but you probably won’t have a line item for PowerShell so that you can uninstall it. Go to Control Panel and open Add/Remove Programs. Click the check box in the top right to “Show updates”. Remove “Windows Management Framework Core”. It will warn you about several applications that will no longer function properly; ignore this warning. Once uninstalled, do not reboot until the upgrade is complete. If you do, the .NET Framework will automatically repair itself and you’ll have to start this step over.
  5. Insert the Windows Server 2008 DVD and run the upgrade as normal. Because you removed the integration components, this will take a fair bit of time.
  6. Once the upgrade has completed and you boot into Server 2008 for the first time, you may be greeted with the following message: “Setup has detected that the .NET Framework version 4 needs to be repaired. Do not restart your computer until Setup is complete.” This will be fairly slow since integration components aren’t installed, but it is best to let it finish.
  7. Install the Integration Components from Hyper-V Manager or SCVMM. Even though you removed it in step 3, you will still get “A previous version of Hyper-V integration services has been detected. Click OK to upgrade or repair this installation.”.
  8. Don’t forget to remove the snapshot when you’re satisfied that the upgrade worked.
Advertisements

10 responses to “Upgrading a Windows 2003 Guest VM to Windows 2008

  1. eric November 14, 2017 at 8:25 am

    I recommend downloading Server 2008 SP2 and copying it to the VM C: drive prior to starting the in-place upgrade. After the upgrade, the Integration services can’t be installed until Server 2008 has been upgraded to SP2. Without IS, there’s no network connectivity and it’s not possible to mount the VM VHD file on the host, since there are checkpoints present

    Like

    • Eric Siron November 14, 2017 at 8:30 am

      Never had any of that trouble myself, but it wouldn’t hurt anything to have the bits local.

      Like

  2. Bhupesh Kerai June 29, 2015 at 12:31 pm

    Hi, we have a mixed 2003 server environment, standard/enterprise 32/64bit. Post upgrade to 2008 we have noticed that application services are missing, even sql services are missing with those that have sql installed. Have you come across this before? Is there a fix?
    Currently we are having to roll back to a back up vhdx as many of our upgrades are failing.

    Any help would be appreciated

    BK

    Like

    • Eric Siron June 29, 2015 at 3:29 pm

      This has not happened to me, but I have not undergone this procedure for a very long time. Wouldn’t it make sense to try a repair install of the apps prior to going to restore? I’m assuming that it all has something to do with the changes made in .Net as you cross versions that causes .Net-related services to disappear.

      Like

      • Bhupesh June 30, 2015 at 2:06 am

        Thank you, I will certainly investigate down this like.
        Do you have any hints/tips that may help with this

        Thanks in advance

        Like

      • Eric Siron June 30, 2015 at 8:08 am

        If a repair install doesn’t work, I think I’d start by calling product support or finding a product-related public forum and asking if they have any suggestions.
        Many .Net executables have an installer built-in. You can invoke the installer like this: http://www.aspdotnet-suresh.com/2011/06/how-to-install-windows-service-using.html. You just have to know the executable name. If it doesn’t work then the exe isn’t .Net or doesn’t have a built-in installer.

        Like

  3. Brandon June 16, 2015 at 7:50 am

    So if you had already upgraded from Svr 2003 to Svr 2008 before you saw this article, and now have the vmbus.sys missing or corrupt error at boot — what to do?

    Like

    • Eric Siron June 16, 2015 at 7:56 am

      Your options aren’t great. If you didn’t have a checkpoint, then a restore is really your first, best choice.
      Another option would be to attempt an offline installation of the integration services: http://blogs.technet.com/b/virtualization/archive/2013/04/19/how-to-install-integration-services-when-the-virtual-machine-is-not-running.aspx.
      After that, you’re left with trying to recover the OS as if it were a physical installation.

      Like

  4. Wladimir Cabello May 8, 2015 at 5:54 pm

    This process did not work for me. I was doing a in-place upgrade from Windows 2003 R2 STD to 2008 SP2 in Hyper-V and upon completion of upgrading the VM reboots continuously..???

    Like

    • Eric Siron May 9, 2015 at 8:55 am

      I didn’t test this for a version skip. You’ll have to disable the automatic reboot option to see what it’s blue-screening over.

      Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: