2

ESX: 5.5 OS: 2008r2

I recently lost the disk descriptor file on a .vmdk file. The .vmdk was not the boot drive rather a secondary hard drive (sql database unfortunately), I followed the procedure here to rebuild the descriptor successfully. I then attached the drive back to the guest however it is coming up in the disk manager as an uninitialized drive. Is there a way to mount (perhaps in another os) it without formatting or does this mean that the data on the drive has been wiped out ?

Edit

@ewwhite The error seamed to occur when the VM was powered off and the name was changed (which was set to propagate through to the vmdk vmx files). I then tryed to start it and it couldn't find the disk at which point I noticed the descriptor was gone.

Disk 2 was the previous store for SQL Databases (Including vCenter).

DiskMgmt

Edit2

I am in the process of trying to mount the drive locally in windows 7 however it times out. At this point I'm think the issue is because the vmdk was created with a para virtual iscsi controller. I tried rebuilding the descriptor with both Lsi and pvscsi and have been unsuccessful wither way.

4
  • 2
    How did you lose the disk descriptor file? Can you fill in that detail?
    – ewwhite
    Nov 18, 2014 at 21:39
  • @ewwhite see edit Nov 18, 2014 at 21:43
  • 2
    No idea what happened, but I have a bad feeling your data is gone. Do you have backups? If you look at that 'Disk 2' devices directly with a hex dump tool does it actually have any data in it or is it just full of zeros? You should probably try making a copy of the VMDK, and using something like testdisk on the copy to see if that finds anything that can be recovered.
    – Zoredache
    Nov 19, 2014 at 0:44
  • @Zoredache This was one of the first things I did and the file was not zeroed out. However I'm sure there was some corruption luckily it didn't affect the DB files. I'm still puzzled as to what happened but I've seen stranger things happen with iScsi. Nov 19, 2014 at 19:11

1 Answer 1

1

I was able to recover the data out of the file with the following steps:

1) Rebuild Descriptor With Lsi Controller and Thick Eager Provisioning.

2) Download the VMDK off of the Host On to Local PC

3) Use SDK to http://www.running-system.com/how-to-mount-a-vmdk-file-under-windows/

This is very counter intuitive considering I was using Paravirtual Iscsi Controller and Lazy Provisioning. However I was able to recover the DB files run DBCC successfully. Hope it helps someone.

You must log in to answer this question.

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