Virtual environment helps companies a lot but for IT administrators it requires new knowledge to manage VMs. Virtual machine management is different from physical machine management, especially in server migration.

Migrating physical machine requires complicated procedures to prepare hardware and copy data but virtual machine just consists of multiple files so moving virtual machine just requires exporting and importing data.

The difficulty during VM migration might be booting VM on a foreign hypervisor because the image often needs to be preprocessed before being imported to another host. In other words, a V2V converter is often needed during the migration procedures.

VMware users can export virtual machine to OVF or OVA template via OVF Tool. OVF is a folder and OVA contains nearly the same information like OVF but it's a zip file. Some virtual machine management tools like Xen Orchestra can directly recognize VMware template but Hyper-V doesn't have such a tool.

You can just import an entire Hyper-V VM or vhd/vhdx virtual disk to Hyper-V host so if you have an OVA or OVF template, you can convert it to vhd/vhdx virtual disk to import it to Hyper-V host.

Convert OVA/OVF to VHD/VHDX with Powershell

The entire VM template contains all the VM data like applications, snapshots, and configuration but all you need is the virtual disk for data migration and VMware virtual disk is saved as vmdk format. You can directly extract the vmdk file from OVF template and for OVA template, you also just need to unzip the file to find the vmdk file.

Now you need to install some applications on the local machine before converting the virtual disk. Make sure Microsoft Virtual Machine Converter 3.0 and PowerShell are installed on the local machine and then you can type the command below in PowerShell.

Import the Microsoft Converter Powershell Module:

Import-Module "C:\Program Files\Microsoft Virtual Machine Converter\MvmcCmdlet.psd1"

Convert the vmdk virtual disk to vhdx format:

ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath "virtual_disk_directory.vmdk" -DestinationLiteralPath "virtual_disk_directory.vhdx" -VhdType DynamicHardDisk -VhdFormat Vhdx

After that, you can create a new VM with the vhdx virtual disk or attach it to an existing VM.

Convert VMware virtual disk to VHD/VHDX with qemu-img

There is another conversion tool for convert the VMware virtual disk in OVF/OVA template, qemu-img, which supports converting multiple formats of virtual disks like vmdk, qcow2, raw, vhdx, etc.

You just need the command below:

qemu-img convert -f vmdk -O vhdx virtual_disk_directory.vmdk virtual_disk_directory.vhdx

Convert virtual disk for Hyper-V with VirtualBox

This doesn't mean you need to deploy related virtual environment. You just need the VirtualBox application and then use the command to convert the virtual disk. You even don't have to open the application after you install it on local machine.

VBoxManage.exe clonehd --format vhd "virtual_disk_directory.vmdk" "virtual_disk_directory.vhd"