4

I have VMWare Fusion running on my Mac, running a Windows 7 VM. I accidentally powered down my Mac and the VM image won't restore properly, losing all my files I had worked on in that image. I have a snapshot from 2 months ago, but I really need a bunch of files I've created on that snapshot since then. Given the vmdk files (or maybe the other VMWare files), is there a reader I can use to peruse that hard drive, even if I can't get the image to boot properly. Or is there any other way to read the file system?

Oddly enough, the image thinks it's in the paused state, so I try to "play" the VM only to get a fatal error running it.


Edit: I tried the answer below and it worked. Creating a new VM based on the existing hard disk was able to find my old data. Interestingly, when selecting which vmdk file to create my new VM's hard disk from, there were several possible vmdk files that VMWare Fusion recognized. It looks like every snapshot I had created another valid vmdk file. My VM was named "Windows 7", and I had vmdk files named "Windows 7-000001-s00x.vmdk" where x is a series of files that compose one functional vmdk group - for each group, only one vmdk file is considered the base file that can be used (the root is named "Windows 7-000001.vmdk").

I resorted to looking at the dates on each of the valid vmdk files and picking the last one before I crashed my VM. While there were a few unrelated warnings that popped up, I was able to retrieve all the lost information.

1 Answer 1

5

If the fatal error is coming from vmplayer rathar than the Windows vm, then one option would be to create a new VM and use the existing vmdk as its disk. If it is somehow the vm config that is broken, then the vmdk could be fine.

If the error is coming from Windows then you could do the normal recovery type stuff with a Windows CD attached to the VM.

Or you could create an entirely new Window VM and add the vmdk as a second disk to it.

It is difficult to guess whether the vmdk is broken or the file system that is on it is broken.

If none of this works, and you have qemu-img handy, you could try converting the vmdk to a flat disk image file, and then back again to a vmdk to see if it can recover the data:

http://en.wikibooks.org/wiki/QEMU/Images

The moral of this story is to not store files inside a VM image - use the image for the OS only, and store your data on a native disk. This could either be a partition on your machine, or export a Samba share from Mac OS and access that from the VM.

1
  • Great ideas here. Making a new VM with the same vmdk files is brilliant and simple. Anyone reading this please upvote this comment, since this is only my second superuser.com post, and I don't have permissions yet. :)
    – Joe B.
    Sep 29, 2011 at 2:56

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .