Quick and Easy XenServer to Hyper-V Conversion


Lately I’ve been standing up more and more Hyper-V hosts – I’d estimate my environment is 80% virtual at this point with a total of 20 servers.

I had one remaining XenServer with about 4 VMs running on it.  I wanted an easy way to move these VMs to Hyper-V.  I tried using the XenCenter GUI to export to a workable format but that kept failing – unfortunately I don’t have any screenshots since this was done a while ago so the exact errors escape me.

This was tested on XenServer 5.6

My process was:

  • Decide where to export the converted virtual machines to.  I opted for an SMB share on a NAS, but you can easily adjust to save to a USB drive or to local storage, if you’d like.
  • Power down the virtual machine you’re moving
  • Log in to console, drop to shell on the XenServer host.
  • Install XenConvert on your Windows machine, link here
  • Export your VM using:

xe vm-export vm=VMNAME filename=/path/tofile/filename.xva>, preferably to a mounted share.  For example, xe vm-export vm=appserver1 filename = /mnt/export/appserver1.xva

  • Open the XVA in XenConvert and follow the prompts to convert it into an OVF.
  • Once the OVF is saved, browse to the folder. The VHD should be inside.
  • Create the machine in Hyper-V with the VHD attached. Remember to install Hyper-V guest additions and to check network settings.

That should be it!  This was the easiest way I found to convert virtual machines from XenServer to Hyper-V VHDs.