harry’s memorandum



普段は仕事でXenやXenServerやESXiやHyper-Vを使いますが、ちょっと試してみようとか思うときは VirtualBox が すごく便利です。そんなVirtualBoxも4.1になり、"リンククローン"も出来るようになり嬉しいことばかりです。


Support for cloning of VMs (bug #5853, see the manual for more information): full clones can be created through the GUI and VBoxManage, linked clones only through VBoxManage


「linked clones only through VBoxManage」コマンドラインの VBoxManage のみサポートのようです。ということで、コマンドラインでリンククローンをやってみました。


    • snapshot |: Select a specific snapshot where the clone operation should refer to. Default is referring to the current state.
    • mode machine|all: Selects the cloning mode of the operation. If machine is selected (the default), the current state of the VM without any snapshots is cloned. If all is the selected mode all snapshots and the current state are cloned.
    • options link|keepallmacs|keepnatmacs|keepdisknames: Allows additional fine tuning of the clone operation. The first option defines that a linked clone should be created, which is only possible for a machine clone from a snapshot. The next two options allow to define how the MAC addresses of every virtual network card should be handled. They can either be reinitialized (the default), left unchanged (keepallmacs) or left unchanged when the network type is NAT (keepnatmacs). If you add keepdisknames all new disk images are called like the original once, otherwise they are renamed.
    • name : Select a new name for the new virtual machine. Default is "Original Name Clone".
    • basefolder : Select the folder where the new virtual machine configuration should be saved in.
    • uuid : Select the UUID the new VM should have. This id has to be unique in the VirtualBox instance this clone should be registered. Default is creating a new UUID.
    • register: Automatically register the new clone in this VirtualBox installation. If you manually want register the new VM later, see the section called “VBoxManage registervm / unregistervm” for instructions how to do so.


  • --snapshot | はスナップショットのuuidか名前
  • --options link がリンククローンオプション。
  • --name は 新しいクローン名


>VBoxManage showvminfo  ubuntu001
 Name:            ubuntu001
 Guest OS:        Ubuntu
 UUID:            a0f412ba-2843-40e0-a753-a69395a2fa2b
 Config file:     G:\VMImage\ubuntu001\ubuntu001.vbox
 Snapshot folder: G:\VMImage\ubuntu001\Snapshots
 Log folder:      G:\VMImage\ubuntu001\Logs
 Hardware UUID:   a0f412ba-2843-40e0-a753-a69395a2fa2b


>VBoxManage clonevm ubuntu001 --options link --name ubuntu002
 VBoxManage.exe: error: Linked clone can only be created from a snapshot
 VBoxManage.exe: error: Details: code E_INVALIDARG (0x80070057), component Machine, interface IMachine, callee IUnknown
 Context: "CloneTo(trgMachine, mode, ComSafeArrayAsInParam(options), progress.asOutParam())" at line 444 of file VBoxManageMisc.cpp

「Linked clone can only be created from a snapshot」と怒られました。リンククローンをするにはスナップショットからクローンするっぽいです。素直にスナップショットを取得して、スナップショット名もしくはuuidを指定するといいみたい。ということはシンタックスはこんな感じですか。

>VBoxManage clonevm <VMの{uuid|name}>  --snapshot <スナップショットの{uuid|name} --options link --name <新しい名前>


>VBoxManage clonevm ubuntu001 --snapshot ubuntu-snapshot1 --options link --name ubuntu002
 Machine has been successfully cloned as "ubuntu002"

本当に一瞬でクローンが完了。でもレジストしないとVMは使えないので VBoxManage registervm してください。

>VBoxManage registervm G:\VMImage\ubuntu003\ubuntu002.vbox