僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
DebianとUbuntuで、システムをまるごと別機器(仮想マシン)に移動させてみる。
ファイルシステムは ext3 か ext4(移行前後で違っていても構わないかも)。
何か別のシステムで起動。Ubuntu-12.04 のLive CD を使ってみた。
i686及びamd64 で試している。
Live CD にはdump/restore はインストールされてなかったので、
sourceforge からソースを戴き、ビルドに必要なパッケージを入れる。
gcc や make などは既に入っている。ビルドエラーを見ながら試行錯誤
した結果、
$ sudo apt-get install -y \ libncurses5-dev \ libreadline-gplv2-dev \ e2fslibs-dev dump-0.4b44 $ ./configure --enable-transselinux=NO && make && sudo make install
でインストールできた。これらは再起動すると当然消える。
ダンプ先はUSB HDD を使った。
$ sudo dump -0 -f DUMPIMAGE /path/MOUNTOPINT
で取れたイメージを、移行先機器(パーティションを切って、ファイルシステムを 作成しておく)のマウントポイントで
$ sudo restore -r -f DUMPIMAGE
十ギガバイトあるかないかのデータなら、十数分でできる。
再起動する前に、各種設定ファイルの書き変えと、grubのインストール
が必要になる。
/etc/fstab : UUID を書き換える。UUIDは tune2fs -l で確認できる
/boot/grub/grub.cfg UUID やパーティション(msdos#NUM)、デフォルト値
などを書き換える(#NUM は1から数えるらしい)
/etc/udev/rules.d/70-persistent-net.rules eth0 などのエントリを消す
/etc/hosts, /etc/hostname : ホストネームを変える場合
で、grub のインストール。
$ sudo grub-install /dev/DEV --boot-directory /path/MOUNTPOINT/boot
あたりだろうか。今ひとつしっくりいかない場合もあったが、ともかく
システム一式を別機器、というか別環境にそっくり移動できた。
/home/USER 以下を暗号化していたが、無事に復号マウントできているようだ。
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。