How to migrate VMware virtual machines to Hyper-V
Inventory your vSphere estate, build Hyper-V hosts and virtual switches, prepare Windows and Linux guests, convert VMs with Windows Admin Center or System Center Virtual Machine Manager, then fix integration services, networking and licensing on the other side.
Your migration plan
This moves virtual machines (VMs) from VMware vSphere onto Microsoft Hyper-V hosts you run yourself. Microsoft's conversion tools copy each VM's disks into Hyper-V format, and most of the work is around them: preparing the guests, building matching networks, and tidying each VM afterwards. The time is driven by how many VMs you have and how long each one can be offline: VMM keeps a VM off for the whole copy, while Windows Admin Center copies first and stops it only briefly.
Both are Microsoft tools. VMM is supported for production; VM Conversion costs nothing extra and suits test and lower-risk VMs.
Other options and when to use them
- Third-party backup or replication tool such as Veeam: Large or critical VMs that cannot be offline for long, or VMs on vSAN, where you want vendor support.
- Rebuild on Hyper-V and move the application: Old or unsupported guest operating systems, appliances, or servers you want to modernise anyway.
Build the Hyper-V side and prepare each guest first, prove the method on two low-risk VMs, then move applications in waves with the most critical last. Each step depends on the one before: a VM can only land on a host, switch and VLAN that already exist, and it only boots if its drivers were added while it still ran on VMware.
- Inventory: every VM with its guest operating system, firmware, disks, snapshots and networkDecides which VMs convert, which are rebuilt and which tool each one needs, before you spend time on hosts.
- Hyper-V hosts, virtual switches, VLANs, storage and backupA converted VM needs a matching network and enough storage to land on, and a backup job from its first day on Hyper-V.
- Guest preparation while the VMs still run on VMwareLinux drivers, snapshot removal and recorded IP settings must be done on the source. Missing drivers mean the VM may not boot after conversion.
- Pilot: one Windows VM and one Linux VM that are not criticalShows the real downtime per tool and the fix-ups each VM needs, before you promise windows to owners.
- Waves of standalone and low-risk VMsBuilds confidence and timing data while a failure affects few people.
- Application groups: each application with its database and web servers in one waveThe application is tested as a whole and has one outage, instead of running half on each platform.
- Large and critical VMs in long windowsVMM keeps a VM off for the whole copy, so these need the longest windows and the most proven process.
- Decommission vSphere after the last wave is signed offThe powered-off source VMs are your rollback until owners sign off and Hyper-V backups are proven.
Built-in and third-party tools treat these differently. Tick each one off once you have decided.
Download this checklist (Excel)How each tool handles it
Built-in methodWindows Admin Center VM Conversion (Microsoft's free extension): its prechecks verify the VM has no snapshots. System Center VMM (Virtual Machine Manager): the VM must have no snapshots and be stopped. Neither tool converts a VM with snapshots.Veeam Backup & ReplicationNot stated in Veeam's documentation: test it in your pilot.StarWind V2V ConverterNot stated in StarWind's documentation: test it in your pilot.Tip: Consolidate snapshots in a quiet period a few days before each wave, because large consolidations are disk heavy.
Microsoft Learn: Convert a VMware VM to Hyper-V in the VMM fabricHow each tool handles it
Built-in methodVM Conversion: does not support VMs running on vSAN. VMM: VMs on vSAN storage cannot be converted.Veeam Backup & ReplicationBacks up VMs on vSAN (Veeam documents virtual appliance mode for this), then Instant Recovery to Microsoft Hyper-V starts the backup as a Hyper-V VM.StarWind V2V ConverterNot stated in StarWind's documentation: test it in your pilot.Tip: Without a backup tool, Storage vMotion each vSAN VM to a VMFS or NFS datastore before its wave.
Microsoft Learn: VMware to Hyper-V migration FAQ (VM Conversion)How each tool handles it
Built-in methodVM Conversion: writes dynamically expanding VHDX files (they grow as data is added) holding only used space, so a 500 GB disk with 250 GB used arrives as 250 GB. Microsoft says this may cause storage management issues later, and suggests Convert-VHD to fixed. VMM: the wizard does not offer a choice, but New-SCV2V -VhdType sets DynamicallyExpanding or FixedSize.Veeam Backup & ReplicationInstant Recovery runs the VM from the backup at reduced performance until you migrate it to production storage. The disk format it writes: not stated in Veeam's documentation: test it in your pilot.StarWind V2V ConverterNot stated in StarWind's documentation: test it in your pilot.Tip: Size host storage for each VM's provisioned size plus growth, not only the space used today.
Microsoft Learn: VMware to Hyper-V migration FAQ (VM Conversion)How each tool handles it
Built-in methodVMM: cannot convert VMs with disks on an IDE bus. BIOS VMs with more than four disks do not get every disk attached, so run Microsoft's AttachDiskScript.ps1. Every disk except the OS disk arrives offline unless you change the disk policy first. VM Conversion: not stated in Microsoft's documentation: test it in your pilot.Veeam Backup & ReplicationNot stated in Veeam's documentation: test it in your pilot.Tip: After conversion, check Disk Management in each Windows guest and bring data disks online before handing the VM back.
Microsoft Learn: Convert a VMware VM to Hyper-V in the VMM fabricHow each tool handles it
Built-in methodVM Conversion: BIOS VMs become Generation 1 and UEFI VMs Generation 2 automatically (the two Hyper-V VM types). VMM: you choose Generation 1 for BIOS or Generation 2 for UEFI in the wizard. Secure Boot and virtual TPM: not stated in Microsoft's conversion documentation: test it in your pilot. Linux Generation 2 VMs need the MicrosoftUEFICertificateAuthority Secure Boot template.Veeam Backup & ReplicationNot stated in Veeam's documentation: test it in your pilot.StarWind V2V ConverterNot stated in StarWind's documentation: test it in your pilot.Tip: Back up BitLocker recovery keys for every Windows VM with a virtual TPM before its wave.
Microsoft Learn: VMware to Hyper-V migration FAQ (VM Conversion)How each tool handles it
Built-in methodVM Conversion: Microsoft says Hyper-V drivers must be installed on Linux VMs before migration, using Linux Integration Services or the distribution's built-in drivers. VMM: not stated on Microsoft's VMM conversion page: apply the same check.Veeam Backup & ReplicationNot stated in Veeam's documentation: test it in your pilot.Tip: Check hv_vmbus, hv_storvsc and hv_netvsc are in the initramfs (the boot-time driver bundle) of each Linux VM, and rebuild it if not.
Microsoft Learn: Supported Linux and FreeBSD virtual machines for Hyper-VHow each tool handles it
Built-in methodVMM: VMware Tools must be uninstalled before conversion. VM Conversion: Microsoft's FAQ says VMware Tools are not uninstalled automatically after migration, although its overview page says they are removed from Windows VMs. Check each VM after migration.Veeam Backup & ReplicationNot stated in Veeam's documentation: test it in your pilot.StarWind V2V ConverterNot stated in StarWind's documentation: test it in your pilot.Tip: On the VM Conversion route, leave VMware Tools in place until the VM runs on Hyper-V, then uninstall it and restart.
Microsoft Learn: VMware to Hyper-V migration FAQ (VM Conversion)How each tool handles it
Built-in methodVM Conversion: supports DHCP and static IPs. When it detects a static IP it asks for guest credentials, captures the settings with a script and reapplies them after cutover. VMM: you pick the logical network, VM network and VLAN in Select Networks. Whether VMM keeps static IP settings: not stated in Microsoft's VMM documentation: test it in your pilot.Veeam Backup & ReplicationNot stated in Veeam's documentation: test it in your pilot.StarWind V2V ConverterNot stated in StarWind's documentation: test it in your pilot.Tip: Record ipconfig /all or ip addr output for every VM, and remove hidden old VMware adapters in Device Manager after conversion.
Microsoft Learn: VMware to Hyper-V migration FAQ (VM Conversion)How each tool handles it
Built-in methodVM Conversion: the new VM's BIOS GUID (a hardware ID) does not match the source unless you run Microsoft's Update-VMBiosInfo.ps1. The BIOS serial number is never updated, so licences tied to both values will not match. MAC address handling: not stated in Microsoft's documentation. VMM: New-SCV2V has -MACAddress and -MACAddressType parameters, which Microsoft lists without explaining.Veeam Backup & ReplicationNot stated in Veeam's documentation: test it in your pilot.Tip: Ask each software vendor how to move the licence before the wave, and set a static MAC on the Hyper-V adapter where one is needed.
Microsoft Learn: VMware to Hyper-V migration FAQ (VM Conversion)How each tool handles it
Built-in methodVM Conversion: memory is set to static, even if the source VM used dynamic memory. You can turn dynamic memory back on after migration. VMM: you set processors and memory in the Virtual Machine Configuration page.Veeam Backup & ReplicationNot stated in Veeam's documentation: test it in your pilot.Tip: Re-enable dynamic memory with Set-VMMemory only after the owner's tests pass.
Microsoft Learn: VMware to Hyper-V migration FAQ (VM Conversion)How each tool handles it
Built-in methodNeither Microsoft tool changes licensing. Windows Server guest licences are counted against the physical hosts, so the number of VMs per host and each host's edition decide what you need.Tip: Ask your Microsoft licensing partner to confirm guest rights for the planned host layout before the first wave, and check Windows activation on each VM after conversion.
How each tool handles it
Built-in methodVM Conversion: copies disks while the VM runs, then at Migrate powers off the source, runs a final sync of changes and imports the VM. Up to 10 VMs at a time, and the browser session must stay signed in. It is a preview with no Microsoft support obligation. VMM: online conversion is not supported, so the VM is off for the whole copy. Microsoft advises no more than 10 at once per ESXi and Hyper-V host pair, and up to 100 across different pairs. VMM 2022 UR2 or later copies faster with the V2VTransferChunkSizeBytes registry value.Veeam Backup & ReplicationInstant Recovery starts the VM from its backup within minutes, at reduced performance until moved to production storage. Changes after the last backup are not included, so shut down the source and run a final incremental backup first.StarWind V2V ConverterNot stated in StarWind's documentation: test it in your pilot.Tip: Time each tool on the pilot VMs and size every later window from those figures.
Microsoft Learn: Convert a VMware VM to Hyper-V in the VMM fabricHow each tool handles it
Built-in methodVM Conversion: powers off the source VM at cutover. VMM: needs the source powered off before it starts. Microsoft's pages do not say either tool deletes the source, so it stays in vSphere until you remove it. On the VMM route, VMware Tools must be reinstalled if you roll back.Veeam Backup & ReplicationThe Veeam backups taken on VMware remain a restore point, and the same product backs up Hyper-V VMs after the move.Tip: Rename each source VM with a -migrated suffix and disconnect its network adapters so it cannot start on the network by accident.
Microsoft Learn: VM Conversion extension overview
- 1
List what you run
Before you build anythingWatch out: Neither Microsoft tool (VM Conversion or VMM) converts VMs on vSAN or with snapshots.
Ways around it
- Delete or consolidate snapshots, and Storage vMotion vSAN VMs to a VMFS or NFS datastore first.
Tools that can do it
- Veeam Backup & ReplicationBacks up the VM from vSAN, then Instant Recovery to Microsoft Hyper-V starts it as a Hyper-V VM.
Show the detailed steps (4) →Watch out: Hyper-V gives each VM a new network card and BIOS identity, which can break software licensed by MAC address, BIOS GUID or serial number.
Ways around it
- Ask each vendor how to re-license before you move.
- Use Microsoft's script to set the BIOS GUID, or a static MAC address. The serial number cannot be matched.
- 2
Build the Hyper-V hosts
Watch out: vSphere port groups, VLAN IDs and network teaming do not convert, so a wrong switch or VLAN leaves the VM with no network.
Ways around it
- Map every port group to a Hyper-V switch and VLAN in the Network and DNS worksheet, and test before converting.
Watch out: VM Conversion writes dynamically expanding disks that hold only used space and grow later, which can overfill storage.
Ways around it
- Size storage for the provisioned size, and convert critical disks to fixed size after migration.
Check your DNS records before and after the change
Show the detailed steps (4) → - 3
Prepare the guests
Before each waveWatch out: A Linux VM without Hyper-V drivers in its initramfs may not boot after conversion.
Ways around it
- Add the drivers with your distribution's tool, rebuild the initramfs and reboot before migrating.
Show the detailed steps (4) →Watch out: Microsoft's pages disagree on whether VM Conversion removes VMware Tools.
Ways around it
- Leave VMware Tools in place on the VM Conversion route, then check and remove them after migration.
- 4
Convert the VMs
In the change windowWatch out: VM Conversion is a preview with no Microsoft support obligation.
Ways around it
- Use it for test, development and less critical VMs, with a tested backup of each.
Tools that can do it
- System Center Virtual Machine ManagerSupported Microsoft product. Converts powered-off VMware VMs, up to 10 per ESXi and Hyper-V host pair. Does not convert VMs on vSAN.
- Veeam Backup & ReplicationInstant Recovery starts VMs from Veeam backups as Hyper-V VMs within minutes, at reduced performance until moved to production storage.
- StarWind V2V ConverterConverts a selected VM from an ESXi host directly to a Hyper-V host.
Show the detailed steps (5) →Watch out: VMM keeps the VM powered off while it copies every disk, so large VMs have long outages.
Ways around it
- Schedule large VMs into long windows, and on VMM 2022 UR2 or later set the V2VTransferChunkSizeBytes registry value for faster copies.
Tools that can do it
- Veeam Backup & ReplicationRuns the VM on Hyper-V from its backup within minutes. Shut down the source and run a final incremental backup first.
- 5
Fix up each VM
Watch out: VM Conversion sets memory to static and disks to dynamically expanding.
Ways around it
- Re-enable dynamic memory with Set-VMMemory, and convert critical disks to fixed with Convert-VHD.
Show the detailed steps (6) →Watch out: VMM: Microsoft does not say it keeps static IP settings, and every disk except the OS disk arrives offline.
Ways around it
- Reapply the recorded IP settings, and bring disks online in Disk Management.
- 6
Test, switch and retire
After each wave, then after the last oneWatch out: Once users write data on Hyper-V, rolling back means copying it back, and deleted snapshots cannot be recovered.
Ways around it
- To roll back, shut down the Hyper-V VM, reconnect the source and power it on.
- On the VMM route, reinstall VMware Tools on the source after rolling back.
Turn this phase into dated tasks with the cutover planner
Show the detailed steps (3) →
- Every VM in the wave runs on Hyper-V with the right generation, CPU, memory and all its disks online.
- Each VM has its recorded IP and VLAN, no VMware Tools, and Windows is activated.
- Every owner has signed off, and each VM has a successful Hyper-V backup.
- Every source VM is powered off, renamed and disconnected until decommissioning.
Tools named in this plan are independent third-party products, not endorsed by the platform vendor and not paid placements. Check the tool's own documentation and run a pilot first.
Detailed steps
Open a part when you reach it in the plan. Each step says where to go, what to do and what you should see.
About this migrationWhat it covers, limits at a glance
Microsoft gives you two native ways to move VMware VMs to Hyper-V. The VM Conversion extension for Windows Admin Center copies disks while the VM keeps running and then does a short final sync, but it is a preview with no support obligation. System Center Virtual Machine Manager (VMM) has a supported Convert Virtual Machine wizard, but the VM must be shut down for the whole copy. Backup and replication products from other vendors are the third option.
Whichever tool you use, most of the work is around it: checking guest support, removing snapshots, getting Linux drivers in place, building virtual switches and VLANs that match vSphere port groups, and cleaning up after conversion (VMware Tools, IP addresses, memory, disk type, Secure Boot and licensing). This guide covers them in the order you meet them. If you are still choosing a platform, read the VMware alternatives guide first; for Azure, see VMware to Azure.
1What you need before step one
| Need | Details | Where to get it |
|---|---|---|
| vCenter access | An account with privileges on the VMs to migrate. VM Conversion supports vCenter 6.x, 7.x and 8.x. | Your vCenter Server |
| Hyper-V hosts | Windows Server with the Hyper-V role, and membership of the local Administrators or Hyper-V Administrators group. | Step 2 of this guide |
| Windows Admin Center (VM Conversion route) | Gateway version 2410 (build 2.4.12.10) or later, in the same site as the ESXi and Hyper-V hosts, with administrator rights, the latest PowerCLI, the Visual Studio 2015 (VC++ 14.0) and Visual C++ 2013 redistributables. | https://learn.microsoft.com/en-us/windows-server/manage/windows-admin-center/use/migrate-virtual-machines-vm-conversion-extension |
| VMware VDDK (VM Conversion route) | VMware Virtual Disk Development Kit version 8.0.3 exactly (other versions are not supported), extracted to C:\Program Files\WindowsAdminCenter\Service\VDDK on the gateway. | Broadcom's developer portal (sign-in required) |
| System Center VMM (VMM route) | A VMM server managing the Hyper-V hosts, with vCenter and ESXi hosts added to the fabric. | https://learn.microsoft.com/system-center/vmm/vm-convert-vmware |
| VMware PowerCLI | For the inventory commands in Step 1. | Install-Module VMware.PowerCLI in PowerShell 7 |
| Guest credentials | Local administrator or root on each VM, for driver checks, static IP capture and clean-up. | Your password vault |
| Tested backups | A restorable backup of every VM before conversion. | Your backup product |
2Inventory the vSphere estate4 steps
- 1
Export the VM list
Where: PowerShell 7 on your admin PC with VMware PowerCLI installed (Install-Module VMware.PowerCLI), connected with Connect-VIServerExport each VM's size, firmware and guest OS. Firmware decides the Hyper-V generation (BIOS to Generation 1, UEFI to Generation 2). Copy the file into your Application inventory and dependency map.
Connect-VIServer -Server vcenter.contoso.com Get-VM | Select-Object Name, PowerState, NumCpu, MemoryGB, ProvisionedSpaceGB, UsedSpaceGB, @{N="Firmware";E={$_.ExtensionData.Config.Firmware}}, @{N="GuestOS";E={$_.Guest.OSFullName}} | Export-Csv C:\migration\vms.csv -NoTypeInformationYou should see: C:\migration\vms.csv has one row per VM with Firmware set to bios or efi. - 2
Check guest OS support
Where: Your inventory, compared with Microsoft's supported guest listsVM Conversion lists Windows Server 2025, 2022, 2022 Azure Edition, 2019, 2016 and 2012 R2, Windows 10 and 11, Ubuntu 20.04 and 24.04, Debian 11 and 12, and AlmaLinux, CentOS and Red Hat 9.0. Also check each guest against Microsoft's Hyper-V supported Windows and Linux guest lists for your host version. Mark unsupported guests for rebuild.
You should see: Every VM is marked convert, rebuild or retire. - 3
Find snapshots, vSAN and IDE disks
Where: PowerShell 7 on your admin PC with VMware PowerCLI installed (Install-Module VMware.PowerCLI), connected with Connect-VIServerList snapshots and the datastore each VM uses. Neither Microsoft tool converts VMs with snapshots or on vSAN, and VMM does not convert VMs with IDE-bus disks.
Get-VM | Get-Snapshot | Select-Object VM, Name, Created, SizeGB Get-VM | Select-Object Name, @{N="Datastores";E={(Get-Datastore -RelatedObject $_).Name -join ","}}, @{N="DatastoreTypes";E={(Get-Datastore -RelatedObject $_).Type -join ","}}You should see: A list of VMs with snapshots and any datastore of type vsan, each with a plan to fix. - 4
Record networking and dependencies
Where: PowerShell 7 on your admin PC with VMware PowerCLI installed (Install-Module VMware.PowerCLI), connected with Connect-VIServer, and your Network and DNS worksheetExport each VM's network adapters, port groups and MAC addresses, and the VLAN for each port group. Note which VMs must move together (an application and its database) and group them into waves of up to 10 for VM Conversion.
Get-VM | Get-NetworkAdapter | Select-Object Parent, Name, NetworkName, MacAddress, Type | Export-Csv C:\migration\nics.csv -NoTypeInformation Get-VirtualPortGroup | Select-Object Name, VLanId, VirtualSwitchYou should see: Each port group has a VLAN ID and every VM is assigned to a wave in the Migration wave plan.
3Build the Hyper-V hosts, switches and storage4 steps
- 1
Install Hyper-V
Where: PowerShell run as administrator on the Hyper-V hostInstall the role and management tools; the host restarts. For a cluster, also add the Failover Clustering feature and build the cluster before migrating, so VMs land on shared storage.
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart # For a cluster Install-WindowsFeature -Name Failover-Clustering -IncludeManagementToolsYou should see: After the restart, Get-WindowsFeature Hyper-V shows Installed. - 2
Create virtual switches
Where: PowerShell run as administrator on the Hyper-V hostCreate an external switch bound to the physical adapter (or SET team) that carries VM traffic. Use the names in your Network and DNS worksheet on every host so VMs can move between them.
Get-NetAdapter New-VMSwitch -Name "VM-External" -NetAdapterName "Ethernet 2" -AllowManagementOS $falseYou should see: Get-VMSwitch lists VM-External with SwitchType External on every host. - 3
Prepare storage
Where: File Explorer or Failover Cluster Manager on the Hyper-V hostCreate the folder or Cluster Shared Volume that will hold the VHDX files, with space for each VM's provisioned size plus growth. You enter this path as the Path to store data (VM Conversion) or in Select Path (VMM).
You should see: The target path exists and has more free space than the total provisioned size of the wave. - 4
Test each VLAN
Where: Hyper-V Manager or Windows Admin Center on the hostCreate a small test VM on the switch, set its VLAN with the command below, and check it reaches its gateway and DNS. Repeat for each VLAN in the worksheet.
Set-VMNetworkAdapterVlan -VMName TEST01 -Access -VlanId 20You should see: The test VM gets the right IP range and can ping its gateway on every VLAN.
4Prepare the guests4 steps
- 1
Check Linux drivers
Where: SSH session to each Linux VM, as rootCheck the Hyper-V drivers are present and included in the initramfs. If they are missing, add them with your distribution's tool and rebuild the initramfs, for example with dracut on RHEL-based systems, then reboot and check again. Microsoft only says the drivers must be installed before migration; follow your distribution's Hyper-V instructions for details.
# Debian and Ubuntu lsinitramfs /boot/initrd.img-$(uname -r) | grep -E "hv_(vmbus|storvsc|netvsc)" # RHEL, AlmaLinux, CentOS lsinitrd | grep -E "hv_(vmbus|storvsc|netvsc)" dracut -f -v --add-drivers "hv_vmbus hv_storvsc hv_netvsc"You should see: The check lists hv_vmbus, hv_storvsc and hv_netvsc modules. - 2
Remove snapshots
Where: PowerShell 7 on your admin PC with VMware PowerCLI installed (Install-Module VMware.PowerCLI), connected with Connect-VIServerDelete or consolidate every snapshot on the VMs in the wave. Do it in a quiet period; consolidation of large snapshots is I/O heavy.
Get-VM -Name VM01 | Get-Snapshot | Remove-Snapshot -Confirm:$falseYou should see: Get-VM -Name VM01 | Get-Snapshot returns nothing. - 3
Record IP settings and local admin access
Where: Console or remote session to each VMRecord static IP, gateway and DNS settings (on Windows,
ipconfig /all; on Linux,ip addrandip route), and confirm you can sign in with a local administrator or root account in case the network does not come up after conversion. VM Conversion asks for guest credentials when it detects a static IP so it can capture and reapply it.You should see: The runbook holds the IP settings and a working local admin credential for every VM. - 4
Remove VMware Tools (VMM route only)
Where: Each Windows VM: Settings > Apps > Installed apps > VMware Tools > Uninstall; Linux: the package managerVMM requires VMware Tools to be uninstalled before conversion, then the VM must be shut down. Do not remove them for the VM Conversion route; check after migration instead (Step 6).
You should see: VMware Tools no longer appears in the guest's installed apps, and the VM is powered off in vCenter.
5Convert with Windows Admin Center VM Conversion5 steps
- 1
Install the extension
Where: Windows Admin Center > Settings (top right) > Extensions > Available ExtensionsSearch for VM Conversion (Preview) and select Install. Extract VDDK 8.0.3 to
C:\Program Files\WindowsAdminCenter\Service\VDDKon the gateway and install the latest PowerCLI and the two Visual C++ redistributables.You should see: VM Conversion (Preview) is listed under Installed Extensions. - 2
Connect to vCenter
Where: Windows Admin Center on the gateway server (https://), connected to the target Hyper-V server or cluster > Extensions > VM Conversion (Preview) From the Windows Admin Center home page, select the target Hyper-V server or cluster (or + Add > Server or Cluster). Open VM Conversion (Preview), select Connect to vCenter and enter the vCenter FQDN, vCenter username and vCenter password.
You should see: The vCenter VM list appears in the extension. - 3
Synchronise the wave
Where: Windows Admin Center on the gateway server (https://), connected to the target Hyper-V server or cluster > Extensions > VM Conversion (Preview) Select up to 10 VMs, enter the Path to store data in the Synchronize VM window and select Synchronize. Prechecks verify no snapshots, PowerCLI and VDDK present, a valid disk path, enough memory and disk space, and Change Block Tracking support. The source VMs keep running.
You should see: The notifications show the prechecks and sync completing, and a .vhdx file for each disk appears in the path. - 4
Migrate at the cutover time
Where: Windows Admin Center on the gateway server (https://), connected to the target Hyper-V server or cluster > Extensions > VM Conversion (Preview) > Migrate tab At the agreed time, select the VM and select Migrate, then Proceed. The extension runs a delta sync, powers off the source VM, runs a final delta sync and imports the VM into Hyper-V with its CPU, memory and network settings. Keep the browser session signed in until it finishes; if it times out the migration may pause or stop.
You should see: The VM appears in Hyper-V Manager and Windows Admin Center, and the source VM is powered off in vCenter. - 5
Read the logs if it fails
Where: The gateway serverCheck
C:\Program Files\WindowsAdminCenter\Service\VMConversion_log.txt, and Event Viewer under Applications and Services Logs > WindowsAdminCenter (source WebREST, Event ID 422). The browser console (More Tools > Developer Tools > Console) also shows errors.You should see: You can match the failure to a precheck or log entry and fix it before retrying.
6Convert with System Center VMM4 steps
- 1
Add vCenter and ESXi hosts to VMM
Where: VMM console on the VMM server or an admin PC > Fabric > ServersSelect Add VMware vCenter Server and enter its details, then Add VMware ESX Hosts and Clusters. For secure mode, import each host's certificate. Check the ports VMM needs between ESXi, vCenter and Hyper-V are open. See VMM's system requirements for the supported vCenter and ESXi versions.
You should see: The ESXi hosts show a status of OK or OK (limited). - 2
Shut down the source VM
Where: vSphere Client > the VM > Power > Shut Down Guest OSVMM does not support online conversion. Confirm the VM has no snapshots and VMware Tools has been removed (Step 3), then shut it down.
You should see: The VM shows Powered Off in vCenter and Stopped in VMM. - 3
Run the Convert Virtual Machine wizard
Where: VMM console on the VMM server or an admin PC > VMs and Services > Home > Convert Virtual MachineOn Select Source select Browse and pick the VMware VM. On Specify Virtual Machine Identity set the name. On Virtual Machine Configuration set processors and memory and choose Generation 1 for BIOS or Generation 2 for UEFI. On Select Host choose the Hyper-V host and in Select Path the storage location. On Select Networks choose the logical network, VM network and VLAN. On Summary tick Start the virtual machine after deploying it if wanted and select Create.
You should see: The job completes in the Jobs pane and the VM appears under VMs and Services > Home > Show > VMs. - 4
Attach extra disks on BIOS VMs
Where: VMM console on the VMM server or an admin PC and PowerShell on the VMM serverGeneration 1 VMs with more than four disks do not get all disks attached because of the IDE limit; run Microsoft's
AttachDiskScript.ps1from the VMM article after conversion. Data disks come online offline by default; bring them online in Disk Management, or set the disk policy on the source before conversion as Microsoft describes.You should see: Every disk from the source is attached and online in the guest.
7Fix up each VM after conversion6 steps
- 1
Check integration services
Where: PowerShell run as administrator on the Hyper-V hostWindows Server 2022 and 2025 guests have integration services built in; Microsoft's guest list shows what older guests need. Check the services are enabled and responding.
Get-VMIntegrationService -VMName VM01 | Format-Table Name, Enabled, PrimaryStatusDescriptionYou should see: Guest Service Interface, Heartbeat, Key-Value Pair Exchange, Shutdown, Time Synchronization and VSS are listed, with status OK for the ones enabled. - 2
Check the network inside the guest
Where: Hyper-V Manager > the VM > Connect (console)Sign in and check the new Hyper-V network adapter has the right IP, gateway and DNS. VM Conversion reapplies static IPs; VMM conversions may need you to set them again. If the VM was on a VLAN, set it on the adapter. Remove hidden old VMware adapters on Windows in Device Manager (View > Show hidden devices).
Set-VMNetworkAdapterVlan -VMName VM01 -Access -VlanId 20 Get-VMNetworkAdapter -VMName VM01 | Format-Table Name, SwitchName, MacAddress, IPAddressesYou should see: The VM has the expected IP address and can reach its gateway, DNS and dependent servers. - 3
Remove VMware Tools
Where: Inside each Windows VM: Settings > Apps > Installed appsIf VMware Tools is still listed, select it and Uninstall, then restart. Microsoft's VM Conversion FAQ lists that VMware Tools are not uninstalled automatically.
You should see: VMware Tools no longer appears in installed apps. - 4
Set Secure Boot for Linux Generation 2 VMs
Where: PowerShell run as administrator on the Hyper-V host (VM shut down)Linux Generation 2 VMs need the
MicrosoftUEFICertificateAuthoritySecure Boot template, or Secure Boot turned off, to boot supported distributions.Stop-VM -Name VM01 Set-VMFirmware -VMName VM01 -SecureBootTemplate MicrosoftUEFICertificateAuthority Start-VM -Name VM01You should see: The Linux VM boots and Get-VMFirmware VM01 shows the MicrosoftUEFICertificateAuthority template. - 5
Restore dynamic memory and fixed disks if needed
Where: PowerShell run as administrator on the Hyper-V host (VM shut down)VM Conversion sets memory to static. Turn dynamic memory back on if the source used it. Disks arrive as dynamically expanding VHDX; convert critical ones to fixed, then attach the fixed disk in place of the original.
Set-VMMemory -VMName VM01 -DynamicMemoryEnabled $true -MinimumBytes 2GB -StartupBytes 4GB -MaximumBytes 8GB Convert-VHD -Path "D:\VMs\VM01\VM01.vhdx" -DestinationPath "D:\VMs\VM01\VM01_Fixed.vhdx" -VHDType FixedYou should see: Get-VMMemory shows DynamicMemoryEnabled True, and the fixed VHDX is attached and the VM boots. - 6
Check activation and licensed software
Where: Inside each VMCheck Windows activation (Settings > System > Activation) and every application that licenses by hardware ID. If one checks the BIOS GUID, use Microsoft's
Update-VMBiosInfo.ps1script from the FAQ to set it; the BIOS serial number cannot be matched.You should see: Windows shows as activated and every application in the inventory starts and is licensed.
8Test, cut over and decommission3 steps
- 1
Test the application
Where: Your UAT test scripts and sign-off, with the application ownerRun the owner's tests against the migrated VM: log in, run a transaction, check scheduled tasks, backups and monitoring agents. Add the VM to your Hyper-V backup job and confirm one backup completes.
You should see: The application owner signs off, and the first Hyper-V backup succeeds. - 2
Protect the source VM for rollback
Where: vSphere Client > the source VM > Edit SettingsRename it with a -migrated suffix and untick Connected and Connect At Power On on its network adapters so it cannot come back on the network with the same IP. To roll back, shut down the Hyper-V VM, reconnect the source NICs and power it on.
You should see: The source VM is powered off, renamed and disconnected, and the rollback steps are in the Rollback plan. - 3
Decommission vSphere
Where: vSphere Client, after the last wave is signed offOnce every VM is signed off and backups on Hyper-V are proven, delete the source VMs, remove ESXi hosts from vCenter, and record licence end dates in your Decommission checklist.
You should see: No VMs remain in vCenter and the hosts are ready to be repurposed or retired.
Expert notes
The detail behind the plan: options compared, and what experienced engineers check first. Tap any item.
Compare all the ways to do this4 options
Windows Admin Center VM Conversion extension (preview)
Low effortBest for: Smaller estates, test and development VMs, and teams without System Center
- No extra cost
- Online full sync and short final cutover
- Preserves static IP configuration; detects BIOS or UEFI and picks the generation
- Preview with no support obligation
- Up to 10 VMs at a time; needs an open browser session
- No vSAN; resync between initial and delta replication is not supported
System Center Virtual Machine Manager (VMM)
Medium effortBest for: Organisations that already run or will run VMM to manage Hyper-V
- Supported Microsoft product
- Wizard or PowerShell (New-SCV2V); up to 10 parallel conversions per source and destination pair
- Sets logical network, VM network and VLAN during conversion
- VM must be powered off for the whole copy
- Needs System Center licensing; check current pricing
- VMware Tools must be removed first
Third-party backup or replication tool
Medium effortBest for: Large or critical VMs where downtime must be short and you need vendor support
- Replication or restore-based cutover with less downtime
- Often already licensed for backup
- Paid; check current pricing
- Another vendor's process to learn
Rebuild on Hyper-V and move the application
High effortBest for: Old guest operating systems, appliances, or servers you want to modernise anyway
- Clean guest with no VMware leftovers
- Chance to upgrade the operating system
- Application reinstall and data migration per server
- Most effort per VM
If you have System Center, use VMM for production and accept the offline window. Without it, use Windows Admin Center VM Conversion for test and lower-risk VMs, and a supported third-party tool for production VMs that cannot be offline for long. Rebuild anything on an unsupported guest operating system.
Treat Windows Admin Center VM Conversion as a previewReduces risk
Microsoft says the VM Conversion extension is in preview, under prerelease licence terms, and that Microsoft is not obligated to provide support for it. Issues go to a GitHub feedback repository, not a support case.
Use it for test, development and less critical VMs, and pilot it thoroughly. For production systems where you need a support path, use VMM or a supported third-party tool, and make sure every VM has a tested backup before conversion.
These tools give a supported or backup-based path for production VMs instead of the preview extension, with vendor support behind them.
- System Center Virtual Machine ManagerSupported Microsoft product. Converts powered-off VMware VMs to Hyper-V, up to 100 in parallel across different source and destination pairs (Microsoft advises no more than 10 per ESXi host and Hyper-V host pair). Does not convert VMs on vSAN.
- Veeam Backup & ReplicationInstant Recovery to Microsoft Hyper-V starts VMs from Veeam backups as Hyper-V VMs within minutes, at reduced performance until they are moved to production storage. Veeam lists migration between environments as a use case.
- StarWind V2V ConverterConnects to an ESXi host and converts a selected VM directly to a Hyper-V host.
Install Linux Hyper-V drivers before you convertReduces risk
Microsoft says Hyper-V drivers must be installed in Linux guests before migration or the VM may not boot afterwards. If the storage driver is not in the initramfs, the kernel cannot find its root disk on Hyper-V.
On each Linux VM, check that the hv_vmbus, hv_storvsc and hv_netvsc drivers are available and in the initramfs (Step 3). Modern distributions include Linux Integration Services in the kernel; older kernels may need Microsoft's LIS download or the distribution's own instructions.
Remove snapshots and check for vSAN firstSaves time
Both Microsoft tools refuse VMs with active snapshots, and neither supports VMs on vSAN. VMM also does not support VMs with disks on an IDE bus.
List snapshots and datastores with PowerCLI (Step 1). Consolidate or delete snapshots in a maintenance window, and Storage vMotion any VM you want to convert off vSAN to a VMFS or NFS datastore first.
Veeam backs up VMs on vSAN, and a Veeam backup of a vSphere VM can then be recovered as a Hyper-V VM, so a vSAN VM can move without first being Storage vMotioned off vSAN.
- Veeam Backup & ReplicationBack up the VM from vSAN (Veeam documents virtual appliance mode for VMs on vSAN), then use Instant Recovery to Microsoft Hyper-V.
Plan the downtime per toolUser impact
VM Conversion does an online full sync, then powers off the source, does a final delta sync and imports the VM. VMM needs the VM powered off for the whole conversion, so a large VM is offline for the time it takes to copy every disk.
For big VMs where downtime matters, use VM Conversion (non-production) or a replication-based third-party tool. With VMM, schedule large VMs into long windows, and on VMM 2022 UR2 or later set the V2VTransferChunkSizeBytes registry value Microsoft documents for faster transfers.
Instead of keeping the VM off while VMM copies every disk, Veeam can start the VM on Hyper-V straight from its backup and move the disks to production storage while it runs.
- Veeam Backup & ReplicationInstant Recovery to Microsoft Hyper-V runs the VM from the backup within minutes, at reduced performance. Changes after the last backup are not included, so shut down the source and run a final incremental first.
Recreate port groups as virtual switches and VLANs before you startReduces risk
A converted VM is only as good as its network. vSphere port groups, VLAN IDs and NIC teaming do not convert; if the Hyper-V switch or VLAN is wrong, the VM boots with no network.
Map every port group to a Hyper-V virtual switch and VLAN ID in your Network and DNS worksheet, build them on every host (Step 2), and test with a new VM on each VLAN before you convert anything.
Expect a new hardware identityReduces risk
Hyper-V presents a new NIC, new disk controllers and a new BIOS identity. Microsoft says the destination BIOS GUID does not match the source unless you update it, and the BIOS serial number is never updated. Software licensed against hardware IDs or MAC addresses can stop working, and Windows may need reactivating.
Find applications that license by MAC, BIOS GUID or serial number before migration and ask the vendor how to re-license. Use Microsoft's script in the VM Conversion FAQ to set the BIOS GUID if you need to, and plan a static MAC on the Hyper-V adapter where an app needs it.
Size storage for thin disks and growthPerformance
VM Conversion writes dynamically expanding VHDX files containing only used space. That saves space during the copy but can lead to over-commitment later, and Microsoft notes it may cause storage management issues.
Size Hyper-V storage for the provisioned size, not just used space. Convert disks that need predictable performance or space to fixed with Convert-VHD after migration (Step 6), or choose fixed disks in VMM with -VhdType FixedSize.
Check VMware Tools after every migrationReduces risk
Microsoft's overview says the VM Conversion extension removes VMware Tools from Windows VMs after migration, but its FAQ lists that VMware Tools are not uninstalled automatically. VMM requires VMware Tools to be uninstalled before conversion. Leftover tools and drivers clutter the guest and can cause errors.
For VMM, uninstall VMware Tools before conversion and keep a snapshot-free backup to roll back to. For VM Conversion, check each Windows VM after migration and uninstall VMware Tools if it is still present.
Check guest licensing on the new hostsCost lever
Moving VMs to Hyper-V changes which hosts your Windows Server guest licences are counted against. The number of VMs per host and the edition on each host determine what you need.
Ask your Microsoft licensing partner to confirm guest rights for the planned host layout (for example Datacenter on each host in a cluster), and record it in your Licensing assessment before you move workloads.
Keep the source VM untouched until sign-offReduces risk
Both tools leave the source VM in vSphere, powered off. As long as it is not deleted or changed, rollback is just powering it back on and reconnecting its network.
Rename the source VM (for example add a -migrated suffix), disconnect its NICs so it cannot start on the network by accident, and keep it until the business owner signs off. Write the rollback steps in your Rollback plan.
Check it worked, or roll back
Full validation checklist8 checks
Run these before you declare the migration complete. Record the results in the data validation report.
| Check | How to check | What good looks like |
|---|---|---|
| Every VM in the wave exists on Hyper-V with the right size | On the Hyper-V host, run | Every VM in the wave is present and running, with the generation that matches its source firmware and the CPU and memory you planned. |
| All disks are attached and online | Run | Every disk from the source is attached and online, including extra disks on Generation 1 VMs attached with AttachDiskScript.ps1. |
| Integration services are running | Run | The services you rely on (for example Heartbeat, Time Synchronization and Shutdown) show Enabled and OK. |
| Network, VLAN and IP settings are correct | Run | Each adapter is on the planned switch and VLAN, the guest has its recorded IP, gateway and DNS, and no hidden VMware adapter holds the old IP. |
| VMware Tools is gone and Windows is activated | Inside each Windows VM, check Settings > Apps > Installed apps for VMware Tools and Settings > System > Activation. | VMware Tools is not listed and Windows shows as activated. |
| Applications pass the owner's tests | Run the UAT test scripts with the application owner: log in, run a transaction, check scheduled tasks, monitoring agents and any software licensed by hardware ID. | All tests pass and the owner signs off. |
| Backups work on Hyper-V | In your backup console, check the first backup of each migrated VM completed, then restore one VM per wave to an isolated switch. | Every VM has a successful backup and the test restore boots. |
| The source VM cannot come back on the network | In vSphere Client check the source VM is powered off, renamed with the -migrated suffix, and its network adapters have Connected and Connect At Power On unticked. | Every source VM in the wave is off, renamed and disconnected. |
Rollback planIf it goes wrong
Roll back if
- A converted VM does not boot or cannot see its disks and the fix is not found in the window
- Networking cannot be restored on the guest (wrong VLAN, lost static IP) within the window
- The application fails the owner's tests on Hyper-V
- Software licensed by hardware ID stops working and the vendor cannot re-license in time
Point of no return
Both Microsoft tools copy the VM and leave the source in vSphere, so a wave can be rolled back while the source VM still exists. On the VMM route you removed VMware Tools before conversion, and on either route you deleted snapshots, so the source is not exactly as it was. Once users write data on the Hyper-V VM, rolling back means copying it back. Deleting the source VMs and removing ESXi hosts from vCenter ends the rollback path.
- 1
Shut down the Hyper-V VM
Where: PowerShell run as administrator on the Hyper-V hostStop the application, note any data written since cutover, then run
Stop-VM -Name VM01.You should see:Get-VM -Name VM01shows State Off. - 2
Reconnect and power on the source VM
Where: vSphere Client > the source VM > Edit Settings, then Actions > Power > Power OnRemove the -migrated suffix, tick Connected and Connect At Power On on its network adapters, select OK and power it on.
You should see: The VM boots on its original network with its original IP. - 3
Reinstall VMware Tools if you removed it
Where: vSphere Client > the VM > Actions > Guest OS > Install VMware ToolsOn VMM-route VMs, VMware Tools was uninstalled before conversion. Reinstall it and restart the guest.
You should see: vSphere shows VMware Tools as running on the VM. - 4
Repair the domain trust if needed
Where: Elevated Windows PowerShell inside the source VMIf the Hyper-V copy ran on the domain, run
Test-ComputerSecureChannel. If it returns False, runTest-ComputerSecureChannel -Repair -Credential (Get-Credential).You should see: Test-ComputerSecureChannel returns True and domain sign-in works. - 5
Restore dependencies and copy back data
Where: Your DNS server, backup console and the applicationRevert any DNS or firewall changes, re-enable the VM in your VMware backup job, and apply any data written on Hyper-V since cutover, or get the data owner to accept the loss in writing.
You should see: Application tests pass on the source and the next VMware backup succeeds. - 6
Record what cannot be undone
Where: Your Rollback plan and Decommission checklistNote that snapshots deleted before conversion cannot be recovered, and that deleted source VMs and removed ESXi hosts can only come back from backup. Decommission vSphere only after every wave is signed off and backups on Hyper-V are proven.
You should see: Decommission is scheduled after the last rollback window with sign-off.
Agree the triggers and who decides before the go / no-go meeting. Use the rollback plan template.
Common problems and fixes7 errors
Precheck fails: active snapshots on the VMCause: Both Microsoft tools refuse VMs with snapshots.
Fix: Delete or consolidate snapshots in vSphere, then run Synchronize or the wizard again.
VM Conversion precheck cannot find VDDKCause: VDDK is missing, the wrong version, or in the wrong folder.
Fix: Extract VDDK 8.0.3 to C:\Program Files\WindowsAdminCenter\Service\VDDK on the gateway.
Linux VM does not boot on Hyper-V (cannot find root disk)Cause: Hyper-V storage drivers were not in the initramfs before migration.
Fix: Roll back to the source, add hv_storvsc, hv_vmbus and hv_netvsc to the initramfs, and migrate again.
Linux Generation 2 VM stops at the firmware with a Secure Boot errorCause: Secure Boot is using the Microsoft Windows template.
Fix: Set the template to MicrosoftUEFICertificateAuthority with Set-VMFirmware, or turn Secure Boot off.
Migration paused or stopped in Windows Admin CenterCause: The browser session closed or timed out during migration.
Fix: Keep a signed-in session open for the whole migration and check VMConversion_log.txt before retrying.
VMM conversion is missing disks on a Generation 1 VMCause: BIOS VMs with more than four disks hit the IDE limit.
Fix: Run AttachDiskScript.ps1 from Microsoft's VMM article to attach the remaining disks.
Application reports a licence error after migrationCause: The licence is tied to the BIOS GUID, serial number or MAC address, which change on Hyper-V.
Fix: Set the BIOS GUID with Microsoft's script, set a static MAC, or re-license with the vendor.
Frequently asked questions
Is there a free Microsoft tool to convert VMware VMs to Hyper-V?
Yes. The VM Conversion extension for Windows Admin Center is available at no extra cost, but it is a preview and Microsoft is not obligated to support it. Microsoft Virtual Machine Converter is out of support.
Can I convert a VM while it is running?
With Windows Admin Center VM Conversion, the full copy runs while the VM is online and the VM is powered off only for the final delta sync. VMM needs the VM powered off for the whole conversion.
Do I need to remove VMware Tools first?
For VMM, yes. For VM Conversion, Microsoft's FAQ says VMware Tools are not uninstalled automatically, so check after migration and remove them manually.
Will the VM be Generation 1 or Generation 2?
BIOS VMs become Generation 1 and UEFI VMs become Generation 2. VM Conversion detects this automatically; in VMM you choose it in the wizard.
Can I migrate VMs stored on vSAN?
Not with VM Conversion or VMM. Move them to a VMFS or NFS datastore first, or use a third-party tool that supports vSAN sources.
Do Linux VMs need extra drivers on Hyper-V?
Modern distributions include Hyper-V drivers (Linux Integration Services) in the kernel, but they must be in the initramfs before migration so the VM can boot.
Official sources
8 official pages this guide is based on
Vendors change limits and features, so confirm details on the source before you rely on them. Last checked 4 Nov 2026.