someone please help me I have about 150 snapshots and years of work that is being lost. My vms were running just fine. This morning I went to open it and it said an error occurred while reverting to a snapshot the file specified is not a virtual disk. So I thought it was a computer issue. I turned off and restarted the computer now it wont open at all saying a dictionary issue. I attached my log. Someone please help
Please in the command line run the following command from within the virtual machine folder:
dir *.* /oen > vmfilelist.txt
and then attach the vmfilelist.txt to a reply here.
Oh.. the vmsd file is corrupt.
Ack.. hopefully @a_p has ideas.
Btw, TS already has let me know via other means that the broken snapshot itself is not critical.
Please follow the steps from this post:
As mentioned by @wila the corruption in the .vmsd file (logging information at the end of the file) looks like something went wrong and did overwrite data.
Please extract the attached .zip archive to an empty/new folder, then drag&drop the VM's folder onto the .cmd file. This will extract the .vmdk files' metadata (no user data), and store this in separate "Metadata-*.bin" files. Once done, compress/zip all the "Metadata-*.bin" files, and attach the .zip archive to your next reply.
Also let me know the current snapshot, i.e. the .vmdk file's name in the master6.vmx.
Please edit the .cmd file and add -ExecutionPolicy Bypass to the command to see whether this allows you to run the scripts.
powershell.exe -ExecutionPolicy Bypass -command "%~dpn0.ps1 -FilePath \"%~1\""
If this still doesn't help, then please open a Command Prompt, go to the directory in which you've saved the scripts, and run the
This way the command prompt will not close after running the command, and you should see an error output.
After taking a closer look at the issue, I think that it's related to 2 issues. One is the corrupted .vmsd file, which causes the dictionary error, and the other one is most likely caused by a corruption in the above mentioned .vmdk file.
Fixing the .vmsd file is comparable to playing a puzzle with thousands of white pieces, so that if you do not have a recent backup, you'll likely loose the snapshot tree. If the .vmdk file is corrupt too, I may be able to fix the metadata, but I cannot bring back any overwritten data. However, if you can afford to loose the latest snapshot, we can set the VM back to its parent snapshot.
As mentioned earlier, recreating the missing entries in the .vmdk file is close to impossible, and would require forensic work, especially because the snapshots were created with the VM being powered on. In order to recreate the missing entries, one would need to associate the .vmdk files with the correct .vmsn/.vmem files.
What I did, was to at least modify the .vmsd file so that it will work for the first 90 snapshots which were listed in the file.
Now that you're back in business, don't forget to make a backup of that VM to another disk!
(Sorry if I state the obvious, but backups are important)