Convert a Linked Clone VM Image into a Independant VM Image


Have you ever cloned a VM and then later on wanted to make the clone a completelty standalone VM. – Here is how…

For this guide I am using “Cloned VM” as the Parent and “Clone” and the Child VM – the one you want to make independant.

Look inside the directory containing all the discs for the Clone VM. Find the primary VMDK file. This can be found by looking at the “Disk File” value in the GUI. My file is called “Windows Server 2008-cl1-000009.vmdk“. The 000009 is due to having a number of snapshots. Now find the parent of all the snapshots. This can be done by looking inside “Windows Server 2008-cl1-000009.vmdk” and looking for the value of “parentFileNameHint”. You will need to look in as many files as you have snaphots.

Eventually you will find the first disk of the Cloned VM – “Windows Server 2008-cl1.vmdk“. Open this file in nodepad. You should see a line such as

parentFileNameHint=”E:\VMWare Images\Windows Server 2008\Windows Server 2008.vmdk”

This specifies the disk that this disk is cloned from. To make this close totally independant from the Cloned VM copy this file & its associated files locally. If you look inside “E:\VMWare Images\Windows Server 2008\Windows Server 2008.vmdk” you will will see a list of other files you also need to copy i.e.

RW 4192256 SPARSE “Windows Server 2008-s001.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s002.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s003.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s004.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s005.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s006.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s007.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s008.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s009.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s010.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s011.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s012.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s013.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s014.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s015.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s016.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s017.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s018.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s019.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s020.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s021.vmdk”
RW 43008 SPARSE “Windows Server 2008-s022.vmdk”

Create a subdirectory called “ClonedDisks” and put the disk & associcated files

Update the primary disk config file on the Cloned VM i.e. Windows Server 2008-cl1.vmdk, changing the old location of the disk to the new one i.e.

parentFileNameHint=”E:\VMWare Images\Windows Server 2008\Windows Server 2008.vmdk”
to
parentFileNameHint=”E:\VMWare Images\2008 MSCS Client 1\Cloned\Windows Server 2008.vmdk”

There are also a few other config files you need to change.

Update any SnapShot.vmsn files

fileSearchPath = “.;E:\VMWare Images\Windows Server 2008”
to
fileSearchPath = “.;E:\VMWare Images\2008 MSCS Client 1\Cloned”

Update the main .vmx files to look in the new directory i.e.

fileSearchPath = “.;E:\VMWare Images\Windows Server 2008”
to
fileSearchPath = “.;E:\VMWare Images\2008 MSCS Client 1\Cloned”

Copy the original .vmx into the “Cloned” Directory.

Update the .vmsd to have the new location of the Cloned VMs vmx

cloneOf0 = “E:\VMWare Images\Windows Server 2008\Windows Server 2008.vmx”
to
cloneOf0 = “E:\VMWare Images\2008 MSCS Client 1\Cloned\Windows Server 2008.vmx”

You should now have a 100% indepentant VM which you can move about. You can also now remove the snapshot from the Cloned VM which this new VM used to rely on.


Leave a Reply

Your email address will not be published.