Migrating from ESXi 5.5 to Hyper-V 2016

This guide explains how to migrate from ESXi 5.5 to Hyper-V 2016.

I am was a happy user of VMWare ESXi. I started with 5.0, migrated to 5.1 and then to 5.5. However, over the years VMWare has shown little love to the smaller labs. They have been migrating over to web management which requires much more setup to manage my (1!) VMWare server. For now I have always accepted this burden, but this week I finally gave up on VMWare for the following reasons:

  1. My server has 64 GB of RAM meaning I have to buy (and renew!) a license. But there is nothing to renew because they aren’t maintaining the management tool. Hyper-V is free!
  2. My virtualized development machines could not run any emulators (because they are all hyper-v based). I tried a lot (it should be possible with some hacks), but couldn’t get it to work.
  3. No complex web management, I can connect to the Hyper-V server from a local Hyper-V manager instance.

Tools

Below are the tools I used for the migration:

Tool Description
CopyFile Can copy extremely large files (the virtual hard disks) with resume options in case your network has a hickup
StarWind V2V Converter Converts your VMWare disks to the required vhdx format

Prerequisite steps

Before shutting down your VMWare server, perform the following steps.

  1. Uninstall VMWare tools from all virtual machines (you won’t be needing them)
  2. Shut down all the virtual machines
  3. Backup the virtual machines (in my case, to a NAS). You can use the CopyFile utility here.
  4. Convert the disks using the StarWind V2V Converter. I enabled Windows Repair Mode on all conversions, but not sure if that was really required. This step takes a long time, make sure to start this a soon as possible.

Hyper-V installation

Now we have a backup of all the virtual machines, it’s time to start the installation of Hyper-V. Burn an image of the Hyper-V server installation media so it’s ready.

  1. [optional]. Upgrade the drivers of your raid controller. I have an intel raid controller and had a terrible copy file performance (lots of hickups, 4 MB / s). After trying a lot, I decided to update the raid controller drivers. After this upgrade, the problems were gone so I recommend to do this as a first step to not lose a day like I did.
  2. Insert the Hyper-V media and install Hyper-V server

Post Hyper-V installation steps

  1. Enable remote management (if you are not in a domain, scroll to the bottom)
  2. Connect to the remote Hyper-V server using Hyper-V Manager on any Windows machine (in my case, my computer running Windows 10).
  3. Enable remote file access:
    netsh advfirewall firewall set rule group=”File and Printer Sharing” new enable=Yes
  4. Enable remote desktop access using option 7 in the Hyper-V configuration command line

Migration steps

Once Hyper-V is installed and configured, you can start adding your virtual machines.

  1. Copy the vhdx files to your Hyper-V server using CopyFile. Note that you need to use this destination folder:
    \\[servername]\C$\Users\Public\Documents\Hyper-V\Virtual hard disks\[vmname]
  2. Now the file is copied, create a new virtual machine but don’t forget to connect the existing virtual hard disk.
  3. By default Hyper-V will create a virtual machine with a single CPU. Go to the settings of the virtual machine to update it to the correct number (e.g. 4).
  4. Start the virtual machine, it should start without any issues.