Convert a VMware VM to Hyper-V in the VMM fabric
This article describes how to convert VMware VMs in the System Center Virtual Machine Manager (VMM) fabric to Hyper-V.
You can convert the VMs using the Convert Virtual Machine wizard. You can use this wizard from the VMM console.
VMM 2019 UR3 supports the conversion of VMware VMs to Hyper-V and Azure Stack HCI 20H2. Learn more about support to Azure Stack HCI 20H2.
Important
- See system requirements for supported versions of vSphere (ESXi).
- You can't convert VMware workstations.
- You can't convert VMs with virtual hard disks connected to an IDE bus.
- Anti-virus apps must be supported.
- Online conversions aren't supported. You need to power off the VMware VMs.
- VMware tools must be uninstalled from the guest operating system of the VM.
- We recommend upgrading to VMM 2022 UR2 to convert your VMware VMs to Hyper-V four times faster.
Note
We recommend that no more than ten conversions be triggered parallelly from the same ESXi source to the same Hyper-V destination. If the source-destination pair is different, VMM can support up to 100 VM conversions in parallel, with the remaining conversions queued. However, we recommend staging the VM conversions in smaller batches for higher efficiency.
Note
After conversion, all the VM disks except for the OS disk will be offline. This is because the NewDiskPolicy
parameter is set to offlineALL on VMware VMs by default. To override this and to have the new disks brought online after conversion, you can make one of the following changes to your VMware VM disk policy before initiating the conversion:
Set-StorageSetting -NewDiskPolicy OfflineShared
: To have all the new shared bus disks offline and all the new local bus disks onlineSet-StorageSetting -NewDiskPolicy OnlineAll
: To have all the new disks online, regardless of whether the disks are on a local or shared bus.
Important
- See system requirements for supported versions of vSphere (ESXi).
- You can't convert VMware workstations.
- You can't convert VMs with virtual hard disks connected to an IDE bus.
- Anti-virus apps must be supported.
- Online conversions aren't supported. You need to power off the VMware VMs.
- VMware tools must be uninstalled from the guest operating system of the VM.
- We recommend upgrading to VMM 2022 UR2 to convert your VMware VMs to Hyper-V four times faster.
Note
We recommend that no more than ten conversions be triggered parallelly from the same ESXi source to the same Hyper-V destination. If the source-destination pair is different, VMM can support up to 100 VM conversions in parallel, with the remaining conversions queued. However, we recommend staging the VM conversions in smaller batches for higher efficiency.
Note
After conversion, all the VM disks except for the OS disk will be offline. This is because the NewDiskPolicy
parameter is set to offlineALL on VMware VMs by default. To override this and to have the new disks brought online after conversion, you can make one of the following changes to your VMware VM disk policy before initiating the conversion:
Set-StorageSetting -NewDiskPolicy OfflineShared
: To have all the new shared bus disks offline and all the new local bus disks onlineSet-StorageSetting -NewDiskPolicy OnlineAll
: To have all the new disks online, regardless of whether the disks are on a local or shared bus.
There are currently a couple of methods for converting VMware VMs to Hyper-V:
Convert Virtual Machine Wizard: You can use this wizard from the VMM console.
Important
- See system requirements for supported versions of vSphere (ESXi).
- You can't convert VMware workstations.
- You can't convert VMs with virtual hard disks connected to an IDE bus.
- Anti-virus apps must be supported.
- Online conversions aren't supported. You need to power off the VMware VMs.
- VMware tools must be uninstalled from the guest operating system of the VM.
Microsoft Virtual Machine Converter: This standalone tool converts VMware VMs to Hyper-V hosts or Azure VMs. It also converts physical machines and disks to Hyper-V hosts.
Important
This tool has reached end of support.
Convert using the wizard
- Select VMs and Services > Home > Create > Create Virtual Machines > Convert Virtual Machine.
- In Convert Virtual Machine wizard > Select Source, select Browse and in Select Virtual Machine Source, select the VMware VMs you want to convert.
- In Specify Virtual Machine Identity, modify the machine name and description as required.
- In Virtual Machine Configuration, specify the number of processors and memory settings.
- In Select Host, select a Hyper-V host/Azure Stack HCI (applicable from VMM 2019 UR3 and later) for placement. In Select Path, configure the storage location on the host for the VM files. The default VM paths are listed.
- In Select Networks, select the logical network, virtual network, and the VLAN as applicable.
- In Add Properties, configure the required settings. In Summary, review the settings, and select Start the virtual machine after deploying it if necessary.
- Select Create to start the conversion. Verify the VM's conversion in VMs and Services > Home > Show > VMs.
Convert EFI-based VM to Hyper-V Generation 2 VM
System Center VMM enables the migration of EFI-based VMware VMs to Hyper-V. VMware VMs that you migrate to Microsoft Hyper-V platform can now take advantage of Generation 2 features.
The Convert Virtual Machine wizard enables this migration. Based on the firmware type (BIOS or EFI), the wizard selects and defaults the Hyper-V VM generation appropriately.
- BIOS-based VMs are migrated to Hyper-V VM Generation 1.
- EFI-based VMs are migrated to Hyper-V VM Generation 2.
Before you start
Ensure the following prerequisites are met:
- VMware VMs with firmware type as EFI
- VMware ESXi Hosts added in System Center VMM
Conversion procedure
To convert, follow the above procedure and select Generation 2 in step 4.
Once the VM is converted, you can see the Generation 2 VM as shown in the image below:
Note
- PowerShell commands allow you to provide the disk type for the target Hyper-V VM, which will enable the VMware thick provisioned disk to be migrated as Hyper-V dynamic disk or vice versa, based on the requirements.
Convert using PowerShell cmdlets
Here are the sample cmdlets:
New-SCV2V -VMHost <Host> -VMXPath <string> [-EnableVMNetworkOptimization <bool>] [-EnableMACAddressSpoofing
<bool>] [-VMMServer <ServerConnection>] [-LibraryServer <LibraryServer>] [-JobGroup <guid>] [-Trigger] [-VhdType
{UnknownType | DynamicallyExpanding | FixedSize}] [-VhdFormat {VHD | VHDX}] [-Description <string>] [-Name
<string>] [-Owner <string>] [-UserRole <UserRole>] [-Path <string>] [-StartVM] [-CPUCount <byte>]
[-CPURelativeWeight <int>] [-CPUType <ProcessorType>] [-MemoryMB <int>] [-Generation <int>] [-DelayStartSeconds
<int>] [-StartAction {NeverAutoTurnOnVM | AlwaysAutoTurnOnVM | TurnOnVMIfRunningWhenVSStopped}] [-StopAction
{SaveVM | TurnOffVM | ShutdownGuestOS}] [-LogicalNetwork <LogicalNetwork>] [-VMNetwork <VMNetwork>]
[-NoConnection] [-MACAddress <string>] [-MACAddressType <string>] [-SourceNetworkConnectionID <string>]
[-VirtualNetwork <VirtualNetwork>] [-VirtualNetworkAdapter <VirtualNetworkAdapter>] [-VLanEnabled <bool>] [-VLanID
<uint16>] [-OverridePatchPath <string>] [-SkipInstallVirtualizationGuestServices] [-NetworkLocation <string>]
[-NetworkTag <string>] [-RunAsynchronously] [-PROTipID <guid>] [-JobVariable <string>] [<CommonParameters>]
Convert VMware VMs to Hyper-V faster
- As a prerequisite to start converting VMware VMs to Hyper-V four times faster, upgrade to SCVMM 2022 UR2 or later.
- As part of SCVMM 2022 UR2, a new registry named V2VTransferChunkSizeBytes is introduced at HKLM:\SOFTWARE\Microsoft\Microsoft System Center Virtual Machine Manager Agent in the Hyper-V hosts managed by SCVMM.
- This registry of type REG_DWORD, with a value of 2147483648, which is 2 GB in bytes has to be set on every Hyper-V host managed by VMM by running this script from the VMM Console.
- Alternatively, if you want to set this registry value in a single host and not on all the hosts, run this script from the VMM Console.
- After setting this registry value, if you remove any Hyper-V host(s) from SCVMM, stale entries for this registry might remain. If the same host(s) is re-added to SCVMM, the previous value of registry V2VTransferChunkSizeBytes will be honored.
VMM offers a simple wizard-based experience for V2V (Virtual to Virtual) conversion.
Important
- Review the system requirements for the supported vCenter/ESXi servers.
- Review the list of ports required for ESXi and Hyper-V hosts and vCenter server.
- Review this article about managing vCenter servers, ESXi hosts and VMware VMs in SCVMM.
- You can't convert VMware workstations.
- You can't convert VMs with virtual hard disks connected to an IDE bus.
- VMware tools must be uninstalled from the guest operating system of the VM.
- VMware VMs residing on vSAN-type storage can't be converted to Hyper-V with SCVMM.
- Online conversions aren't supported through SCVMM.
- We recommend upgrading to VMM 2025 to convert your VMware VMs to Hyper-V four times faster and to have an enhanced conversion experience.
Start by bringing your vCenter server and the source ESXi hosts under SCVMM management
Create Run as account for vCenter Server Administrator role in VMM. These administrator credentials are used to manage vCenter server and ESXi hosts.
In the VMM console, under Fabric, select Servers > Add VMware vCenter Server.
In the Add VMware vCenter Server page, do the following:
a. Computer name: Specify the vCenter server name.
b. Run As account: Select the Run As account created for vSphere administrator.Select Finish.
On the Import Certificate page, select Import.
After the successful addition of the vCenter server, all the ESXi hosts under the vCenter are discovered in VMM.
In the VMM console, under Fabric, select Servers > Add VMware ESX Hosts and Clusters.
In the Add Resource Wizard,
a. Under Credentials, select the Run as account with administrator privileges on the ESXi host to be added and select Next.b. Under Target Resources, select all the ESXi clusters that need to be added to VMM and select Next.
c. Under Host Settings, select the host group where you want to add the VMs and select Next.
d. Under Summary, review the settings and select Finish. Along with the hosts, associated VMs will also get added.
Convert your VMware VMs to Hyper-V
Now that your VMware VMs are discovered and manageable by VMM, you can convert these VMs to Hyper-V by following these instructions:
Ensure the VMware VMs that are to be converted are in the Stopped state and that there are no snapshots associated with them.
Select VMs and Services > Home > Convert Virtual Machine.
In Convert Virtual Machine wizard > Select Source, select Browse, and in Select Virtual Machine Source, select the VMware VM you want to convert.
In Specify Virtual Machine Identity, modify the machine name and description as required.
In Virtual Machine Configuration, specify the number of processors and memory settings.
In Select Host, select a Hyper-V host/Azure Local for placement. In Select Path, configure the storage location on the host for the VM files. The default VM path is listed.
In Select Networks, select the logical network, virtual network, and the VLAN as applicable.
In Add Properties, configure the required settings. In Summary, review the settings, and select Start the virtual machine after deploying it if necessary.
Select Create to start the conversion. Verify the VMs' conversion in VMs and Services > Home > Show > VMs.
Note
After conversion, all the VM disks except for the OS disk will be offline. This is because the NewDiskPolicy
parameter is set to offlineALL on VMware VMs by default. To override this and to have the new disks brought online after conversion, you can make one of the following changes to your VMware VM disk policy before initiating the conversion:
Set-StorageSetting -NewDiskPolicy OfflineShared
: To have all the new shared bus disks offline and all the new local bus disks online.Set-StorageSetting -NewDiskPolicy OnlineAll
: To have all the new disks online, regardless of whether the disks are on a local or shared bus.
Convert using PowerShell cmdlet
Here's the PowerShell cmdlet for V2V conversion via SCVMM with all the parameters:
New-SCV2V -VMHost <Host> -VMXPath <string> [-EnableVMNetworkOptimization <bool>] [-EnableMACAddressSpoofing
<bool>] [-VMMServer <ServerConnection>] [-LibraryServer <LibraryServer>] [-JobGroup <guid>] [-Trigger] [-VhdType
{UnknownType | DynamicallyExpanding | FixedSize}] [-VhdFormat {VHD | VHDX}] [-Description <string>] [-Name
<string>] [-Owner <string>] [-UserRole <UserRole>] [-Path <string>] [-StartVM] [-CPUCount <byte>]
[-CPURelativeWeight <int>] [-CPUType <ProcessorType>] [-MemoryMB <int>] [-Generation <int>] [-DelayStartSeconds
<int>] [-StartAction {NeverAutoTurnOnVM | AlwaysAutoTurnOnVM | TurnOnVMIfRunningWhenVSStopped}] [-StopAction
{SaveVM | TurnOffVM | ShutdownGuestOS}] [-LogicalNetwork <LogicalNetwork>] [-VMNetwork <VMNetwork>]
[-NoConnection] [-MACAddress <string>] [-MACAddressType <string>] [-SourceNetworkConnectionID <string>]
[-VirtualNetwork <VirtualNetwork>] [-VirtualNetworkAdapter <VirtualNetworkAdapter>] [-VLanEnabled <bool>] [-VLanID
<uint16>] [-OverridePatchPath <string>] [-SkipInstallVirtualizationGuestServices] [-NetworkLocation <string>]
[-NetworkTag <string>] [-RunAsynchronously] [-PROTipID <guid>] [-JobVariable <string>] [<CommonParameters>]
Note
We recommend that no more than ten conversions be triggered parallelly from the same ESXi source to the same Hyper-V destination. If the source-destination pair is different, VMM can support up to 100 VM conversions in parallel, with the remaining conversions queued. However, we recommend staging the VM conversions in smaller batches for higher efficiency.