VirtualBoxで仮想マシンをコピー・移動

VirtualBox仮想マシンを別の場所にコピーや移動をする方法を解説します.

仮想マシンを移動する

単純に仮想マシンの実体(設定やストレージファイル)があるフォルダをコピーすればよい。

必ず仮想マシンを停止させてからコピーする (さもないと、コピー後に不正な状態になって起動できなくなる)

(1) VirtualBoxマネージャで対象の仮想マシンの設定を開き、ストレージファイルの場所を確認

f:id:kamocyc:20200112094353p:plain

(2) ストレージファイルが格納されているフォルダごとコピーする。

  • なお、vmwareなどほかの仮想化ソフトでも使える形式にするには、仮想アプライアンスのエクスポートを行うらしい

仮想マシンをコピーする

VirtualBoxマネージャで対象の仮想マシンを右クリックし、「クローン」を選択すればよい。 (仮想マシンの停止時のみ操作できる)

f:id:kamocyc:20200112095943p:plain

誤って仮想マシンのファイルをコピーしてしまった場合

コピー時は「クローン」をするのが基本だが、誤って仮想マシンの実体があるフォルダを単純にコピーしてしまった場合、 VirtualBoxマネージャーで仮想マシンを「追加」する際に、UUIDが重複しているというエラーが出る。

以下、その場合でも起動できるようにするための回避策。 基本的にはhttps://superuser.com/questions/468187/trying-to-open-a-vm-config-which-has-the-same-uuid-as-an-existing-virtual-machinに従う。

  1. コピー先の仮想マシンの実体のフォルダでコマンドプロンプトを起動
  2. VBoxManage internalcommands sethduuid <VDI/VMDK file>2回実行 (UUIDを生成するため)。VBoxManage.exeが見つからないといわれた場合、パスを通すかフルパスで指定。
  3. .vboxファイルをテキストエディタで開く
  4. <Machine uuid="{...}"のUUIDを、sethduuidを最初に実行したときのUUIDに置換
  5. <HardDisk uuid="{...}"<Image uuid="{}"2か所のUUIDを、setuduuidを2回目に実行したときのUUIDに置換

これで、VirtualBoxマネージャーで仮想マシンを追加できて、起動できる。

ただし,これは正式な方法ではないので,できればちゃんとクローンするのが無難.