What if you move Hyper-V files before Exporting the Machine?
Go to the “missing VM folder\virtual Machines\” and take note of the file {GUID}.xml (In this scenario is the 71DB1869-534A-4B0B-B2B8-B89170FC0EF0.xml).
Find your GUID, then copy all the below and replace 71DB1869-534A-4B0B-B2B8-B89170FC0EF0 with your GUID
Update the file locations too just to make sure everything works.
Using Mklink, create the Symbolic link under “C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines”
Mklink “C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines\71DB1869-534A-4B0B-B2B8-B89170FC0EF0.xml” “F:\VM01\Virtual Machines\71DB1869-534A-4B0B-B2B8-B89170FC0EF0.xml”
Now give access permissions to the service SID to this Symbolic link.
Icacls “C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines\71DB1869-534A-4B0B-B2B8-B89170FC0EF0.xml” /grant “NT VIRTUAL MACHINE\71DB1869-534A-4B0B-B2B8-B89170FC0EF0“:(F) /L
Then you need to give access permissions to the Service SID to all files in VM01
Icacls F:\VM01\ /T /grant “NT VIRTUAL MACHINE\71DB1869-534A-4B0B-B2B8-B89170FC0EF0“:(F)
[ Source: https://blog.greypuddles.net/?p=142 ]
UPDATE: IF YOU HAVE SNAPSHOTS, THIS MAY CAUSE PROBLEMS LATER.
I hit the following errors when deleting the snapshots, after the move.
“Cannot delete snapshot: The specified network resource or device is no longer available.”
“System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. Parameter name: dmtfDate”
LESSON LEARNED: ALWAYS EXPORT AND IMPORT YOUR VM TO MOVE PHYSICAL LOCATION
UPDATE 2: THIS STILL WORKS LIKE A CHARM IF DELETE ALL SNAPSHOTS BEFORE THE MOVE! :)