My Virtual Machine is a Windows 2003 Server and I did this on a box-to-box migration. It is easy, so enjoy!
Pre migration process:
1. The guest systems needs to be upgraded to the latest Service Pack (Vista SP1, XP SP3, Windows 2003 SP2).
2. Install Windows Server 2008 onto the new machine and install Hyper-V. (make sure it you installed any hotfixes for Hyper-V too)
3. Copy the VHD to the new Hyper-V box.
4. Setup a Virtual Network on the new Hyper-V server.
1. Open Hyper-V Manager and create a new Virtual Machine.
2. Type a Name for the VM and if desired, you can store the virtual machine in a different location.
3. Specify the amount of Memory to assign to this VM.
4. Assign a Network Adapter.
5. Select "Use an existing virtual hard disk" and select the .VHD file to migrate.
6. Click Finish and start the new Virtual Machine.
7. The new VM will begin detecting and installing new hardware. If prompted to install an Unknown Device, select "Ask me again later".
*I suggest to go through the below steps although it might have to effects on some platforms
8. Uninstall the Legacy Virtual Machine Additions from Add/Remove Programs.
9. Update the HAL. Click on Start, type "msconfig", click on Boot Tab, Advanced options. Check the box "Detect Hal". Then click OK to save and OK to exit msconfig.
10. Now restart the Virtual Machine.
11. Next step is to install Microsoft Hyper-V Integration Components on the new VM. Connect to the console of the Guest system, click Action, Insert Integration Services Setup Disk. Run "Install Microsoft Hyper-V Integration Components".
12. You will get a warning that you need to upgrade the HAL. Click OK. Restart the system when installation completes.
12. You will prompted to reboot again. Reboot again and you should now boot up to your migrated Virtual Machine.