I was running a virtual machine in VMware Fusion 11 when my computer crashed. When I tried to start it up again I saw an error message informing me that "The disk has one or more internal errors that cannot be fixed."
Is there a way I can fix this?
I was running a virtual machine in VMware Fusion 11 when my computer crashed. When I tried to start it up again I saw an error message informing me that "The disk has one or more internal errors that cannot be fixed."
Is there a way I can fix this?
Try using vmware-vdiskmanager
to repair the image.
Since VMware already likely tried running this command on its own, this probably will not help, but it's the easiest thing to try.
On macOS with VMware Fusion open terminal and change directory to /Applications/VMware Fusion.app/Contents/Library
./vmware-vdiskmanager -R /path/to/your_corrupted_disk.vmdk
If you get a message saying that The virtual disk, '/path/to/your_corrupted_disk.vmdk', is corrupted and cannot be repaired.
Try using StarWind V2V Converter on Windows to repair the disk.
your_corrupted_disk.vmdk
along with all related .vmdk
s. (your_corrupted_disk-s001.vmdk
, your_corrupted_disk-s002.vmdk
, ...). Best to copy the whole parent directory.VMDK of one of my VMs got corrupted after my phisiscal disk got overfilled and the VM got terminated.
I tried several methods including vmware-vdiskmanager
and StarWind V2V Converter, but none of them was able to recover the file.
Eventually I was able fix it using DiskInternals VMFS Recovery.
Here what I did:
Download and install trial version of the VMFS Recovery: https://www.diskinternals.com/vmfs-recovery/
Launch the program and skip the wizard
Select Drives > Mount image, mount the corrupted VMDK
Find the mounted image in the list, right-click it (choose the parent element that says VMware disk (vmdk), not the indiviual partition) and select Create image
Chose the path to save the image, keep all the settings default, click Save
Wait for the process to complete. If there will be no errors, it's a good sign.
Note that the image will be saved in RAW format, and to convert it back to VMDK you would need to use VBoxManage
which is part of VirtualBox.
Thus, install VirtualBox if you don't have it already, then to convert RAW disk to VMDK use the command:
VBoxManage convertfromraw "C:\Source.dsk" "C:\destination.vmdk" --format VMDK
Now try to mount the resulting VMDK to the VM, hopefully it will work.