Jaa


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 online
  • Set-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.
  • VMware VMs residing on vSAN-type storage can't be converted to Hyper-V with SCVMM.
  • 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 online
  • Set-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

  1. Select VMs and Services > Home > Create > Create Virtual Machines > Convert Virtual Machine.
  2. In Convert Virtual Machine wizard > Select Source, select Browse and in Select Virtual Machine Source, select the VMware VMs you want to convert.
  3. In Specify Virtual Machine Identity, modify the machine name and description as required.
  4. In Virtual Machine Configuration, specify the number of processors and memory settings.
  5. 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.
  6. In Select Networks, select the logical network, virtual network, and the VLAN as applicable.
  7. In Add Properties, configure the required settings. In Summary, review the settings, and select Start the virtual machine after deploying it if necessary.
  8. 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

  1. To convert, follow the above procedure and select Generation 2 in step 4.

    Screenshot of Configure VM conversion to gen 2.

  2. Once the VM is converted, you can see the Generation 2 VM as shown in the image below:

    Screenshot of vm conversion to gen 2.

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

  1. Create Run as account for vCenter Server Administrator role in VMM. These administrator credentials are used to manage vCenter server and ESXi hosts.

    Screenshot of create run as account page.

  2. In the VMM console, under Fabric, select Servers > Add VMware vCenter Server.

    Screenshot of add VMware vCenter server option.

  3. 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.

    Screenshot of specify vCenter server page.

  4. Select Finish.

  5. On the Import Certificate page, select Import.

    Screenshot of import certificate page.

  6. After the successful addition of the vCenter server, all the ESXi hosts under the vCenter are discovered in VMM.

  7. In the VMM console, under Fabric, select Servers > Add VMware ESX Hosts and Clusters.

    Screenshot of add VMware ESX hosts and clusters page.

  8. 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.

    Screenshot of add resource wizard page.

    b. Under Target Resources, select all the ESXi clusters that need to be added to VMM and select Next.

    Screenshot of select ESXi computers page.

    c. Under Host Settings, select the host group where you want to add the VMs and select Next.

    Screenshot of add virtual machine path page.

    d. Under Summary, review the settings and select Finish. Along with the hosts, associated VMs will also get added.

    Screenshot of confirm settings page.

  9. Select Fabric > Servers> All Hosts and in the host group, check the status of each host or cluster. The Host Status should be either OK or OK (limited).

  10. If the status is limited, it means you've enabled the setting Communicate with VMware ESX hosts in secure mode but haven't yet imported a certificate from each vSphere host. To modify the security setting, right-click the vCenter server > Properties > Security.

  11. To import the certificate, select each relevant host name > Properties > Management > Retrieve > OK. The host status must be OK after the import.

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:

  1. Ensure the VMware VMs that are to be converted are in the Stopped state and that there are no snapshots associated with them.

  2. Select VMs and Services > Home > Convert Virtual Machine.

  3. In Convert Virtual Machine wizard > Select Source, select Browse, and in Select Virtual Machine Source, select the VMware VM you want to convert.

  4. In Specify Virtual Machine Identity, modify the machine name and description as required.

  5. In Virtual Machine Configuration, specify the number of processors and memory settings and select the Generation of the target VM.

  6. 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.

  7. In Select Networks, select the logical network, virtual network, and the VLAN as applicable.

  8. In Add Properties, configure the required settings. In Summary, review the settings, and select Start the virtual machine after deploying it if necessary.

  9. 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.

Note

Non-Microsoft migration options are provided by Microsoft partners. These options are available to you at an additional cost but can help reduce the VM downtime during migration. The following non-Microsoft migration options are available:

Next steps

Manage the VM settings.