Needed to restore a Hyper-V VHDX file via Veeam today but as soon as we tried to boot the VM we received a ‘server’ failed to start error. The error was pretty descriptive stating a ‘General access denied error (0x80070005)’. Might have been the hasty restore but Veeam didn’t seem to add the appropriate NTFS permissions back to the disk when just restoring the single file.
To fix this we just needed to add the VM SID back to the VHDX file using icacls. The Virtual Machine ID listed in the error is the one that needs adding back on.
Load up a command prompt (run cmd as administrator) and enter the below:
icacls “path-to-vhdx\diskname.vhdx” /grant “NT VIRTUAL MACHINE\virtual-machine-id”:(F)
So in our case – icacls “D:\Virtual Disks\SRV01-D.vhdx” /grant “NT VIRTUAL MACHINE\4556E968-A595-4459-B274-6095C22CE10C”:(F)
Now it all boots as expected!