home       vmx       vmdk        about this site        forum        downloads  


fix CID-chain




Case: a VM can not be started - it displays the "parent has been changed" message on a Windows-host.



Overview of the procedure




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


###################### 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

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"


 




DISCLAIMER:

The procedures I suggest for some typical problem often require advanced skills.
I can't take any responsibilty when you mess up your data following this tips.
This just lists up what I would do in such a case.
Please also note that official VMware support will very likely claim that those cases listed as "restore" are lost.
Don't give up too early - you may still be able to rescue some data.

For in depth discussion of the listed procedure use the search function at VMTN , german forum and sanbarrow forum.
Search for username "continuum" and terms from desaster description table.



 top 

 


   home       vmx       vmdk        about this site        forum        downloads