VMware Communities
Af46
Contributor
Contributor
Jump to solution

dictionary issue

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

Labels (2)
Tags (2)
Reply
0 Kudos
2 Solutions

Accepted Solutions
Af46
Contributor
Contributor
Jump to solution

the dictionary error is gone but when I open the vm it says the file specified is not a virtual disk... see bottom reply for final fix

View solution in original post

Reply
0 Kudos
a_p_
Leadership
Leadership
Jump to solution

That' because the VM (.vmx) still points to the corrupted "master6-disk1-000016.vmdk" file. Are you able to go to another snapshot using the Snapshot Manager?

André

View solution in original post

Reply
0 Kudos
17 Replies
Af46
Contributor
Contributor
Jump to solution

here is the log as a zipped file 

Reply
0 Kudos
wila
Immortal
Immortal
Jump to solution

Hi,

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.

--
Wil

| Author of Vimalin. The virtual machine Backup app for VMware Fusion, VMware Workstation and Player |
| More info at vimalin.com | Twitter @wilva
Reply
0 Kudos
Af46
Contributor
Contributor
Jump to solution

 
Reply
0 Kudos
wila
Immortal
Immortal
Jump to solution

please also attach the master6.vmsd file.

--
Wil

| Author of Vimalin. The virtual machine Backup app for VMware Fusion, VMware Workstation and Player |
| More info at vimalin.com | Twitter @wilva
Reply
0 Kudos
Af46
Contributor
Contributor
Jump to solution

the vmsd file 

Reply
0 Kudos
wila
Immortal
Immortal
Jump to solution

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:
https://communities.vmware.com/t5/VMware-Workstation-Pro/Unable-to-open-file-vmdk-One-of-the-disks-i...

--
Wil

| Author of Vimalin. The virtual machine Backup app for VMware Fusion, VMware Workstation and Player |
| More info at vimalin.com | Twitter @wilva
Reply
0 Kudos
a_p_
Leadership
Leadership
Jump to solution

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.

André

Reply
0 Kudos
Af46
Contributor
Contributor
Jump to solution

ok i have tried about 30 times now and the command prompt just opens flashes then closes i cant find any of the files it created 

Reply
0 Kudos
a_p_
Leadership
Leadership
Jump to solution

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
Get-VmdkHeader.cmd "E:\mastervm6\master6-disk1-000016.vmdk"
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.

André

Reply
0 Kudos
Af46
Contributor
Contributor
Jump to solution

theres about 90 snapshots if you can save majority of them I would be happy. The last snapshot opened was 255. 

Reply
0 Kudos
Af46
Contributor
Contributor
Jump to solution

that worked. Thank you. I have attached the bin files

Reply
0 Kudos
a_p_
Leadership
Leadership
Jump to solution

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.

André

 

Reply
0 Kudos
Af46
Contributor
Contributor
Jump to solution

the dictionary error is gone but when I open the vm it says the file specified is not a virtual disk... see bottom reply for final fix

Reply
0 Kudos
a_p_
Leadership
Leadership
Jump to solution

That' because the VM (.vmx) still points to the corrupted "master6-disk1-000016.vmdk" file. Are you able to go to another snapshot using the Snapshot Manager?

André

Reply
0 Kudos
Af46
Contributor
Contributor
Jump to solution

yes you were correct all wrking now I had to go into the vmx and edit it to redirect it to the correct file 

Reply
0 Kudos
Af46
Contributor
Contributor
Jump to solution

THANK YOU SOO MUCH AGAIN YOU LITERALLY JUST SAVED YEARS AND YEARS OF HARD WORK I AM SO GRATEFUL THANK YOU 

Reply
0 Kudos
wila
Immortal
Immortal
Jump to solution

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)

--
Wil

| Author of Vimalin. The virtual machine Backup app for VMware Fusion, VMware Workstation and Player |
| More info at vimalin.com | Twitter @wilva