make a file-list of all vmdks
to do this open a cmd and change directory to the path of the patient
- then type
dir /b *.vmdk > list.txt
edit the list and delete all entries with *-flat.vmdk, *-s00*.vmdk
and *-f00*.vmdk.
You may get a list like this
Windows Vista.vmdk
Windows Vista-000001.vmdk
Windows Vista-000002.vmdk
Windows Vista-000003.vmdk
Windows Vista-000004.vmdk
type all those vmdks into a file
again it is convenient to write a btach for it - but feel
free to do it manually
echo. > listed-descriptors.txt
echo ###################### "Windows Vista.txt" >>
listed-descriptors.txt
echo. >> listed-descriptors.txt
type "Windows Vista.txt" >> listed-descriptors.txt
echo ###################### "Windows Vista-000001.txt"
>> listed-descriptors.txt
echo. >> listed-descriptors.txt
type "Windows Vista-000001.txt" >> listed-descriptors.txt
echo ###################### "Windows Vista-000002.txt"
>> listed-descriptors.txt
echo. >> listed-descriptors.txt
type "Windows Vista-000002.txt" >> listed-descriptors.txt
echo ###################### "Windows Vista-000003.txt"
>> listed-descriptors.txt
echo. >> listed-descriptors.txt
type "Windows Vista-000003.txt" >> listed-descriptors.txt
echo ###################### "Windows Vista-000004.txt"
>> listed-descriptors.txt
echo. >> listed-descriptors.txt
type "Windows Vista-000004.txt" >> listed-descriptors.txt
make the list look nice by removing unimportant
lines
###################### Windows Vista.txt ########################
CID=848cbe64
parentCID=ffffffff
RW 104857600 SPARSE "Windows Vista.vmdk"
###################### Windows Vista-000001.txt ########################
CID=195cf01f
parentCID=c27c3cf2
parentFileNameHint="Windows Vista-000003.vmdk"
RW 104857600 SPARSE "Windows Vista-000001.vmdk"
###################### Windows Vista-000002.txt ########################
CID=c750afeb
parentCID=5cdd6af0
parentFileNameHint="Windows Vista-000004.vmdk"
RW 104857600 SPARSE "Windows Vista-000002.vmdk"
###################### Windows Vista-000003.txt ########################
CID=c27c3cf2
parentCID=c750afeb
parentFileNameHint="Windows Vista-000002.vmdk"
RW 104857600 SPARSE "Windows Vista-000003.vmdk"
###################### Windows Vista-000004.txt ########################
CID=5cdd6af0
parentCID=9a1f1a1f
parentFileNameHint="Windows Vista.vmdk"
RW 104857600 SPARSE "Windows Vista-000004.vmdk"
sort the listing
- start with the basedisk
- next the file that references the basedisk as parent
- next the file that references the first snapshot as parent and
so on
- in this case the chain looks like basedisk - 000004 -000002 -000003
-000001
###################### Windows Vista.txt ########################
CID=848cbe64
parentCID=ffffffff
RW 104857600 SPARSE "Windows Vista.vmdk"
ddb.geometry.cylinders = "6527"
###################### Windows Vista-000004.txt ########################
CID=5cdd6af0
parentCID=9a1f1a1f
parentFileNameHint="Windows Vista.vmdk"
RW 104857600 SPARSE "Windows Vista-000004.vmdk"
###################### Windows Vista-000002.txt ########################
CID=c750afeb
parentCID=5cdd6af0
parentFileNameHint="Windows Vista-000004.vmdk"
RW 104857600 SPARSE "Windows Vista-000002.vmdk"
###################### Windows Vista-000003.txt ########################
CID=c27c3cf2
parentCID=c750afeb
parentFileNameHint="Windows Vista-000002.vmdk"
RW 104857600 SPARSE "Windows Vista-000003.vmdk"
###################### Windows Vista-000001.txt ########################
CID=195cf01f
parentCID=c27c3cf2
parentFileNameHint="Windows Vista-000003.vmdk"
RW 104857600 SPARSE "Windows Vista-000001.vmdk"
analyse the CID-chain
- the parentCID-value must match the CID-value of the parent
- so following the chain starting from the last snapshot find a
break in the chain
in snapshot 4. It does not reference its parent correctly.
See the value marked yellow
fix the CID-chain
in this case we just need to edit the CID-value in the basedisk
###################### Windows Vista.txt ########################
CID=9a1f1a1f
parentCID=ffffffff
RW 104857600 SPARSE "Windows Vista.vmdk"
ddb.geometry.cylinders = "6527"
###################### Windows Vista-000004.txt ########################
CID=5cdd6af0
parentCID=9a1f1a1f
parentFileNameHint="Windows Vista.vmdk"
RW 104857600 SPARSE "Windows Vista-000004.vmdk"
###################### Windows Vista-000002.txt ########################
CID=c750afeb
parentCID=5cdd6af0
parentFileNameHint="Windows Vista-000004.vmdk"
RW 104857600 SPARSE "Windows Vista-000002.vmdk"
###################### Windows Vista-000003.txt ########################
CID=c27c3cf2
parentCID=c750afeb
parentFileNameHint="Windows Vista-000002.vmdk"
RW 104857600 SPARSE "Windows Vista-000003.vmdk"
###################### Windows Vista-000001.txt ########################
CID=195cf01f
parentCID=c27c3cf2
parentFileNameHint="Windows Vista-000003.vmdk"
RW 104857600 SPARSE "Windows Vista-000001.vmdk"
check current vmx-file
the vmx-file should reference the last snapshot - in this case it
should reference Windows Vista-000001.vmdk
edit the vmdk
in this case only one value in one file needs to be edited - the
CID-value in Windows Vista.vmdk needs to be changed
to do this we need to edit the extracted descriptor Windows Vista.txt
so that it looks like this - the only edit is marked yellow
# Disk DescriptorFile
version=1
CID=9a1f1a1f
parentCID=ffffffff
createType="monolithicFlat"
# Extent description
RW 104857600 SPARSE "Windows Vista-flat.vmdk"
# The Disk Data Base
#DDB
ddb.virtualHWVersion = "6"
ddb.geometry.cylinders = "6527"
ddb.geometry.heads = "255"
ddb.geometry.sectors = "63"
ddb.adapterType = "lsilogic"
|