Troubleshooting parent virtual disk errors in Fusion (1018832)
- You are unable to power on a virtual machine
- Fusion presents this error:
Cannot open the disk ".../<Virtual Disk>.vmdk"
Reason: The parent virtual disk has been modified since the child was created.
- The parent/child relationship
- Solving the problem
- Extracting the information required to investigate
- Investigating the Parent/Child relationship using the extracted information
- Repairing the Parent/Child CID relationship
- Verifying the results
- Next steps
Each virtual disk (.vmdk file) has both its own disk identifier (CID) and the identifier of its parent virtual disk (parentCID). Because the main disk does not have a parent, its parentCID is set to ffffffff.
- Open Terminal. For instructions on opening Terminal, see Opening a command or shell prompt (1003892).
Type head, press space, then drag each descriptor file (or monolithic . vmdk) into the Terminal window. After dragging the files into the Terminal window, type > ~/Desktop/CID.txt, then hit return.
For example (with line breaks added for clarity):
head /Users/yourname/Documents/Virtual\ Machines.localized/Windows\ XP.vmwarevm/Windows\ XP.vmdk
/Users/yourname/Documents/Virtual\ Machines.localized/Windows\ XP.vmwarevm/Windows\ XP-000001.vmdk
/Users/yourname/Documents/Virtual\ Machines.localized/Windows\ XP.vmwarevm/Windows\ XP-000002.vmdk
/Users/yourname/Documents/Virtual\ Machines.localized/Windows\ XP.vmwarevm/Windows\ XP-000003.vmdk > ~/Desktop/CID.txt
|Relevant information||Example of how it would appear in the CID.txt|
|Child Name||Windows XP Professional-000001.vmdk|
|Parent Name||parentFileNameHint="Windows XP Professional.vmdk"|
- Windows XP Professional-000001.vmdk
- Windows XP Professional-000002.vmdk
- Windows XP Professional-000003.vmdk
Windows XP Professional.vmdk
Windows XP Professional-000001.vmdk
Windows XP Professional-000002.vmdk
Windows XP Professional-000003.vmdk
- Compare the parentCID in Windows XP Professional-000003.vmdk to the CID in Windows XP Professional-000002.vmdk.
- Compare the parentCID in Windows XP Professional-000002.vmdk to the CID in Windows XP Professional-000001.vmdk.
- Compare the parentCID in Windows XP Professional-000001.vmdk to the CID in Windows XP Professional.vmdk.
There may be multiple breaks in the chain, so make sure to go through the entire chain to determine all possible breaks.
- A difference between the parentCID and the expected CID.
- A virtual disk that has an identical CID and parentCID.
Note: This basically means that it is referencing itself. However, the parentFileNameHint will reference the correct (different) virtual disk.
To output the contents, run this Terminal command:
dd if=<virtual machine.vmdk> of=<descriptor.txt> skip=1 count=1
if= indicates the input file,
of= indicates the output file (where you want to see the results; you can omit this section to print the results to the screen), we are skipping the first section of the file (with irrelevant information), and then printing a count of 1 section (with the information we need).
To input the modified contents, run this Terminal command:
dd conv=notrunc,nocreat if=<descriptor.txt> of=<virtual machine.vmdk> skip=1 count=1
- Open both the Parent disk and the Child disk.
- Make the appropriate changes in the Parent or Child by replacing the CID of the Parent with the parentCID of the child.
- Save the modified file.
- Repeat steps 1-3 for all breaks in the snapshot chain.
- Open Terminal from /Applications/Utilities.
- Run this command:
/Library/Application\ Support/VMware\ Fusion/vmware-vdiskmanager -r ~/Documents/Virtual\ Machines.localized/Windows\ XP\ Professional.vmwarevm/Windows\ XP\ Professional-000002.vmdk -t 0 ~/Desktop/XPPro.vmdk