Can’t remove Hyper-V Backup Checkpoint/Snapshot from VM

As I mentioned in a previous post Hyper-v 2012R2 uses checkpoints to aid the backup process of VM’s.

These checkpoints are created and deleted by the backup Process, the actual checkpoint can not be deleted using hyper-V manager GUI and will not show up in SCVMM at all.
Why you may ask? Well the reason is simple these checkpoints are actually differencing disks. Thats right the backup process creates a differecing disk, while this is basically the same as a checkpoint it can’t be deleted using any available GUI. It should actually be deleted by the backup Process.

So last week a customer found that he had a checkpoint of this kind on one of his VM’s

.backup-checkpoint

Now you may notice that the icon is slighty different from that of a regular checkpoint, that is because this is a differencing disk. Running an inspection of the VHDX file will reveal this.

live-machine-properties

In this case a failed backup of the VM left the hindering checkpoint. The only way to deal with it is by using Powershell.

The following command will help you determine that a checkpoint is currently open on the VM:

Get-VMSnapshot -VMName vmwithcheckpoint.domain.com -ComputerName hyper-v.domain.com| fl – this returns the VM state

and his command will remove the checkpoint and merge the AVHDX file into it’s parent VHDX file.

Get-VMSnapshot -VMName vmwithcheckpoint.domain.com -ComputerName hyper-v.domain.com| Remove-VMSnapshot

Hope this helps if you find yourself in a similiar situation.

 

14 thoughts on “Can’t remove Hyper-V Backup Checkpoint/Snapshot from VM

  1. Works Fine for me, THX!

  2. Wonderful, got myself out of a jiffy!

  3. Fantastic – saved the day here on 2 servers. Thanks

  4. Worked for me also, thanks!

  5. Pingback: Stuck VM Snapshots | eric's tech adventures

  6. I am with Tivoli backup, your solution work well, thanks!

  7. the script wont find my virtual machine ID, although I’m entering it correctly

    • Does the first powershell cmd work?
      Get-VMSnapshot -VMName vmwithcheckpoint.domain.com -ComputerName hyper-v.domain.com| fl

      Please note that after -vmname is the name of the VM as it appears in Hyper-V manager. After -computername is the name of your Hyper-V Server.

      • No it fails. What’s funny is I googled it again, and it failed again. Cannot find VM name. Tried caps sensitive, FQDN and short name, all fail.

  8. I added *snap* after the the ” | fl” like so “Get-VMSnapshot -VMName vmwithcheckpoint.domain.com -ComputerName hyper-v.domain.com| fl
    *snap*”

  9. Is there a way to delete this “backup” checkpoint WITHOUT it merging back into the parent .vhdx file? Thanks in advance for your input!

    • Theoretically yes, however this would cause you to lose all changes to the VM that have been preformed since the checkpoint/backup.
      If you wish to do this you could just create a new VM and attach the original VHDX without the avhdx file.

  10. Brilliant thank you had a failed checkpoint this removed it

  11. Pingback: hyper-v accidentally removed snapshot - Boot Panic

Leave a comment