ksaitoの日記

日々試したことの覚え書き

VirtualBoxの仮想ハードディスクをコピーする

移転しました。

自動的にリダイレクトします。

Virtual Boxに作成したUbuntu環境の仮想ハードディスクをコピーして、簡単にバックアップしたりコピーする方法です。
単純なファイルコピーだとハードディスクのUUIDの重複でVirtual Boxに登録できません。
UUIDを下記コマンドで付け替えると起動します。

$ VBoxManage internalcommands setvdiuuid copydisk.vdi 
VirtualBox Command Line Management Interface Version 2.2.2
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.

UUID changed to: bb9f9884-54c5-53a8-a803-a4783b4181aa
$ 

UUIDの付け替えで起動するようになってもNICMACアドレスが変更されてしまうためネットワークにつながりません。

環境

環境は、以下の通りです。
H/W: Intel Core 2 Duo 2GHz Memory 4GB
ホストOS: Mac OS X 10.5.6
Virtual Box: Ver 2.2.2 r46594
ゲストOS: Ubuntu 9.04 Server

仮想ディスクのコピー

仮想ディスクのコピーは、ファイルとしてコピーしてUUID付け替えでも良いのですが、VBoxManageコマンドのclonevdiオプションで一度に実行することができます。

$ VBoxManage clonevdi orgdisk.vdi copydisk.vdi
VirtualBox Command Line Management Interface Version 2.2.2
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VDI'. UUID: f897cfe8-6537-59da-99d0-ef8cab9e24f9
$ 

Virtual Boxへの登録

Virtual BoxのGUI画面で新規仮想マシンを登録します。
ハードディスクは、既存ディスクとしてコピーしたディスクを指定します。
作成できたら起動します。

ネットワークの設定

起動してもネットワークに接続できていないはずです。

下記のコマンドでudevがeth0をeth2に変更していることが分かります。

$ dmesg | grep eth


/etc/network/interfaceを下記のように変更してネットワークを再起動します。

 cat /etc/network/interfaces 
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#auto eth0
#iface eth0 inet dhcp

auto eth2
iface eth2 inet dhcp
$ sudo /etc/init.d/networking restart

これでネットワークに接続できるようになりました。

ホスト名の変更

あとは、ホスト名を変更すればOKです。
/etc/hostnameと/etc/hostsを変更してネットワークを再起動すると新しいホスト名になります。

 cat /etc/hostname
newhostname
$ grep `cat /etc/hostname` /etc/hosts
127.0.1.1	newhostname.2.0.10.in-addr.arpa	newhostname
$ sudo /etc/init.d/networking restart
$ hostname
newhostname
$

これで、必要なだけコピーを作って、いろいろ試せます。