仮想ハードディスクの複製

仮想ハードディスクのイメージファイルをコピーして、OSをインストールした直後の状態の仮想マシンを沢山作ろうとしても、コピーしたイメージファイルを仮想メディアマネージャーに登録できません。

仮想ハードディスクはそれぞれにUUID(unique identity number)と呼ばれる固有の番号が付加されていて、VirtualBoxはUUIDで仮想ハードディスクを管理しています。
単純にイメージファイルをコピーするとこのUUIDもコピーされてしまい、UUIDの重複が発生してしまうため仮想メディアマネージャーに登録できなくなってしまうのです。

そこで仮想ハードディスクの複製(クローニング)をすることで、新しいUUIDを付けた仮想ハードディスクをコピーします。

仮想メディアマネージャーを使った仮想ハードディスクの複製

以前はVBoxManageコマンドのclonehdオプションでのみ複製ができましたが、現在は仮想メディアマネージャーからGUIで簡単に複製が可能になりました。

仮想メディアマネージャーの画面で、上部のコピーアイコンをクリックします。

コピーするハードディスクを選択し、「次へ」をクリック。

仮想ハードディスクの種類を変更できます。
他の仮想環境で使うディスクでなければ、VDIを選択します。

可変サイズか固定サイズか、ディスクの形式を変更できます。

新しい仮想ハードディスクの名前を設定します。
あとは「コピー」をクリックすれば、複製の完了です。

自動的に仮想メディアマネージャーに登録されませんので、コピーした仮想ハードディスクを接続したいゲストマシンのストレージ設定で、ディスクを追加してください。

VBoxManage clonehdコマンド

仮想ハードディスクの複製は、VBoxManage clonehdコマンドでも可能です。

VBoxManage clonehd <クローン元のイメージファイル名> <クローン先のイメージファイル名>

イメージはパス付きで指定します。

Linuxのブートディスクの複製(クローニング)

最近のLinuxディストリビューションではハードディスクの識別にUUIDを使用します。
このためVirtualBoxでは仮想ハードディスクの複製を行いUUIDを変更してしまうと、データドライだと/etc/fstabを変更するだけで良いのですが、それが起動ディスクの場合、システムの起動に失敗します。

その為Linuxのブートローダーのスクリプト(Grubなら/boot/grub/menu.lst)のIDを以下のように変更します。

scsi-SATA_VBOX_HARDDISK_VB5cfdb1e2-c251e503

このIDはhaparmコマンドで得られます。

hdparm -i /dev/sda

仮想マシンごと複製(クローニング)する場合はこちら「仮想マシンの複製(クローニング)」を参照してください。