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
From my research, the error MAY occur in three common situations:
- When a VM is improperly moved from a different host causing the next item (permissions problem) to occur
- When the snapshot folder does not have the correct permissions
- 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.
The 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