ハードディスク交換時に、Linuxのシステム用パーティション( / パーティション)を別ハードディスクにコピーして用いる時の作業メモ。
条件1 :複写後も、複写したパーティションを用いてLinuxが起動すること。
条件2 :複写時に、ディスク上で異なったシリンダ位置へ複写される可能性がある
(1) パーティションのコピー(複写)作業
Knoppix 5.1 CD を用いて行う。
Knoppixでシェルを起動し、『su』コマンドでroot権限に昇格した後に、『gparted』(GParted)を実行する。
(GUI上の”コピー”、”貼り付け”コマンドで、簡単にコピー処理が行える)
コピーを実行すると、自動的にパーティションのチェック(fsck)など、一連の作業が自動的に行われる
なお、シリンダ位置が変更された場合は、このままでは起動不可能。次の処理を行う。
(2) GRUB起動ディスクを作成する
GRUB起動ディスク(起動CD)が無い場合は、GRUBの公式ページに書かれた方法で起動CDを作成する。
[root@localhost ~]# mkdir grubiso
[root@localhost ~]# mkdir -p grubiso/boot/grub
[root@localhost ~]# cp /usr/share/grub/i386-redhat/stage2_eltorito grubiso/boot/grub
[root@localhost ~]# mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o grub.iso grubiso
なお、CentOS 5.2 で作成した起動CDの iso イメージファイルを、参考までにここに掲載しておく。
GNU GRUB version 0.97 起動CD : grub.isoファイルをダウンロード
(473,088 Bytes)
(3) Linuxのパーティションをマウントして、GRUBを用いた起動時のパラメータをメモする
title CentOS (2.6.18-92.1.17.el5)
root (hd0,11)
kernel /boot/vmlinuz-2.6.18-92.1.17.el5 ro root=LABEL=/fedora5 rhgb quiet
initrd /boot/initrd-2.6.18-92.1.17.el5.img
(4) 必要であれば、パーティション指定を編集する
/boot/grub/grub.conf および、/etc/fstab で、Linux の / パーティションなどのマウントポイントに変化があった場合は、ここで修正しておく。
特に、fstab で、swap パーティションの変更を忘れがち。
(5) GRUB起動CDで起動する
grub> root (hd0,11)
grub> kernel /boot/vmlinuz-2.6.18-92.1.17.el5 ro root=LABEL=/fedora5 rhgb quiet
grub> initrd /boot/initrd-2.6.18-92.1.17.el5.img
grub> boot
なお、grubプロンプト内でも、tabキーによるパス名の補完が働く。
(6) コピー先のLinuxが起動すれば、GRUBの再インストール
このホームページの『Linuxブートローダ (lilo, grub) メモ』に書かれているような方法で、PBRまたはMBRを書き換える。
例えば、シリンダ移動・サイズ変更があった場合、PBRの第一セクタの変更前後の差分は次のようになっていた。
[root@localhost ~]# cmp -l sda11.bin sda11_org.bin
65 377 200
69 205 25
70 312 211
71 243 130
72 16 13
(7) Windows XPのntldrなどでチェーンロードする場合は、PBRをファイル化する
[root@localhost ~]# dd if=/dev/sda11 of=/dev/sda1/sda11_pbr.bin bs=512 count=1