
私は、ブートローダーとして 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 にあります。