To create a virtual machine from the current running point, clone the virtual machine, as in , but use a diskMoveType of moveChildMostDiskBacking. The virtual machine can be in any power state.

For more information about cloning a virtual machine, see Creating a Linked Virtual Machine from a Snapshot.

Creating a Linked Virtual Machine from the Current Running Point

relSpec = new VirtualMachineRelocateSpec()
relSpec.diskMoveType = VirtualMachineRelocateDiskMoveOptions.moveChildMostDiskBacking

cloneSpec = new VirtualMachineCloneSpec()
cloneSpec.powerOn = False
cloneSpec.template = False
cloneSpec.location = relSpec

myVm.Clone(myVm.parent, myVm.name + "-clone", cloneSpec)
Figure 1. Creating a Linked Virtual Machine from the Current Running Point
Shows merged base disk from VM and running point.