Contributor
Contributor

vmdk has internal errors and cannot be fixed

Jump to solution

Hi to all,

After I forced to quit vmware and restart my Mac, then I cannot launch virtual disk again. The errors message is like below

"Restore from a backup copy of this disk.

The specified virtual disk needs repair

Cannot open the disk '/Users/neil/Documents/Virtual Machines.localized/xxxxxxx.vmwarevm/xxxxxx.vmdk' or one of the snapshot disks it depends on.

Module 'Disk' power on failed.

Failed to start the virtual machine."

I tried to move the lck file and retry ,but it didnot work. The vmware.log shows "Grain #561843 @71941632 is pointed to by multiple GTEs" and seems the vmdk file is corrupted.

The log file size is bit large, so I didnot post it now. I can post is later,if it is needed.

├── Applications

├── Win

├── Win\ Uni.nvram

├── Win\ Uni.plist

├── Win\ Uni.vmsd

├── Win\ Uni.vmx

├── Win\ Uni.vmxf

├── appListCache

├── caches

├── quicklook-cache.png

├── shn-huangzhen8.sh.cnc.intra.vmdk

├── startMenu.plist

├── stats

├── stats-0

├── stats-1

├── stats-2

├── vmmcores-21.gz

├── vmmcores-22.gz

├── vmware-0.log

├── vmware-1.log

├── vmware-2.log

└── vmware.log

My OS is OS X 10.13.4

VMware Fusion version is 10.1.2(8502123)

0 Kudos
1 Solution

Accepted Solutions
Contributor
Contributor

I found a way to recover VM file.

Use Starwindconvert to create a new vmdk and flat.vmdk file.

Use a vmx file then fusion can scan this new one.

hope this can help someone else

View solution in original post

0 Kudos
8 Replies
Leadership
Leadership

Welcome to the Community,

what's the exact physical size (in Bytes) of "shn-huangzhen8.sh.cnc.intra.vmdk", and what's the provisioned virtual disk size (i.e. the size that you've configured in the VM's settings)?

André

0 Kudos
Contributor
Contributor

Hi André,

Thank for your reply,

the size of my vmdk file is 84072595456(in Bytes), and I've configured 100GB in the VM's settings.

Just now,I tried "vmware-vdiskmanager -R", and showed the virtual disk is corrupted and cannot be repaired.

0 Kudos
Leadership
Leadership

The command line utility vmware-vdiskmanager unfortunately seems to be pretty useless in such cases.

I'll be back home soon, and will then respond with some instructions to extract the required metadata from the .vmdk file.

André

0 Kudos
Leadership
Leadership

To extract the metadata (~12.5MB) from the virtual disk, run:

dd count=13172736 if="shn-huangzhen8.sh.cnc.intra.vmdk" of="Metadata.bin" bs=1

Then compress/zip the "Metadata.bin" file and attach the .zip archive it to your next post.

André

0 Kudos
Contributor
Contributor

Thank you André,

The "Metadata.bin" file posted.

0 Kudos
Leadership
Leadership

I did analyze the metadata, and I didn't only find what you already mentioned, but also a huge number of mismatches between the grain entries in the grain directory and the redundant grain directory. In addition to this, the .vmdk file's size is a few GB smaller that expected.

To me it seems that the VM had a high write activity at the time the system was restarted, and the hard restart not only truncated the file, but also caused that the metadata could not be flushed from the host's memory into the file.

I'm sorry, but in this case you may indeed need to restore the VM from a recent backup.

André

0 Kudos
Contributor
Contributor

Thank you André,

I did a hard restart and seems not realized the VM was flushing at that time. Your said was exactly right.

Thank you for your help, fortunately, the data is still can read from recovery app.

0 Kudos
Contributor
Contributor

I found a way to recover VM file.

Use Starwindconvert to create a new vmdk and flat.vmdk file.

Use a vmx file then fusion can scan this new one.

hope this can help someone else

View solution in original post

0 Kudos