Grub の場所 - mbr に移動しましたか、それとも他の場所に移動しましたか?

Grub の場所 - mbr に移動しましたか、それとも他の場所に移動しましたか?

私は、ブートローダーとして Grub を使用し、Linux と Windows 7 のデュアル ブート セットアップを行っています。

私のパーティションテーブルは次のようになります:

100 MB System Reserved Windows 7
500 GB Windows 7
100 MB /boot - ext2
500 GB linux, swap, etc.

ここでこの設定を行った後、GRUB がどこにインストールされたのか興味があります。

システム予約済みパーティションは Windows 7 のブート パーティションだと思っていましたが、Grub がそれを書き換えた場合 (マスター ブート レコードで書き換えたと想定)、Windows 7 は実行できなくなるようです。

Grub はどこにインストールされ、Windows と Linux の両方を指すように管理されますか? パーティションの設定方法によって異なりますか?

答え1

Windows がインストールされると、ブート リストを表示するブートローダ (NT から XP までは NTLDR、それ以降は winboot) がマスター ブート レコードに挿入されますboot.ini。そのリストから何かを選択すると、ブートローダの仕事は完了し、適切なカーネルがドライブ上の実際のパーティションから起動されます。

Grub も同じことを行います。ブートローダーはgrub.conf/menu.lstリストを表示するためだけに存在し、何かを選択すると、通常のパーティションに制御を移します。したがって、grub は MBR の NTLDR/winboot を上書きしますが、通常のパーティションのものは上書きしません。また、ブートリストから Windows を選択した場合、Windows パーティションに制御を移す方法を知っています。

答え2

Grub は、ドライブのマスターブートレコードにインストールされます。マスターブートレコードはパーティション化されたドライブの最初のセクターであり、パーティションそのものではないことに注意することが重要です。ウィキペディア詳細については

この情報に基づいて、基本的に Grub は Windows 7 がインストールした MBR 情報を上書きしますが、Windows 7 が作成した「システム予約済みパーティション」には影響しません (ユーザーが要求しない限り)。新しい MBR はシステムに GRUB をロードするように指示するだけで、GRUB は適切な OS がロードされるようにします。これにより、オペレーティング システム間の切り替えが容易になります。

答え3

GRUB を MBR 以外の場所にインストールするのは、Mac の場合だけです。この場合、デュアルブートの問題全体がより複雑になります。一般的なケースでは、GRUB は MBR にインストールされ、NTLDR を上書きして、Linux または Windows を起動できるようになります。

答え4

ここには混乱を招く点がいくつかあります。まず、ディスクがパーティション化されているとき (スライス = プライマリ パーティション)、各スライスに「パーティション ブート レコード」があることを知っておく必要があります。ディスクをフォーマットするとき、最初のセクターは「ブートセクター」と呼ばれます。ブートセクターは、ブート可能としてフラグが付けられたパーティションからロードされ、実行されます。

GRUB のこの領域には 512 バイトしかなく、これは stage1 と呼ばれます。stage 1 は stage2 (または 1.5) をロードするだけで、これは menu.lst ファイルとその他のモジュールをロードするファイルです。

Stage1.5 (または Stage2) は、少量のコードから menu.lst をロードするため、ファイルシステム固有です (FS 内で /boot/menu.lst を見つけることができる必要があります)。

見てみましょうここ続きを読む。

簡単に言うと、Stage1 は MBR にありますが、GRUB は stage1 だけではなく、Stage1 以外のすべては /boot にあります。

関連情報