We have the explanation the fix for the following HyperV error message:

An error occurred while attempting to checkpoint the selected Virtual machine(s)

Checkpiont operation failed

Could not initiate a checkpoint operation

Could not create auto virtual hard disk

General access denied

An error Occurred while attempting to checkpoint the selected Virtual machine - general access deniedFrom my research, the error MAY occur in three common situations:

  1. When a VM is improperly moved from a different host causing the next item (permissions problem) to occur
  2. When the snapshot folder does not have the correct permissions
  3. When HyperV gets confused and needs a reboot

In my clients situation the problem was definitely related to the permissions on the Snapshot folder.

The Snapshots folder should show a user like HOST-NAME$ (i.e. SRV-CAL-FS1$) or as shown below VIRTUAL MACHINES but ours did not.  In fact we saw some GUIDs which is a sure sign that something is wrong with the Permissions or your Domain Controllers.

HyperV Snapshot Checkpoint folder special permissionsThe solution is to manually give HyperV the permissions it needs to do its work, including the ability to read and write to the Snapshots folder.  You can do this with a couple of easy commands.

1 – Find The GUID or a HyperV VM

First you need to figure out what the ID for your VM’s are which is easy.  Either run this simple command in PowerShell As An Administrator:

get-vm | ft VMNAME,VMID

or just look at the XML config file in the Virtual Machines folder.  In my case this was:

D:\VirtualMachines\SRV-FS1\Virtual Machines\c45d8298-21ad-42df-9b84-bf9db71fd353.xml

2 – Fix the Permissions On a HyperV Virtual Machine

Again, this is a simple command that is only adding new permissions (not changing or removing other permissions) so you should be able to do this without to much worry.

In a CMD AS AN ADMINISTRATOR (does not work in PowerShell):

icacls <Folder with VHDS> /grant “NT VIRTUAL MACHINE\<VM GUID>”:(OI)F

so it will look like:

icacls D:\VirtualMachines\srv-fs1 /grant “NT VIRTUAL MACHINE\c45d8298-21ad-42df-9b84-bf9db71fd353”:(OI)F

That’s it.  You do not have to restart the machine or even the HyperV services.

Try to take a Checkpoint (aka Snapshot) now and see if it works.

 


 


0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *