Differencing disks do have their uses, as I see it a more permanent snapshot of just the disk. Recently I needed to merge it back into a normal virtual disk. It took a bit of digging, as deleting the differencing disk is not as simple as you might imagine.
The prerequisites are:
- VM to be stopped. Shutting it down cleanly is important.
- No checkpoints. Delete them if you don’t need them, apply one of them if you do.
- Understand which is the parent disk, and which is the differencing one. In Hyper-V Manager, right-click on the VM, click Settings, then select the disk in question and click Inspect.
- Make sure there’s space to merge them together into the parent disk.
Then, do the merge:
- In Hyper-V Manager, right-click on the VM, click Settings, then select the disk and click Edit.
- Click Next, then choose Merge.
- You want to merge the disk into the parent. If you want to merge to a new place, it’s still simpler and more efficient to merge into the parent them move the resulting disk to where you want it to be.
- Choose fixed or expanding (Expanding, unless you have a really solid reason why not).
- Once the Merge operation is confirmed and complete, the differencing disk will have been removed, and the parent is now a simple VHDX file.
To finish the job:
- Start the VM, to ensure everything looks and behaves normally.
- Shut it back down cleanly again.
- Move or copy the parent VHDX file to where you want it to be permanently.
- In Hyper-V Manager, right-click the VM, click Settings, then select the disk and click Browse.
- Navigate to where you just copied/moved the VHDX file, and select it.
- Start the VM once more.
Job done! You now have a clean and simple VHDX file, with no separate parent and differencing disks any more.