This issue occurs when the VM Security permissions on the VHDx are gone. Every VM has a unique ID. This unique ID is added to the VHDx security permissions for accessing / locking files.
There are 2 possible solutions to fix this.
Detach the VHDx with the “remove” remove button in Hyper-v or Failover cluster manager. Just make sure you don’t remove the actual file!
Attach the VHDx again.
Now you can start the VM.
- In this example is the virtual machine ID 684B169F-DB4A-493F-B34A-762E205AB1E4
- Go to the node wich host this VM
- Open an elevated command prompt
icacls <path of vhd> /grant "NT VIRTUAL MACHINE\<Virtual machine ID>":(F)
- Start the virtual machine