Executive Summary: The common Virtual Hard Disk (VHD) format makes it possible to move virtual machines (VMs) from Microsoft Virtual Server 2005 to Hyper-V. You can avoid some problems by removing Virtual Machine Additions from the guest and using a share on the Hyper-V server to copy over the VHD image. Use Hyper-V Manager's New Virtual Machine Wizard to create a new VM, add Hyper-V networking, and attach the migrated VHD to the new Hyper-V VM.

You’ve probably heard a lot about how much better Microsoft’s new hypervisor-based Hyper-V virtualization is than Microsoft Virtual Server 2005’s hosted virtualization. You’ve also probably heard that the Virtual Hard Disk (VHD) format shared between them makes it possible to move virtual machines (VMs) from Virtual Server 2005 to Hyper-V. However, there are a few gotchas that you need to look out for along the way. Here are the 10 essential steps to migrating your Virtual Server 2005 VMs to Hyper-V.

1. Make sure the guest OS is at the correct service pack level— Windows Server 2003 is undoubtedly the most common guest OS, but you need to make sure you’ve installed SP2 before you migrate. You can find the list of all supported Hyper-V guest OSs, and their service pack levels where appropriate, at www.microsoft.com/windowsserver2008/en/us/hyperv-supported-guest-os.aspx.

2. Uninstall Virtual Machine Additions—If you don’t remove the Virtual Machine Additions component from the VM guest, you might be stuck with an uninstallable program that prevents you from later installing Hyper-V’s integration components. You avoid this error if you’ve installed Virtual Server 2005 R2 SP2, but it’s safer just to remove the component before migrating the VM. You should also note the VM’s configuration if you don’t already know it.

3. Shut down the VM—With the preliminaries out of the way, you’re ready to move the VM. First, shut down the VM using the Shut Down option on the Start menu inside the guest. Be sure you shut down the OS instead of saving its state. After the guest OS has shut down, power off the VM from Virtual Server Manager.

4. Set up a share on the Hyper-V server—VMs are typically too big to copy on standard media such as USB drives or DVDs. The easiest way I’ve found is just to share the directory on the Hyper-V system on which you store your Hyper-V VHDs.

5. Copy the VHD to the target Hyper-V system—After creating the share, copy the .vhd file to the Hyper-V system. Depending on the size of the file and the speed of the disk subsystem, this process could take a couple minutes. For one-off migrations, I usually use Windows Explorer; if I’m moving multiple VHDs, I use Robocopy.

6. Create a new Hyper-V VM—When you’ve got the .vhd file on the Hyper-V system, you might think you’re finished, but you aren’t. The VHD contains the stored OS and data for the guest, but it doesn’t contain the VM configuration information, such as how much memory the VM has or how many hard disks or virtual network adapters it has. Your best course to move this information is to select New, Virtual Machine from the Actions pane of the Hyper-V Manager to start the New Virtual Machine Wizard.

7. Add Hyper-V networking to the new VM—You connect the new VM to the correct network through the wizard. The Virtual Server 2005 virtual networking configuration isn’t migrated as part of the .vhd image. On the New Virtual Machine Wizard’s Configure Networking page, select the Hyper-V virtual network to which you want your VM’s virtual network adapter connected.

8. Attach the migrated VHD to the new Hyper-V VM—The trick to migrating the old VHD to Hyper-V lies in linking the .vhd file to the new Hyper-V VM that you’ve created. On the New Virtual Machine Wizard’s Connect Virtual Hard Disk page, select Use an existing virtual hard disk, then point the new VM to the VHD you copied from Virtual Server 2005 by entering or browsing to the VHD’s path.

9. Start the new VM—After completing the wizard, you can start the new Hyper-V VM. Don’t be surprised if you’re greeted by the annoying Windows Activation screen. Nothing has really changed in the guest, but this screen prevents you from seamlessly moving VMs between Virtual Server and Hyper-V.

10. Install Hyper-V integration components on the new VM— Although you previously selected the virtual networking configuration for the VM, you’ll need to install the Hyper-V integration components by connecting to the VM, then selecting the Action, Insert Integration Services Setup Disk from the menu to provide the guest with the drivers it needs to use Hyper-V’s new synthetic video and networking devices.