This guide walks you through converting and migrating VMware virtual machines to Microsoft Hyper-V, covering both the free Microsoft Virtual Machine Converter (MVMC) and the manual disk-conversion method. You’ll learn what to prepare, the exact steps for each approach, and how to avoid common pitfalls that cause boot failures or data loss.
What You’ll Need
- A Windows Server or Windows 10/11 machine with Hyper-V role enabled (the destination host).
- Administrator access to both the VMware environment (vCenter or ESXi host) and the Hyper-V host.
- Enough free disk space on the Hyper-V host to hold the converted VHDX files (typically at least the size of the source VM’s used disk space).
- Microsoft Virtual Machine Converter 3.0 (MVMC) – free download from Microsoft, or the standalone disk2vhd tool if you prefer a manual method.
- A maintenance window – the VM will be offline during the final conversion step.
- Knowledge of the source VM’s operating system, applications, and any special drivers or licensing.
Step-by-Step
- Prepare the source VM. Inside the VMware VM, uninstall VMware Tools. This removes VMware-specific drivers and services that can conflict with Hyper-V. Also, ensure the VM is fully patched and that you have local administrator credentials.
- Check the guest OS compatibility. Hyper-V supports Windows, Linux, and FreeBSD guests, but not all versions. For Windows, check Microsoft’s supported guest OS list. For Linux, ensure the kernel has the required Hyper-V drivers (hv_vmbus, hv_storvsc, etc.). If the OS is not supported, consider an OS-level migration instead.
- Shut down the VM. For a consistent conversion, power off the VM in VMware. Do not use snapshots – merge or delete them first. A VM with snapshots will convert incorrectly.
- Choose your conversion method. Option A (recommended): Use MVMC. Option B: Manually convert the VMDK to VHDX using disk2vhd or StarWind V2V Converter. The steps below cover both.
- Option A – Using MVMC:
- Install MVMC on a Windows machine that can reach both the VMware vCenter/ESXi host and the Hyper-V host.
- Open MVMC and select “Convert Virtual Machine”.
- Enter the vCenter or ESXi host credentials and select the VM you want to convert.
- Enter the Hyper-V host credentials and specify a destination folder for the VHDX file.
- Choose the destination disk type (VHDX is recommended for larger disks) and select “Place the virtual machine on the Hyper-V host”.
- Start the conversion. MVMC will copy the disk and create a Hyper-V VM with the same settings.
- Option B – Manual conversion:
- Copy the VMDK file(s) from the datastore to a temporary location on the Hyper-V host. Use the vSphere client or SCP.
- Download and run disk2vhd on a Windows machine (or use StarWind V2V Converter on the Hyper-V host).
- In disk2vhd, select “Use VHDX” and choose the VMDK file as the source. Uncheck “Use Volume Shadow Copy” if the VM is offline.
- Click “Create” to convert the VMDK to a VHDX file. The process may take a while depending on disk size.
- In Hyper-V Manager, create a new VM. Choose “Use an existing virtual hard disk” and select the converted VHDX.
- Attach the network adapter and any other virtual hardware (DVD drive, etc.) as needed.
- Start the VM and install Hyper-V Integration Services. Boot the VM. If it boots to a black screen or crashes, see Troubleshooting below. Once booted, mount the “Integration Services Setup” disk from the VM’s DVD drive (for Windows) or install the Linux Integration Services (LIS) package for Linux guests.
- Update the boot configuration (if needed). For Windows guests, after installing Integration Services, run
bcdedit /set hypervisorlaunchtype autoin an elevated command prompt. For Linux, ensure the initramfs includes the Hyper-V drivers. - Remove the old VMware tools remnants. If you didn’t uninstall VMware Tools before conversion, do it now. Also, delete any leftover VMware drivers from Device Manager.
- Test thoroughly. Reboot the VM several times, test network connectivity, and verify that all applications work. Check Event Viewer for driver errors.
Common Mistakes
- Not uninstalling VMware Tools. This is the #1 cause of boot failures. VMware Tools installs a SCSI driver that Hyper-V doesn’t recognize, leading to a blue screen (INACCESSIBLE_BOOT_DEVICE).
- Converting a VM with snapshots. Snapshots create delta disks that MVMC or disk2vhd may not handle correctly, resulting in a corrupt or incomplete VHDX.
- Not checking disk space. The conversion process requires roughly double the used disk space (VMDK + VHDX). Running out of space mid-conversion corrupts the output.
- Using the wrong disk format. For VMs larger than 2 TB, you must use VHDX, not VHD. VHD has a 2 TB limit.
- Ignoring OS support. Some older Linux kernels don’t have Hyper-V drivers, so the VM won’t boot after conversion. Check compatibility first.
Tips
- Use a test VM first. Convert a non-production VM to validate your process before touching critical systems.
- Keep the source VM untouched. Don’t delete the VMware VM until the Hyper-V VM has been running stably for at least a week.
- Use static IP addresses. If the VM uses DHCP, the IP may change after migration. Set a static IP beforehand to avoid connectivity issues.
- For Linux VMs, update the kernel before conversion. Newer kernels have better Hyper-V support. Also, install the
linux-image-virtualpackage if available. - Consider using the “Export” feature in Hyper-V after conversion. This creates a backup that you can use for rollback.
Troubleshooting
- Blue screen or boot failure (INACCESSIBLE_BOOT_DEVICE). This usually means the VMware SCSI driver is still present. Boot from a Windows installation media, open Command Prompt, and run
dism /image:C: /remove-driver /driver:vmstorflt.sys(replace C: with your system drive). Alternatively, use the registry editor to remove thevmstorfltservice. - VM boots but network is not working. Install Hyper-V Integration Services and ensure the network adapter is set to “Microsoft Hyper-V Network Adapter”. If the VM has a static IP, verify the subnet mask and gateway.
- VM boots to a black screen. This often happens with Linux guests. Make sure the kernel has the Hyper-V framebuffer driver (hv_vmbus). Rebuild the initramfs with
sudo update-initramfs -uafter installing LIS. - Disk space runs out during conversion. Stop the conversion, free up space, and start over. Do not try to resume a partial conversion.
- MVMC fails to connect to vCenter. Ensure you have the correct permissions (at least “Virtual machine power off” and “Datastore browse”). Also, check that the MVMC machine can resolve the vCenter hostname.
- VM is extremely slow after migration. This is often due to missing Integration Services. Install them and reboot. Also, check that the VM is using a Generation 2 configuration if the OS supports it (for UEFI boot).
Frequently Asked Questions
Can I migrate a VM while it is running?
It is possible with MVMC, but the VM must be shut down for a consistent snapshot. Live migration is not supported for VMware to Hyper-V. Always shut down the VM for a clean conversion.
Will my VMware VM’s static IP address remain the same?
Yes, if you keep the same network settings. However, the network adapter hardware changes, so Windows may rename the adapter (e.g., “Ethernet 2”). You may need to reassign the static IP to the new adapter.
Do I need to convert the disk to VHDX or VHD?
Use VHDX for new VMs. It supports larger disks (up to 64 TB), is more resilient to crashes, and has better alignment for large sector drives. Only use VHD if you need compatibility with older Hyper-V versions.
What about Linux VMs – any special steps?
Yes. Ensure the kernel has Hyper-V drivers (hv_vmbus, hv_storvsc, hv_netvsc). Most modern distributions include them, but you may need to install the linux-image-virtual package and update initramfs. Also, remove VMware-specific modules.
Can I use the free Hyper-V Server instead of Windows Server?
Yes. Microsoft Hyper-V Server is a free standalone product that supports the same VM functionality. You manage it remotely via Hyper-V Manager.
How long does the conversion take?
It depends on the disk size and the speed of your storage. A 50 GB VM might take 30 minutes to an hour. Plan for the VM to be offline for at least that long.
Related
Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.
More cards in this drawer
- Increase Internal Memory Xiaomi Phones: How-To
- Nvidia Display Settings Are Not Available: Fixes
- Gmod Keeps Crashing? Fixes That Actually Work
- Is 720p Streaming Obsolete?
- Cloudflare cf CLI: How Coding Agents Discover & Run Commands
- Protect AI from Model Extraction & Distillation