Skip to the content

Converting a Physical Machine to a Hyper-V Virtual Machine (P2V)

Windows Server 2008 Hyper-VWe had a Dell PowerEdge 1750 that's just gone out of warranty, but is running some important stuff (It's our root certificate server for one). Having run Hyper-V in production for a while now, and been very happy with it, we wanted to import it and run it as a Hyper-V virtual machine - undertaking a P2V (Physical to Virtual) process.
 
Trouble is, there's no direct P to V converter for Hyper-V available to do this - at least not until Virtual Machine Manager gets updated. However, VMware have offered their VMWare converter for free for a long time (you'll need to register). This tool connects to a physical machine and creates a VMware Machine, with a VM disk and configuration file.
 
Once you have the VMWare image, you can convert this to a Hyper-V (or Virtual PC/Virtual Server) compatible .VHD file using this tool from VMtoolkit. Again, you'll need to register, but again it's free.
 
Once you've converted the disk, create a new Hyper-V machine and point it at the converted disk. Fire it up, log in, and wait for all the hardware to be redetected - the HAL will change, so it will need rebooting. On the second reboot, you can insert the virtual machine additions, which will change the HAL again, and require a third reboot, which will finish off the virtual machine additions, before a final reboot.
 
If you can't see you're network card, you may need to use the legacy adaptor. For example, our PowerEdge 1750 used a Broadcom in teaming mode, and until we swapped the standard Hyper-V NIC for a Legacy one, we couldn't uninstall the teaming software or see the network configuration.
 
Once we'd tidied up (removing stuff like Dell OpenManage), we switched off the Physical Server, connected the network to the new Hyper-V server, and crossed our fingers - everything worked. The new server connected back to our iSCSI SAN and began replicating using DFS just like a good clone should - except the performance was noticably improved!
 
All in all, for an hour's work, this is a relatively straightfoward process with an excellent result. Admittedly we had a lot of things going for us - Windows 2003 target, single domain, simple network, single disk (split into two volumes), with a high performance Hyper-V server - but I can't see any reason why this shoudn't be attempted with more complex setups.
 
In summary the process to follow is:
  1. Have a Windows 2008 server ready with Hyper-V - ours is a Dell PowerEdge 2970 with 16GB RAM, Dual quad-core AMD Opteron Processors, and a RAID 1/RAID 10 split for the OS/Storage. All the Hyper-V files run from the RAID 10 volume. This is good for about 12 guests.
  2. Install the VMWare convertor on the Hyper-V server. You don't need to install the agent.
  3. Download the VMDK to VHD Convertor and unzip it to a local drive on the Hyper-V server (the desktop will do).
  4. Create a network share on the Hyper-V server that the target server can reach.
  5. Run the VMware converter against the target (it must be a Windows box, anything from NT4 upwards).
  6. Once complete (Our PE1750 with a 70GB disk took about 20 mins), point the VMDK to VHD converter at the new disk, and create a Hyper-V disk under your Hyper-V file location. Once complete, you can delete the VMDK file.
  7. Create a new Hyper-V virtual machine, using the new .VHD file as the boot disk. Don't connect the machine to the physical network at this point.
  8. Boot the new Hyper-V machine, log in and let the hardware detection process run. Don't insert the integration services disk yet. Reboot.
  9. Log in again and insert the integration services disk, and let it do its stuff. Reboot again.
  10. Log in a third time, and let the install complete. One more reboot!
  11. Log in now and have a look at the network settings. If you can't see anything, you'll need to shut down the guest and install a legacy adapter.
  12. Tidy up stuff that isn't needed for a virtual machine - typically hardware management stuff.
  13. If all is good, shut down the old box, connect the network to your new virtual machine and fire it up!

For more details on our consultancy services for Virtualisation and consolidation of physical servers, please see this page.

About the author

Fuse

Fuse is a Microsoft Partner, based in Northampton. We help organisations of all sizes to maximise IT efficiencies through the use of Microsoft cloud computing solutions.

Let’s talk. We’d love to hear from you.