home       vmx       vmdk        about this site        forum        downloads  

back to "when it is too late"

 

restore a lost vmdk-descriptor

Unless you have misconfigured VMware to not write logs the last log contains
all data to restore a lost descriptor for a vmdk from scratch.


This also applies to embedded descriptors!

Proceed like this:
1. find out which disktype you need - see createType
2. copy a sample descriptor from the disktypes-table
3. grab data from the log and replace the entries from the sample

3a. doublecheck the parameter adapterType against the vmx-file.
3b. if unsure about disk-geometry - compare against the disk-geomtry-table

WARNING: this guide is incomplete - I still have to explain how to set the extend-lines

 

a working vmdk-descriptor must declare these values:

 

version - set this to "1"
CID
parentCID
createType
Extent description
- this may be more than just one line !
adapterType
geometry.cylinders
geometry.heads
geometry.sectors
virtualHWVersion

 

 

lost vmdk

# Disk DescriptorFile
version=1
CID=43e5bb88
parentCID=ffffffff
createType="twoGbMaxExtentSparse"

# Extent description
RW 4192256 SPARSE "obsd-s001.vmdk"
RW 2048 SPARSE "obsd-s002.vmdk"

# The Disk Data Base
#DDB

ddb.toolsVersion = "0"
ddb.adapterType = "lsilogic"
ddb.geometry.sectors = "63"
ddb.geometry.heads = "255"
ddb.geometry.cylinders = "261"
ddb.virtualHWVersion = "4"

 


 



Getting the data together

the createType - parameter can have one of these values:

monolithicFlat
monolithicSparse
twoGbMaxExtentFlat
twoGbMaxExtentSparse
fullDevice
partitionedDevice
vmfs
vmfsSparse
custom

In case you need to recreate either one of this types
fullDevice
partitionedDevice
better create them from scratch using the GUI

... vmx| DISK: OPEN scsi0:0 'E:\bsd2\obsd.vmdk' persistent R[(null)]
... vmx| DISKLIB-DSCPTR: Opened [0]: "obsd-s001.vmdk" (0xa)
... vmx| DISKLIB-DSCPTR: Opened [1]: "obsd-s002.vmdk" (0xa)
... vmx| DISKLIB-LINK : Opened 'E:\bsd2\obsd.vmdk' (0xa): twoGbMaxExtentSparse, 4194304 sectors / 2048 Mb.
... vmx| DISKLIB-LIB : Opened "E:\bsd2\obsd.vmdk" (flags 0xa).
... vmx| DISK: OPEN 'E:\bsd2\obsd.vmdk' Geo (261/255/63) BIOS Geo (261/255/63) freeSpace=40976Mb

... vmx| DISKUTIL: scsi0:0 : capacity=4194304
... vmx| DISKUTIL: scsi0:0 : geometry=261/255/63
... vmx| SCSI0: UNTAGGED commands will be converted to ORDER tags.
... vmx| MStat: Creating Stat vm.heartbeat
... vmx| DISKUTIL: scsi0:0 : toolsVersion = 0
... vmx| DISKUTIL: Offline toolsVersion = 0


the names of the split chunks and the name of the descriptorfile

... vmx| DISK: OPEN scsi0:0 'E:\bsd2\obsd.vmdk' persistent R[(null)]
... vmx| DISKLIB-DSCPTR: Opened [0]: "obsd-s001.vmdk" (0xa)
... vmx| DISKLIB-DSCPTR: Opened [1]: "obsd-s002.vmdk" (0xa)
... vmx| DISKLIB-LINK : Opened 'E:\bsd2\obsd.vmdk' (0xa): twoGbMaxExtentSparse, 4194304 sectors / 2048 Mb.
... vmx| DISKLIB-LIB : Opened "E:\bsd2\obsd.vmdk" (flags 0xa).
... vmx| DISK: OPEN 'E:\bsd2\obsd.vmdk' Geo (261/255/63) BIOS Geo (261/255/63) freeSpace=40976Mb

... vmx| DISKUTIL: scsi0:0 : capacity=4194304
... vmx| DISKUTIL: scsi0:0 : geometry=261/255/63
... vmx| SCSI0: UNTAGGED commands will be converted to ORDER tags.
... vmx| MStat: Creating Stat vm.heartbeat
... vmx| DISKUTIL: scsi0:0 : toolsVersion = 0
... vmx| DISKUTIL: Offline toolsVersion = 0


the geometry entries are here

... vmx| DISK: OPEN scsi0:0 'E:\bsd2\obsd.vmdk' persistent R[(null)]
... vmx| DISKLIB-DSCPTR: Opened [0]: "obsd-s001.vmdk" (0xa)
... vmx| DISKLIB-DSCPTR: Opened [1]: "obsd-s002.vmdk" (0xa)
... vmx| DISKLIB-LINK : Opened 'E:\bsd2\obsd.vmdk' (0xa): twoGbMaxExtentSparse, 4194304 sectors / 2048 Mb.
... vmx| DISKLIB-LIB : Opened "E:\bsd2\obsd.vmdk" (flags 0xa).
... vmx| DISK: OPEN 'E:\bsd2\obsd.vmdk' Geo (261/255/63) BIOS Geo (261/255/63) freeSpace=40976Mb

... vmx| DISKUTIL: scsi0:0 : capacity=4194304
... vmx| DISKUTIL: scsi0:0 : geometry=261/255/63
... vmx| SCSI0: UNTAGGED commands will be converted to ORDER tags.
... vmx| MStat: Creating Stat vm.heartbeat
... vmx| DISKUTIL: scsi0:0 : toolsVersion = 0
... vmx| DISKUTIL: Offline toolsVersion = 0


thetools-version

... vmx| DISK: OPEN scsi0:0 'E:\bsd2\obsd.vmdk' persistent R[(null)]
... vmx| DISKLIB-DSCPTR: Opened [0]: "obsd-s001.vmdk" (0xa)
... vmx| DISKLIB-DSCPTR: Opened [1]: "obsd-s002.vmdk" (0xa)
... vmx| DISKLIB-LINK : Opened 'E:\bsd2\obsd.vmdk' (0xa): twoGbMaxExtentSparse, 4194304 sectors / 2048 Mb.
... vmx| DISKLIB-LIB : Opened "E:\bsd2\obsd.vmdk" (flags 0xa).
... vmx| DISK: OPEN 'E:\bsd2\obsd.vmdk' Geo (261/255/63) BIOS Geo (261/255/63) freeSpace=40976Mb

... vmx| DISKUTIL: scsi0:0 : capacity=4194304
... vmx| DISKUTIL: scsi0:0 : geometry=261/255/63
... vmx| SCSI0: UNTAGGED commands will be converted to ORDER tags.
... vmx| MStat: Creating Stat vm.heartbeat
... vmx| DISKUTIL: scsi0:0 : toolsVersion = 0
... vmx| DISKUTIL: Offline toolsVersion = 0

the adapterType can have one of this values:

lsilogic
buslogic
ide

double-check the controller-type against the entry in the vmx-section


... vmx| DICT scsi0.virtualDev = lsilogic


 


 top 

 


   home       vmx       vmdk        about this site        forum        downloads