会社内で管理している Linux サーバ。 24 時間稼動させているのですが、 ここのところ月に一度の割で止まってます。 /dev/hda でエラーが発生して落ちているみたい。 家を探してみたら古い 4GB のハードディスクを発見。 容量もちょうど同じだし他に使い道もないので付け替えてみました。 再インストールするのは面倒なので、 だめかもしれないけれどとりあえず Norton Ghost でミラーさせてみます。
転送元と転送先のディスクを接続したあと FD から Norton Ghost を起動し、 Disk to Disk でコピー開始。 だいたい 40 分くらいで複写完了。 電源を落とした後、 転送元のディスクと新しいディスクを付け替えて起動。 すんなりいくかと思ったら、 BRUB がうまく動いてくれません。 どうやら、 GRUB を再インストールしなくてはいけないみたい。 とりあえずディスク環境を元に戻して、 GRUB を起動させるためのフロッピーディスクを作成します。
Windows でフォーマットしたフロッピーディスクを一枚用意します。
root ユーザで次のコマンドを入力。
# dd if=/usr/share/grub/i386-redhat/stage1 of=/dev/fd0 count=1
# dd if=/usr/share/grub/i386-redhat/stage2 of=/dev/fd0 seek=1
次に、 /boot/grub/menu.lst を確認し、 現在ブートに使っているカーネルイメージなどの名前を控えておきます。 私の場合は、
title Red Hat Linux (2.4.20-31.9)
root (hd0,0)
kernel /vmlinuz-2.4.20-31.9 ro root=LABEL=/
initrd /initrd-2.4.20-31.9.img
となっていたので、 これを間違わないようにメモします。
再度電源を落とし新しいディスクをつけます。 先ほど作った FD を刺したままここからブートさせます。 プロンプトが出たら、 メモの通りに入力します。 最後に boot で OK。
grub> root (hd0,0)
grub> kernel /vmlinuz-2.4.20-31.9 ro root=LABEL=/
grub> initrd /initrd-2.4.20-31.9.img
grub> boot
これで正常に起動しました。 最後にハードディスクから起動できるよう、 GRUB を HDD の MBR へ書き込みます。
root ユーザで次のコマンドを入力。
# /sbin/grub-install /dev/hda
フロッピーを取り出し、きちんとディスクから起動できるのを確認して完了です。