How do you create the vmdk descriptor file when you have just the flat vmdk file?

  1. Find the size of the -flat.vmdk file.
    "ls -l" will list the files and their sizes

  2. Use vmkfstools to create a thin vmdk disk with the same size as the “-flat.vmdk disk in a temporary folder”

syntax: "vmkfstools -c m -d thin -a lsilogic /tmp/[filename]"  
-c : can be specified in kilobytes, megabytes or gigabytes. Just add the letter k for kilobytes, m for megabytes or g for gigabytes after.
-d [zeroedthick| thin| eagerzeroedthick| rdm:|rdmp:| 2gbsparse] : Select the required disk type. 
-a [buslogic|lsilogic|ide] : Specify the storage adapter that you is being used in the VM  

Example: To create a 100GB thin disk named test:

vmkfstools -c 100g -d thin -a lsilogic /tmp/test.vmdk 

Please check the following post for more information on vmdk disk types. Link

  1. Rename the vmdk disks to the original using the command
    “vmkfstools -E sourcedisk.vmdk destinationdisk.vmdk”
    Example: "vmkfstools -E /tmp/test.vmdk /tmp/production.vmdk".

  2. Copy ONLY  the descriptor vmdk file to the VM’s folder.