40GBから160GBへ引っ越し。 何度か引っかかったので将来のためにメモ。
以下の手順で引っ越した。
160GB HDDをケースに入れ、USBで接続
以後、/dev/sdaとして見える。
fdiskでパーティション分け。
今回は末尾に2GBほどswapを用意し、残りは1パーティションに。
ファイルシステムを作る
当初XFSを使おうと思ったが、なぜかうまくいかなかったので*1、従来通りext3 fsを使う。
sudo mke2fs /dev/sda1
ファイルシステムをコピー。
新しいディスクをマウントし、現在のディスクの内容をコピーする。
sudo rsync -aP -H -E -S -x / /mnt
無限再帰にならないため -x オプションが必要。/devは別にコピーする。
sudo rsync -aP -H -E -S /dev /mnt
シングルユーザモードで実行するのが望ましい。 理想はKnoppixなど立ち上げて両方をデバイスとしてコピーすることか。
私は今回動かしたままコピーしたけど(なんて冒険)。 不整合が起きるだろうファイルは引っ越し後に再コピーした。
grubをMBRにインストール
難しいことは何もない(はず)
% sudo grub Probing devices to guess BIOS drives. This may take a long time. grub> root (hd1,0) grub> setup (hd1) grub> quit
HDDの入れ換え
Thinkpadなら簡単♪
reboot
みごとリブートすればめでたくHDDが160GBに。
と、書くとスムーズに行ったように思えるだろうが、 実際は慣れていないのでさんざん失敗した。
以下に失敗の履歴とその対処を書く。
/devのコピーを失敗
/devをコピーするために
sudo rsync -aP -H -E -S /dev /mnt/dev
というコマンドを使った。これでは/dev/devというディレクトリができてしまう。
grubのインストールの失敗
grubではディスク番号とパーティション番号が0始まり。 デバイスファイルでは1始まりなのに注意。
*1 後で思えば/devのコピーに失敗していたかも