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」のように 引数を省略しないでコマンド入力してください.


●図 インストールCD-ROM上でGRUB(またはLILO)の再インストール

# 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する

※注
grub-installの実行時に、
  "The file /boot/grub/stage1 not read correctly."
というエラーが出る場合があります。 これはハードディスクのパーティション構成が変わったなどで、/etc/fstab や /etc/mtabの内容に矛盾があるためです。この場合は、 /etc/fstabを正しい記述に修正し、いったん「# rm /etc/mtab」してから、「# mount -f /」などのコマンドで/etc/mtabを再作成し、この状態で grub-installを実行し直してください。

To『CD-ROM起動でハードディスクからファイルを救出』[index]


このページは、技術評論社 Software Design 2003年8月号、『システムが起動しない!非常時のデータ確保術』の原稿を元に、Web 用に再構成したものです。
To 謎の処理系 SunOS 4.1.4 [Home]
yamamori