Migration playbook · VMware

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.

Updated 4 Nov 20266 phases30 detailed steps8 official sources
Start here

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.

Recommended routeSystem Center VMM if you have it, otherwise Windows Admin Center VM Conversion

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.
Order to migrate in, and why

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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. Waves of standalone and low-risk VMsBuilds confidence and timing data while a failure affects few people.
  6. 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.
  7. 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.
  8. 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.
Settings checklist: decide these before you copy

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 fabric
  • How 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 fabric
  • How 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-V
  • How 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 fabric
  • How 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
The plan, phase by phase
  1. 1

    List what you run

    Before you build anything

    Watch 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

    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.
    Show the detailed steps (4) →
  2. 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. 3

    Prepare the guests

    Before each wave

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

    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.
    Show the detailed steps (4) →
  4. 4

    Convert the VMs

    In the change window

    Watch 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

    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.
    Show the detailed steps (5) →
  5. 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.

    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.
    Show the detailed steps (6) →
  6. 6

    Test, switch and retire

    After each wave, then after the last one

    Watch 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) →
You are finished when
  • 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.

Click by click

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.

Free Microsoft toolWindows Admin Center VM Conversion extension (preview): online sync, up to 10 VMs at a time
System Center toolVMM Convert Virtual Machine wizard or New-SCV2V; source VM must be powered off
SourcesvCenter 6.x, 7.x and 8.x for VM Conversion; vSAN not supported by either tool
FirmwareBIOS VMs become Generation 1, UEFI VMs become Generation 2
Linux guestsHyper-V drivers must be in the guest before migration
Comparing platforms?See our VMware alternatives guide
1What you need before step one
NeedDetailsWhere to get it
vCenter accessAn account with privileges on the VMs to migrate. VM Conversion supports vCenter 6.x, 7.x and 8.x.Your vCenter Server
Hyper-V hostsWindows 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 PowerCLIFor the inventory commands in Step 1.Install-Module VMware.PowerCLI in PowerShell 7
Guest credentialsLocal administrator or root on each VM, for driver checks, static IP capture and clean-up.Your password vault
Tested backupsA restorable backup of every VM before conversion.Your backup product
2Inventory the vSphere estate4 steps
  1. 1

    Export the VM list

    Where: PowerShell 7 on your admin PC with VMware PowerCLI installed (Install-Module VMware.PowerCLI), connected with Connect-VIServer

    Export 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 -NoTypeInformation
    You should see: C:\migration\vms.csv has one row per VM with Firmware set to bios or efi.
  2. 2

    Check guest OS support

    Where: Your inventory, compared with Microsoft's supported guest lists

    VM 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. 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-VIServer

    List 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. 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 worksheet

    Export 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, VirtualSwitch
    You 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. 1

    Install Hyper-V

    Where: PowerShell run as administrator on the Hyper-V host

    Install 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 -IncludeManagementTools
    You should see: After the restart, Get-WindowsFeature Hyper-V shows Installed.
  2. 2

    Create virtual switches

    Where: PowerShell run as administrator on the Hyper-V host

    Create 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 $false
    You should see: Get-VMSwitch lists VM-External with SwitchType External on every host.
  3. 3

    Prepare storage

    Where: File Explorer or Failover Cluster Manager on the Hyper-V host

    Create 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. 4

    Test each VLAN

    Where: Hyper-V Manager or Windows Admin Center on the host

    Create 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 20
    You should see: The test VM gets the right IP range and can ping its gateway on every VLAN.
