Frequently Asked Question

VMWare Fusion "the specified virtual disk needs repair" when trying to run a virtual machine
Last Updated 5 years ago

VMWare stores virtual machines in disk files that contain an entire filesystem. The format of these files are proprietary so when they get damaged the only way to repair is to use proprietary repair tool.

These instructions are for MacOS, but windows is basically the same.

Open a Terminal window.
locate the virtual machine file that is damaged. If your not sure which it is then open VMWare Fusion, Select the Virtual Machine, Select Settings, then Hard Disks and the file will be shown at the top.

Now locate this file on disk. You can use a find tool for this or native linux commands such as

find / -name "Windows 7-0-cl1.vmdk"

change to that directory using cd and double check the file exists with ls

Now run the repair with

"/Applications/VMware Fusion.app/Contents/Library/vmware-vdiskmanager" -R "Windows 7-0-cl1.vmdk"

The Quotes are important because there are spaces in the path and filenames.

After this is complete you should receive a response similar to

The virtual disk, 'Windows 7-0-cl1.vmdk', was corrupted and has been successfully repaired.

And there you have it. You should now be able to start up the virtual machine just fine.

Further Actions

Whilst you've located the file and have the command line in the buffer its worth running a defragment which will speed up the vm. Make sure VMware fusion is NOT running and then execute

"/Applications/VMware Fusion.app/Contents/Library/vmware-vdiskmanager" -d "Windows 7-0-cl1.vmdk"

Please Wait!

Please wait... it will take a second!