Merging and Deleting a Differencing Disk in Hyper-V

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.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s