4Prepare the guests4 steps
  1. 1

    Check Linux drivers

    Where: SSH session to each Linux VM, as root

    Check 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. 2

    Remove snapshots

    Where: PowerShell 7 on your admin PC with VMware PowerCLI installed (Install-Module VMware.PowerCLI), connected with Connect-VIServer

    Delete 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:$false
    You should see: Get-VM -Name VM01 | Get-Snapshot returns nothing.
  3. 3

    Record IP settings and local admin access

    Where: Console or remote session to each VM

    Record static IP, gateway and DNS settings (on Windows, ipconfig /all; on Linux, ip addr and ip 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. 4

    Remove VMware Tools (VMM route only)

    Where: Each Windows VM: Settings > Apps > Installed apps > VMware Tools > Uninstall; Linux: the package manager

    VMM 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. 1

    Install the extension

    Where: Windows Admin Center > Settings (top right) > Extensions > Available Extensions

    Search for VM Conversion (Preview) and select Install. Extract VDDK 8.0.3 to C:\Program Files\WindowsAdminCenter\Service\VDDK on 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. 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. 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. 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. 5

    Read the logs if it fails

    Where: The gateway server

    Check 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. 1

    Add vCenter and ESXi hosts to VMM

    Where: VMM console on the VMM server or an admin PC > Fabric > Servers

    Select 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. 2

    Shut down the source VM

    Where: vSphere Client > the VM > Power > Shut Down Guest OS

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

    Run the Convert Virtual Machine wizard

    Where: VMM console on the VMM server or an admin PC > VMs and Services > Home > Convert Virtual Machine

    On 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. 4

    Attach extra disks on BIOS VMs

    Where: VMM console on the VMM server or an admin PC and PowerShell on the VMM server

    Generation 1 VMs with more than four disks do not get all disks attached because of the IDE limit; run Microsoft's AttachDiskScript.ps1 from 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.
Faster VMM conversions. Microsoft says VMM 2022 UR2 and later convert up to four times faster when you set the V2VTransferChunkSizeBytes registry value on each Hyper-V host, as described in the VMM article. Up to 10 conversions run in parallel for the same ESXi source and Hyper-V destination pair.
7Fix up each VM after conversion6 steps
  1. 1

    Check integration services

    Where: PowerShell run as administrator on the Hyper-V host

    Windows 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, PrimaryStatusDescription
    You 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. 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, IPAddresses
    You should see: The VM has the expected IP address and can reach its gateway, DNS and dependent servers.
  3. 3

    Remove VMware Tools

    Where: Inside each Windows VM: Settings > Apps > Installed apps

    If 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. 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 MicrosoftUEFICertificateAuthority Secure Boot template, or Secure Boot turned off, to boot supported distributions.

    Stop-VM -Name VM01
    Set-VMFirmware -VMName VM01 -SecureBootTemplate MicrosoftUEFICertificateAuthority
    Start-VM -Name VM01
    You should see: The Linux VM boots and Get-VMFirmware VM01 shows the MicrosoftUEFICertificateAuthority template.
  5. 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 Fixed
    You should see: Get-VMMemory shows DynamicMemoryEnabled True, and the fixed VHDX is attached and the VM boots.
  6. 6

    Check activation and licensed software

    Where: Inside each VM

    Check Windows activation (Settings > System > Activation) and every application that licenses by hardware ID. If one checks the BIOS GUID, use Microsoft's Update-VMBiosInfo.ps1 script 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. 1

    Test the application

    Where: Your UAT test scripts and sign-off, with the application owner

    Run 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. 2

    Protect the source VM for rollback

    Where: vSphere Client > the source VM > Edit Settings

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

    Decommission vSphere

    Where: vSphere Client, after the last wave is signed off

    Once 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.
Worth knowing

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 effort

Best 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
Read more →

System Center Virtual Machine Manager (VMM)

Medium effort

Best 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
Read more →

Third-party backup or replication tool

Medium effort

Best 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 effort

Best 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
Our advice

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.

What to do

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.

Tools that can get around this

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.
Third-party tools, not endorsed by the platform vendor. Confirm in the tool's documentation and run a pilot first.
Microsoft Learn: VM Conversion extension overview
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.

What to do

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.

Microsoft Learn: Supported Linux and FreeBSD virtual machines for Hyper-V
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.

What to do

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.

Tools that can get around this

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.
Third-party tools, not endorsed by the platform vendor. Confirm in the tool's documentation and run a pilot first.
Microsoft Learn: Convert a VMware VM to Hyper-V in the VMM fabric
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.

What to do

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.

Tools that can get around this

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.
Third-party tools, not endorsed by the platform vendor. Confirm in the tool's documentation and run a pilot first.
Microsoft Learn: Convert a VMware VM to Hyper-V in the VMM fabric
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.

What to do

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.

What to do

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.

Microsoft Learn: VMware to Hyper-V migration FAQ
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.

What to do

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.

Microsoft Learn: VMware to Hyper-V migration FAQ
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.

What to do

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.

Microsoft Learn: VMware to Hyper-V migration FAQ
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.

What to do

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.

What to do

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.

Finish safely

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.

CheckHow to checkWhat good looks like
Every VM in the wave exists on Hyper-V with the right size

On the Hyper-V host, run Get-VM | Select-Object Name, Generation, ProcessorCount, MemoryStartup, State and compare with C:\migration\vms.csv from Step 1.

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 Get-VMHardDiskDrive -VMName VM01 on the host, then inside the guest open Disk Management (Windows) or run lsblk (Linux).

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 Get-VMIntegrationService -VMName VM01 | Format-Table Name, Enabled, PrimaryStatusDescription on the host.

The services you rely on (for example Heartbeat, Time Synchronization and Shutdown) show Enabled and OK.
Network, VLAN and IP settings are correct

Run Get-VMNetworkAdapter -VMName VM01 | Format-Table Name, SwitchName, MacAddress, IPAddresses and compare with C:\migration\nics.csv and the IP settings you recorded. Ping the gateway and resolve a name from inside the guest.

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

    Shut down the Hyper-V VM

    Where: PowerShell run as administrator on the Hyper-V host

    Stop the application, note any data written since cutover, then run Stop-VM -Name VM01.

    You should see: Get-VM -Name VM01 shows State Off.
  2. 2

    Reconnect and power on the source VM

    Where: vSphere Client > the source VM > Edit Settings, then Actions > Power > Power On

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

    Reinstall VMware Tools if you removed it

    Where: vSphere Client > the VM > Actions > Guest OS > Install VMware Tools

    On 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. 4

    Repair the domain trust if needed

    Where: Elevated Windows PowerShell inside the source VM

    If the Hyper-V copy ran on the domain, run Test-ComputerSecureChannel. If it returns False, run Test-ComputerSecureChannel -Repair -Credential (Get-Credential).

    You should see: Test-ComputerSecureChannel returns True and domain sign-in works.
  5. 5

    Restore dependencies and copy back data

    Where: Your DNS server, backup console and the application

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

    Record what cannot be undone

    Where: Your Rollback plan and Decommission checklist

    Note 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 VM

Cause: 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 VDDK

Cause: 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 error

Cause: 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 Center

Cause: 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 VM

Cause: 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 migration

Cause: 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.

Search the full error library →

FAQ

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.

Sources

Official sources

8 official pages this guide is based on