I recently discovered a problem with Oracle’s VirtualBox that seems to be caused by having snapshots stored in a directory that is not right below the VHD file. I don’t know if this affects other virtual disk formats but VBox seems to assume you have this set up:

My Super VM/
My Super VM/Snapshots/

Instead of this standard installation I had my VHD files on a separate disk (H:/ in my case) but forgot to change the snapshot directory so vbox was saving to C:\users\Luke\VirtualBox VMS\VirtualMachine Name\Snapshots and in doing so seems to forget the Parent UUID of the main VHD and give this error:

After some investigation and learning how the IDs are stored in the VHD files I built a tool called SetVHDParentUUID which you can download here

Quick screenshot…