Af46
Contributor
Contributor

dictionary issue

Jump to solution

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)
0 Kudos
2 Solutions

Accepted Solutions
Af46
Contributor
Contributor

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

0 Kudos
a_p_
Leadership
Leadership

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

0 Kudos
17 Replies
Af46
Contributor
Contributor

here is the log as a zipped file 

0 Kudos
wila
Leadership
Leadership

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
0 Kudos
Af46
Contributor
Contributor
 
0 Kudos
wila
Leadership
Leadership

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
0 Kudos
Af46
Contributor
Contributor

the vmsd file 

0 Kudos
wila
Leadership
Leadership

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
0 Kudos
a_p_
Leadership
Leadership

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é

0 Kudos
Af46
Contributor
Contributor

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 

0 Kudos
a_p_
Leadership
Leadership

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é

0 Kudos
Af46
Contributor
Contributor

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

0 Kudos
Af46
Contributor
Contributor

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

0 Kudos
a_p_
Leadership
Leadership

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é

 

0 Kudos
Af46
Contributor
Contributor

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

0 Kudos
a_p_
Leadership
Leadership

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

0 Kudos
Af46
Contributor
Contributor

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

0 Kudos
Af46
Contributor
Contributor

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

0 Kudos
wila
Leadership
Leadership

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