web-dev-qa-db-ja.com

どのブートローダーがどこにインストールされているかをどのように見つけることができますか?

Debian Linuxボックスで、電源を入れた後、GRUBが「そのようなパーティションがありません」というエラーで失敗するという非常に奇妙な状況に遭遇していますが、リセットボタンを押すと、正常に起動します。状況を診断しようとしていますが、どのブートローダーのどのバージョンがどこにインストールされているのかわからないことに気付きましたか?どうすればわかりますか?つまり、どうすればよいですか?各ディスクのMBRにインストールされているブートローダーを確認し、さまざまなパーティションにインストールされている第2段階のブートローダーを確認するにはどうすればよいですか?

自分が何を持っているのか正確にわからない場合は、どのバージョンのGRUBがどこにインストールされているかを正確に知ることができます。

9
Norman Ramsey

GRUB(1または2)がddでMBRにインストールされているかどうかを確認できます。

dd if=/dev/sda bs=512 count=1 2> /dev/null | grep -q GRUB && echo "GRUB found"

GRUB署名が見つかった場合は、次を実行できます。

file -s /dev/sda

出力が次のようなものである場合:

/ dev/sda:x86ブートセクター。 GRand Unified Bootloader、stage1バージョン0x3.........。

次に、MBRにGRUB1をインストールします。次のように、Grubについての言及がない場合:

/ dev/sda:x86ブートセクター;パーティション1:ID = 0x83、アクティブ、スタートヘッド32、スタートセクター2048......。

次に、そのディスクのMBRにGRUB2がインストールされています。

重要なGRUBファイル(GRUB1の場合は「ステージ」、GRUB2の場合は「イメージ」)を見つけるには:

GRUB1:

設定ファイル:

find / -name menu.lst

ステージ:

find / -name stage1

または

find / -name stage2

GRUB2:

設定ファイル:

find / -name grub.cfg

画像:

find / -name core.img

または

find / -name boot.img
13
don_crissti

http://bootinfoscript.sourceforge.net を使用すると、起動ステータスに関する詳細情報が表示され、どのブートローダーがどこにインストールされているかがわかります。また、起動に関連するその他の詳細情報も多数表示されます。 debianでは、パッケージboot-info-scriptとして入手できます。

5
drott