CD-ROM起動でハードディスクからファイルを救出 |
||
YAMAMORI Takenori ●yamamori |
カーネルが読み込まれる前にブートローダの段階で止まる場合は, ハードディスクのMBR(Master Boot Record)またはパーティションのブートセクタに インストールされたブートローダが,何らかの原因で損傷または不整合な状態にある 可能性があります.
ブートローダを再インストールするには,インストールCD-ROM または KNOPPIX などを使って起動し,ハードディスクをマウントして,マウントポイントにchrootしてから, grub-installまたはliloコマンドを実行します.
インストールCD-ROM を使ってブートローダを再インストールする手順を下図に示します.ここでは,ハードディスクはrootパーティションのみであることを 想定していますが,/bootパーティションを分けている場合は,/a/bootにさらに マウントしてから作業してください.
なお,KNOPPIX を使う場合は自動的に設定されるfstabのオプションによって, ハードディスクのマウント時に「nosuid,nodev」オプションが付いてしまうことが あります.これを防ぐため,「# mount /dev/hda3 /mnt/hda3」のように 引数を省略しないでコマンド入力してください.
# mkdir /a ← マウントポイントを作る # mknod /dev/hda3 ← デバイスファイルがなければ作る # mount /dev/hda3 /a ← ハードディスクをマウントする # chroot /a /bin/sh ← マウントポイントにchrootする # vi /boot/grub/grub.conf (LILOの場合は /etc/lilo.conf) ← 修正が必要な場合 # /sbin/grub-install /dev/hda (LILOの場合は /sbin/lilo) ← ブートローダのインストール(※注) # exit ← chroot環境を抜ける # umount /a ← 最後に忘れずにumountする |
"The file /boot/grub/stage1 not read correctly."というエラーが出る場合があります。 これはハードディスクのパーティション構成が変わったなどで、/etc/fstab や /etc/mtabの内容に矛盾があるためです。この場合は、 /etc/fstabを正しい記述に修正し、いったん「# rm /etc/mtab」してから、「# mount -f /」などのコマンドで/etc/mtabを再作成し、この状態で grub-installを実行し直してください。