Hyper-V virtual machine may not start with “General access denied error (0x80070005)”

Situation: The client is running Windows 2016 Hyper-v and moves the VM to different drive. Now, they can’t start the VM.

Troubleshooting: 1. They should not us copy and past to move the VM. They should use export.

2. Hyper-V virtual machine may not start, and you receive a “‘General access denied error’ (0x80070005)” error message Every Hyper-V virtual machines has a unique Virtual Machine ID (SID). If the Virtual Machine SID is missing from the security permissions on the .vhd or .avhd file, the virtual machine does not start, and you receive the “‘General access denied error’ (0x80070005)” error message that is mentioned in the “Symptoms” section. Please refer to this article:

Google Custom Search HyperV virtual machine may not start, and you receive a “’General …support.microsoft.comhttps://support.microsoft.com/…/hypervvirtual-machine-may-not-start-and- you-receive-a-general-access

3. There are two ways to fix the problem. The easy (but completely insecure) fix is to give Everyone full control of the virtual hard disk file. The “correct” fix it to give read and write access to the virtual machine’s SID.

You can find the virtual machine’s SID by using the Get-VM cmdlet in PowerShell. For a VM named New Virtual Machine the command would be:

Get-VM 'New Virtual Machine' | Select-Object VMID

4. Update the Permissions

The solution is to give the SID Full control of the VHD using the command line.

Tip: Rather than type (or mistype) the SID by hand, cut and paste it from the event log message or from the XML file name in the Virtual Machines folder.

The command:

icacls <Path of .vhd file> /grant "NT VIRTUAL MACHINE\<Virtual Machine SID>":F

Note that there is no space before the :F. For example:

icacls "D:\Virtual Machines\VM01\Virtual Hard Disks\DRIVE01.VHD" /grant "NT VIRTUAL MACHINE\6B78D45F5-71DF-4725-B4B2-E651800BE80EF":F

Once that permission has been added, you should be able to start the virtual machine.

5. Updating the NTFS level permissions: 1.  On the destination server, Right-click on the shared folder and select Properties. 
2.  Select the Security tab. 
3.  Click Edit button and click the Add button in the permissions dialog box. 
4.  Click Oject Types and select Computers if not already done and click OK
5.  In the dialog “Enter the object names to select” provide the name of Hyper-V host machine and click Check Names
6.  With the Hyper-V host machine name select, click Allow by “Full control” and click OK

Updating the share level permissions:1.  On the destination server, Right-click on the shared folder and select Properties. 
2.  Select the Sharing tab. 
3.  Click Advanced Sharing…
4.  On the Advanced Sharing dialog, click Permissions  and then Add. 5. Click Oject Types and select Computers if not already done and click OK
6.  In the dialog “Enter the object names to select” provide the name of Hyper-V host machine and click Check Names
7.  With the Hyper-V host machine name select, click Allow by “Full control” and click OK

Published by

Bob Lin

Bob Lin, Chicagotech-MVP, MCSE & CNE Data recovery, Windows OS Recovery, Networking, and Computer Troubleshooting on http://www.ChicagoTech.net How to Install and Configure Windows, VMware, Virtualization and Cisco on http://www.HowToNetworking.com

Leave a Reply