I’m working with Hyper-V since more than 1 year and now I’m migrating the developer images of my company from Virtual PC or Virtual Server 2005 to Hyper-V. For me the process is straightforward since I have done it a lot of times last year but I thought this might be interesting for someone else.
This guide doesn’t use any third party tools or the System Center Virtual Machine Manager and it doesn’t include clustering. For a list of Hyper-V supported guest operating systems please read About Virtual Machines and Guest Operating Systems. There are also a lot of information at TechNet:
If you are interested in Hyper-V networking with a Loopback Adapter you might want to take a look at the following articles:
In my case I had to migrate a virtual machine from Virtual PC 2007 SP1 to Hyper-V so you will see Virtual PC instead of Virtual Server 2005 in the screenshots.
Prepare the virtual machine
Before you can run the image with Hyper-V you need to prepare the virtual machine using Virtual PC or Virtual Server.
Document your virtual machine configuration
First of all you need to remember your virtual machine configuration so you can recreate it later with Hyper-V. Without 3rd party tools you need to write it down or to make a screenshot.
As you can see in the picture I’m using 2 virtual network adapters: one for the communication between the images and one for getting access to resources outside your image (file share, internet). The communication between the images is faster using a local network adapter.
Important: “You cannot use a SCSI disk to boot a virtual machine in Hyper-V. If the boot disk of your virtual machine is not IDE, you should change it before migration. You can use a script for changing virtual machine disk type to automate changing the disk controller configuration type from SCSI to IDE. The script is available at http://go.microsoft.com/fwlink/?LinkId=135672.” (from the Virtual Machine Migration Guide)
Update your operating system with required updates and hotfixes
You need to update your image in order to meet Hyper-V guest operating system requirements. At the beginning of this guide you can find the requirements.

In my case I needed to update Windows Server 2003 SP1 to SP2. Otherwise you can’t install the Hyper-V Integration Services.
Uninstall the virtual machine additions
After installing all necessary updates you need to uninstall the Virtual Machine Additions. In Windows Server 2003 you can do this using Control Panel – Add or remove programs.
After uninstall I restart the image in order to be sure everything worked fine.
Remove network settings and shut down virtual machine
Before you shut down your image you need to remove the network settings. Since Hyper-V Integration Services will install new network adapters you will get an error message when you try to reuse static IP settings.
After removing the network settings you need to shut down the image. Using a saved state will not work.
Create Hyper-V virtual machine
Now it’s time to get the image working with Hyper-V.
Create the virtual machine
At first I created the virtual machine using the Hyper-V wizard. Here you need the settings documented in the first step.
Install Hyper-V Integration Services
When you connect to a Hyper-V image a console will open where you can select Action – Insert Integration Services Setup Disc from the menu (no need for searching the .iso file manually ;) ). This will automatically start the setup.exe inside the image.
At first a new HAL will be installed and after rebooting the rest of the Integration Services will be installed which needs a second reboot. Please be aware that you need an install disc of your operating system if you deleted all drivers from your Windows folder. I did it when I created the image since it saved a lot of disc space and doing a copy of my image needed less time.
Recreating network settings
At the end you need to recreate the network settings since the Hyper-V Integration Services installed new network adapters.
If you didn’t remove static IP addresses at the end of the preparation process you will get an error message saying that the IP address is already assigned to an other network adapter. You can chose no if you don’t want to assign a new IP address. Using the same address worked for me without errors so far.
Conclusion
When doing a migration from Virtual PC or Virtual Server 2005 to Hyper-V you need to take care of a few things. Although I don’t have a cluster I can imagine that this might not be straightforward like it is written in this post.