【GRUB MBR】CentOS4.3を使用中、MBRの情報を消してしまいました。

(dosの起動ディスクを入れて、fdisk /mbrしてしまいました)
この状態からgrubの情報を修復する方法を教えてください。

問題点は、/bootと"/"ディレクトリが別パーティションにある点だと思っています。
(sda1に/boot、sda2に"/"となるようにパーティション設定してあります)

とりあえず、現状までに試したことをコメント欄の方に記述します。

できるだけ、現状の環境を引き継ぎながらmbrのみを修復する方法をご存知の方がいらっしゃいましたら、
よろしくお願いいたします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2006/12/16 11:40:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:pyopyopyo No.1

回答回数377ベストアンサー獲得回数98

ポイント60pt
  1. KNOPPIXで起動
  2. mkdir /mnt/sda2
  3. mount /dev/sda2 /mnt/sda2
  4. mount /dev/sda1 /mnt/sda2/boot
  5. chroot /mnt/sda2
  6. /sbin/grub-install /dev/sda

でgrubを再インストールできると思います.

id:hina1981

ありがとうございます。

4番がポイントなのですね。

月曜に会社に行くのでその時に試してみます。


-- 2006/12/12 追記

5番の操作までは問題なく進行しました。

しかし、6番の操作を行なおうとしたときに、/dev/sdaが見つからないという旨のエラーが出ました。

chroot後の/dev/(chroot前の/mnt/sda2/dev/?)の中を見てみたら、nullしか入っていませんでした。

私がデバイスファイルの扱いをよく知らないので、これ以上進むことができませんでした。

もう少し回答を待ちたいと思います。

よろしくお願いいたします。

2006/12/12 10:04:14
id:pyopyopyo No.2

回答回数377ベストアンサー獲得回数98

ポイント60pt

/dev/sda が無いとのことなので、

デバイスファイルをmknod コマンドで作ってしまいましょう

  1. chroot /mnt/sda2
  2. /bin/mknod /tmp/sda b 8 0
  3. /sbin/grub-install /tmp/sda
id:hina1981

たびたびありがとうございます!

実行してみたところ、下記のようになりました。


[root@Knoppix mnt]# /sbin/grub-install /tmp/sda

Format of install_device not recognized.

Usage: grub-install [OPTION] install_device

Install GRUB on your drive.

-h, --help print this message and exit

-v, --version print the version information and exit

--root-directory=DIR install GRUB images under the directory DIR

instead of the root directory

--grub-shell=FILE use FILE as the grub shell

--no-floppy do not probe any floppy drive

--force-lba force GRUB to use LBA mode even for a buggy

BIOS

--recheck probe a device map even if it already exists

This flag is unreliable and its use is

strongly discouraged.

INSTALL_DEVICE can be a GRUB device name or a system device filename.

Report bugs to <bug-grub@gnu.org>.


mountコマンドか、mknodコマンドが悪い(?)んでしょうか……??? mknodコマンドをはじめて見たので、イマイチ使い方がわからなかったです。


せっかく回答いただいたのに、解決できなくてごめんなさい。

質問の有効期間が切れそうなので、とりあえず、ここで終了させていただきます。

回答いただいたpyopyopyo様、ありがとうございました。

2006/12/15 17:29:54
  • id:hina1981
    今までに試したこと。
    1)インストールディスクでブートして、「linux rescue」で起動
       ↓
    # grub-install /dev/sda
    /sbin/grub: Not found.


    2)KNOPPIX3.8で起動後、HDDを読み取り/書き込み状態でマウント。
       ↓
    # chroot /mnt/sda2 grub-install --root-directory=/mnt/sda1 /dev/sda
    mkdir: ディレクトリ "/mnt/sda/boot" を作成できません。そのようなファイルやディレクトリはありません。
    参考にしたもの:http://www.itmedia.co.jp/help/tips/linux/l0556.html
            オライリー「KNOPPIX HACK」


    3)似たような環境のLinuxマシンがあったので、
     似たようなマシン上で、
    # dd if=/dev/sda of=/media/floppy/mbr count=1
     mbrを消してしまったマシン上で、
    # dd if=/media/floppy/mbr of=/dev/sda bs=446 count=1
       ↓
    起動時に、GRUBという文字で止まります。
    (コマンド入力ができるかと思ったのですが、キーに反応しませんでした)


    どうぞ、よろしくお願いいたします。
  • id:pyopyopyo
    1. chroot /mnt/sda2
    2. /bin/mknod /dev/sda b 8 0
    3. /sbin/grub-install /dev/sda
    4. rm /dev/sda

    でどうでしょうか?
  • id:hina1981
    > pyopyopyo様
    ありがとうございます。
    grub-installした後に、/dev/sdaを削除するあたりがポイントなんでしょうか……?
    また、試してみます。
  • id:hina1981
    教えていただいた方法でも無理でした……。

    結局、
    1.別のLinuxマシンでGrubの起動ディスク作成
    2.Grubのコマンドを使って、起動不可になっていたLinuxを起動
    3.grub-install /dev/sda

    という方法で復旧させることができました。

    pyopyopyo様に教えていただいた方法を使うことができませんでしたが、私なりにとても勉強になりました。
    ありがとうございました。

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません