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 ?


@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).



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.

  • 2
    How did you lose the disk descriptor file? Can you fill in that detail? – ewwhite Nov 18 '14 at 21:39
  • @ewwhite see edit – bumble_bee_tuna Nov 18 '14 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 '14 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. – bumble_bee_tuna Nov 19 '14 at 19:11

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.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.