Step 1) 旧HDDのまま、FreeBSDをアップグレード。
make buildworld、make installworldなどの過程でもしエラーが出る場合、/usr/objの中に古いデータ
が残っている可能性がある。/usr/objの中身を削除してから始める方が無難。
Step 2) マウントポイントの作成
容量320GBの旧HDDを、新しい500GBのものにデータを移すため、新しいHDDをセカンダリに繋ぐ(旧HDDはプライマリのまま)。
ここで、それぞれの名称を仮に、
旧HDD:ad8
新HDD:ad10
とする。
/etc/fstabで旧HDDのマウントポイントを確認。
# Device Mountpoint FStype Options Dump Pass#
/dev/ad8s1b none swap sw 0 0
/dev/ad8s1a / ufs rw 1 1
/dev/ad8s1g /home ufs rw 2 2
/dev/ad8s1d /tmp ufs rw 2 2
/dev/ad8s1f /usr ufs rw 2 2
/dev/ad8s1e /var ufs rw 2 2
上記のようなものであった場合、新しいHDD用に旧HDD内に作成するマウントポイントとしては、
新HDDの/ に相当する /mnt
新HDDの/home に相当する /mnt/home
新HDDの/tmp に相当する /mnt/tmp
新HDDの/usr に相当する /mnt/usr
新HDDの/var に相当する /mnt/var
などを、旧HDD内に作成する必要があるので、それらを(mkdirなどで)作成しておく。
Step 3) fdiskを実行。
HDDが二つあるので、どちらのHDDに対しfdiskを行うのかメニューが出るはずなので、
ad10の方を選択してfdiskの画面に入る。use all diskで、新しいHDDをすべて使うよ
う指定し、wで書き込み。
Step 4) Reboot!
fdiskのwで書き込みをしてから、直ちにdisklabelに行ってはいけません。必ずリブート
してから、再度Configure -> disklabelと進みましょう。リブートせずにdisklabelに
行くと、最悪新しいHDDが壊れることがあります(><)。
Step 5) disklabel
HDDが二つあるので、どちらのHDDに対しdisklabelを行うのかメニューが出るはずなので、
ad10の方を選択して、disklabelの画面に入ります。
一台しかないHDDにFreeBSDをインストールする場合、Mountpointは/、/tmp、/var…などと
なるわけですが、ここではそれらはad8が使ってますので、セカンダリのHDDである新HDDの
方のマウントポイントとしては/、/tmp…などは使えません。Step2で作成した/mnt、/mnt/tmp
などがad10の(将来の)/、/tmpがマウントされる場所となります。
したがって、disklabelの画面ではマウントポイントは、
/mnt
/mnt/home
/mnt/tmp
/mnt/usr
/mnt/var
などとなります。ad8が使っているものと同じ名前にならないように注意。
HDDの容量が大きくなったので、必要な部分の容量を大きくしつつ指定する。
Step 6) シングルユーザモードで起動
fstabを書き換えてなければ、
mount -a
でマウントされるのは、従来どおりのad8だけですので、続いてad10をマウントします。
mount /dev/ad10s1a /mnt
mount /dev/ad10s1g /mnt/home
mount /dev/ad10s1d /mnt/tmp
mount /dev/ad10s1f /mnt/usr
mount /dev/ad10s1e /mnt/var
きちんとマウントされたかどうかは、dfなどで確認。
Step 7) dump & restore
地味にワンスフップずつ実行すると次のようになるかと。
cd /mnt
dump -0 -f - / | restore -r -f -
cd /mnt/home
dump -0 -f - /home | restore -r -f -
cd /mnt/tmp
dump -0 -f - /tmp | restore -r -f -
cd /mnt/usr
dump -0 -f - /usr | restore -r -f -
cd /mnt/var
dump -0 -f - /var | restore -r -f -
Step 8) fstabの確認
現在プライマリに接続されている旧HDDを外し、新HDDをプライマリに
接続するとき、デバイス名が変わる恐れがあるので、/mnt/etc/fstabの内容を
確認しておく。
Step 9) 起動の確認
HDDを繋ぎなおして無事に起動できるか確認。起動できなかった場合は、
どこら辺に問題があるか、落ち着いて考えてから作業をしましょう。