How to merge vhds with avhds

Ehtesham Ahmad 11 Reputation points
2026-09-20T09:11:15.5366667+00:00

Dear Team

Can you please guide us how to merge vhds with avhds because while move the VM to another physical node, I got the message to merge fail after 33%. even i don't do manually and unable to create a checkpoint.

Awaiting for reply.

Windows for business | Windows Server | Storage high availability | Virtualization and Hyper-V
0 comments No comments

1 answer

Sort by: Oldest
  1. Marcin Policht 109.5K Reputation points MVP Volunteer Moderator
    2026-09-20T11:18:30.0266667+00:00

    This might indicate a storage-level problem. The failure can occur when Hyper-V is attempting to merge data from the differencing .avhd or .avhdx file into its parent .vhd or .vhdx file. Common causes include insufficient disk space, file locks held by backup software or another process, and a damaged or inconsistent differencing-disk chain. Backup software such as Veeam or Altaro, or a stale process, may have an open handle on the checkpoint chain. A broken differencing chain is another possibility, where the parent-child relationship between the VHD/VHDX and AVHD/AVHDX files is no longer consistent.

    Before making any changes, take a raw backup of the entire VM folder containing all .vhd, .vhdx, .avhd, and .avhdx files. Copy the files to an alternate physical drive or network share. Do not skip this step because manual checkpoint merging modifies the virtual disk files directly.

    Shut down the VM before attempting to manually repair or merge the checkpoint chain. Also verify that the physical volume containing the virtual disks has sufficient free space. As a practical precaution, make sure there is enough free space to accommodate the checkpoint files and the temporary space required by the merge operation.

    Open PowerShell as Administrator and restart the Hyper-V Virtual Machine Management service to clear potentially stale Hyper-V state or file handles.

    Restart-Service VMMS
    

    Also verify in Task Manager and in your backup software console that there are no active or stuck backup jobs associated with the VM. Do not manually manipulate the checkpoint files while another backup or Hyper-V operation is using them.

    Next, inspect the checkpoint chain. Navigate to the folder containing the virtual hard disks and run Get-VHD against the relevant .avhdx file.

    Get-VHD -Path ".\Your_VM_Snapshot_Name.avhdx" | Select-Object Path, ParentPath, DiskIdentifier
    

    Check the ParentPath and DiskIdentifier values. The parent path should correspond to the expected disk below that AVHDX in the chain. If Get-VHD reports an identifier mismatch, cannot locate the parent, or otherwise reports that the parent relationship is invalid, the differencing chain requires further repair before attempting a merge.

    If the chain is valid and Hyper-V Manager continues to fail, you can manually merge the disks with Merge-VHD. Start with the newest child disk and merge it into its immediate parent. The parent can be another .avhdx file or the original .vhdx file.

    Merge-VHD -Path "C:\ClusterStorage\Volume1\VM\Disk_Snapshot.avhdx" -DestinationPath "C:\ClusterStorage\Volume1\VM\Disk_Base.vhdx"
    

    If there are multiple nested checkpoint files, work backward through the chain, merging each child into its immediate parent. Do not arbitrarily merge an AVHDX directly into the base VHDX unless the chain shows that the base disk is its actual parent.

    Do not use Set-VHD with -IgnoreIdMismatch simply to force a merge unless you have first verified the actual parent-child relationship and have a verified backup. Changing the parent relationship to bypass an identifier mismatch can cause data corruption if the selected parent is not the correct disk.

    You can also perform the merge through Hyper-V Manager. Open Hyper-V Manager, select the host, and select Edit Disk from the Actions pane. Browse to the .avhdx file, select Merge, choose To the parent virtual hard disk, and complete the wizard. If the VM has multiple nested checkpoint files, process the chain in the correct child-to-parent order.


    If the above response helps answer your question, remember to "Accept Answer" so that others in the community facing similar issues can easily find the solution. Your contribution is highly appreciated.

    hth

    Marcin

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.