Migrate VMs from Citrix XenServer to Hyper-V Server

StarWind V2V Converter is a free tool for cloning and transforming VMs from one format to another, as well as converting physical machines into virtual ones. This article is about migrating VM from Citrix XenServer to Hyper-V Server.

There are times when we need to migrate workloads between physical servers, hypervisors, or even public clouds. There are dozens of open source or commercial tools you can use for that purpose. Today’s article is focused on migrating a virtual machine from Citrix XenServer 8.0 to Hyper-V Server 2019 by using StarWind V2V Converter. The VM is hosting Windows Server 2019 which works as an application server. The procedure consists of three steps and it is also compatible with older hypervisor and guest operating system releases.

Note: Before doing any migration, I´d highly recommend creating a backup of the virtual machine your want to migrate.


In the first step, you will need to clean VM(s) from any Xen-related tools, drivers, or files. You should navigate to your Windows guest operating system and open Programs and Features, and then uninstall Citrix VM Tools also known as Citrix XenServer Windows Management Agent. Check if there are any other XenServer tools and uninstall them from Windows.

Once you uninstall Citrix VM Tools, then navigate to Windows directory > system32 and delete all XenServer files from the disk.

You are done. Shutdown the guest operating system.

Note: Missing this step will lead to issues with the loading of the guest operating system.


In the second step, you will export the virtual machine from XenServer and then in step 3 convert to format readable by Hyper-V Server.

  1. Connect to XenServer usign XenCenter.
  2. Right click on VM you want to migrate and then click Export.
  3. Choose the VM export format, location and file name, and then click Next. In my case, I´m exporting VM to a shared storage location.
  1. Select the VM you want to export. Any turned-off VM will be listed here.
  2. Add EULA (End-user license agreement) and click Next. This is optional and you can skip it.
  3. Keep the default settings under Advanced Options and click Next.
  4. Under Transfer VM Settings, choose Network and add a free IP address that will be used for transferring the VM, and then click Next. If you add an IP that is already used in your network, the VM export will fail. You can check free IP addresses by using IP scanners such as Angry IP Scanner.
  1. Review settings and click Finish to export the VM and close the wizard. Export may take several minutes.


The last step includes converting exported VM to file readable by Hyper-V Server. As mentioned, we will do it by using StarWind V2V Converter. StarWind V2V Converter / P2V Migrator is a free tool for cloning and transforming VMs from one format to another, as well as converting physical machines into virtual ones. It is utilized when migration or hypervisor switch is required. Compared to the typical converters built into hypervisors, StarWind V2V Converter / P2V Migrator offers bi-directional conversion between all the major VM formats: VMDK, VHD/VHDX (Windows Repair Mode aware), QCOW2, and StarWind native IMG.

You can download the StarWind V2V Converter from this LINK, install it on your Windows machine and follow the procedure below.

  1. Run StarWind V2V Converter.
  2. Select the location of the image to convert and click Next.
  1. Select the location of the destination image and click Next.
  2. Enter Microsoft Hyper-V Server connection parameters and click Next.
  3. Click on Create a new virtual machine which will be used to attach the converted virtual disk to it. This VM will be created on your Hyper-V Server.
  4. Define settings of the new virtual machine, including Name, Path where the virtual machine will be located, CPU count, Memory, generation, and choose virtual switch and click OK and then click Next. You should assign the same VM resources as on XenServer. Please note that when adding memory size, you need to multiple amount of GB with 1024 MB, i.g. 8 GB x 1024 MB = 8192 MB. It will not work if you type 8000.
  1. Select option or VHD/VHDX image format and click Next. In my case, I chose VHD pre-allocated image.
  1. Set destination of the image file.
  2. Click on Convert. The procedure includes two steps, creating an image file and converting an image file.
  1. Open Hyper-V Manager and turn on your virtual machine.
  2. Add network switch to your virtual machine (VM > Settings > Network Adapter > Virtual switch). 
  3. Configure your network card by adding the same IP addresses as on XenServer. If you are using DHCP then keep it as it is. 
  1. Done. Your VM is up and running. Check all other settings to be sure applications and services are fully operational.


There are two things I’d kindly recommend you. The first one is doing backup of the Hyper-V virtual machines to onsite or cloud locations. By using Altaro VM Backup you can back up unlimited VMs for 30 days. After 30 days, you can use Altaro VM Backup on 2 VMs for free, forever. You can download it on this LINK. If you are wondering how to set it up, you can read my article Backup Hyper-V VMs to Synology and Azure Cloud Storage.

The second thing is monitoring the performance of your Hyper-V Server by using PRTG Network Monitor. You can download PRTG on this LINK and use an unlimited number of sensors for 30 days. Please check my article Get more visibility into Hyper-V Server with PRTG.

I hope you find this article useful. If so, you can share it with your network by clicking on the social media button below. In case of any questions, feel free to comment or contact me.

Leave a Reply

Your email address will not be published. Required fields are marked *

Share via
Copy link