Linux ホスト上で VirtualBox マシンを複製する方法は 2 つあります。1 つは、VirtualBox GUI を使用してアプライアンスとしてエクスポートおよび再インポートする方法です (VirtualBox のファイル メニューで)。
もう 1 つは、仮想ディスク コンテナー ファイルのみを複製することです。
VBoxManage clonevdi /mnt/md1/original/root-fs.vdi /mnt/md1/cloned/root-fs.vdi
(出典:http://forums.virtualbox.org/viewtopic.php?p=853#p858)
編集: これは、すでに ~/VirtualBox/VirtualBox.xml の一部となっている VDI ファイルでは機能しないようで、エラー メッセージが表示されます:
エラー: UUID {96a1462b-c30a-4911-a954-d9093122f083} のハードディスク '/mnt/md1/original/root-fs.vdi' がメディア レジストリ ('/home/mit/.VirtualBox/VirtualBox.xml') に既に存在するため、UUID {96a1462b-c30a-4911-a954-d9093122f083} のハードディスク '/mnt/md1/original/root-fs.vdi' を登録できません。
その後、新しい VM を作成し、クローンされた仮想ディスク コンテナーを使用する必要があります。
ファイルシステム コマンドを使用して仮想ディスク コンテナー ファイルと構成ファイルをコピーし、残りの作業を手動で実行することで VM のクローンを作成することもできますか?
~/VirtualBox/VirtualBox.xml を手動で編集し、新しいディスクと新しいマシンを挿入する必要があります。
UUID を作成するだけでよいのでしょうか、それともどのように機能するのでしょうか?
マシンを自由かつ迅速にバックアップ、復元、移動、またはクローン化できるため、このハードコアな方法の方がはるかに好ましいと思います。それとも、これを実行するより良い方法があるのでしょうか?
答え1
次のコマンドを使用して、vdiのUUIDを変更できます。
VBoxManage internalcommands setvdiuuid disk.vdi
または、VBox V4.xを少なくとも4.0.10まで使用している場合
VBoxManage internalcommands sethduuid disk.vdi
次に、GUI を使用して新しい「一意の」ディスクをインポートします。
特定の VirtualBox マシンのクローンを作成する場合は、そのマシンのアプライアンスを作成してから使用する方がよいでしょう。アプライアンスを作成するには、GUI のアプライアンスのエクスポート機能または コマンドを使用しますvboxmanage export
。作成されたアプライアンスは、GUI のアプライアンスのインポート機能または コマンドを使用してインポートできますvboxmanage import
。
答え2
または、マシンIDの正しいUUIDを使用して「Virtualbox.xml」セットアップファイルを編集することもできます。仮想マシンをあるホストから別のホストに移動する際にうまくいきました(両方のホストは64ビットLinuxですが、WindowsやMacに移動した場合にうまくいったかどうかはわかりません)。http://sickle.net/blogg/?p=1581 翻訳: sickle.net詳細については。
これは、何らかの理由で元のホスト上の vboxmanager を実行できない場合でも機能します。