If your VMDK file is lost. How do I found out? It's simple, if you don't see your usual vmdk file through the VI browser, and you see some kind of file with yourfile-flat.vmdk, then you lost your descriptor file.
Then it happens that your VM does not want to start. Sure, you can restore from your yesterday's backup. But, if, for X reasons your last backup is like a week old or so and you do not want to loose the delta of your work, than the next several lines could be crucial for you…
In this example 2003srvis the name of the virtual machine, 2003srv.vmdk was the name of the descriptive file, and 2003srv-flat.vmdk as the content, or -flat file. Now you can actually see the 2003srv-flat.vmdk file throught your VI client's browser datastore. Your file you need to recreate is 2003srv.vmdk
To create a descriptive file (I suppose that the disk was thin provisioned) :
# cd /vmfs/volumes/myvmfsvolume/mydir
3. Run this command to identify and record the exact size of the flat file:
# ls -l vm-vCenter-flat.vmdk
4. run the vmkfstools and create new virtual disk
# vmkfstools -c 85921274880 -d thin -a lsilogic temp2.vmdk
5. Like this there are 2 new files created: temp2.vmdk and temp2-flat.vmdk are created as a result.
6. You can delete temp2-flat.vmdk as it is not needed.
# rm temp2-flat.vmdk
7.Rename temp2.vmdk to the name that is needed to match the orphaned -flat file (vm-vCenter.vmdk in this example):
# mv temp2.vmdk vm-vCenter.vmdk
8. Edit the descriptor file (the vm-vCenter.vmdk)
find the line with RW ####### and change the name of the -flat to match the orphaned -flat file you have. So I chanded temp2.vmdk to vm-vCenter.vmdk as you can see on the image below.
9. Power up the virtual machine and access the disk drive. The drive contains the data from the old disk.
Source: VMware KB 1002511