GRUBはMBRディスクの/bootパーティションをどのように見つけますか?

GRUBはMBRディスクの/bootパーティションをどのように見つけますか?

これまでに見つけたもの(正確ではない可能性があります):

  • boot.imgGRUBはディスクの最初のセクタ(MBR)にインストールされます。

  • core.imgGRUBはMBRの後ろの隙間に取り付けられています。

  • boot.imgBIOSによってロードされ、ロードされ、core.img制御権を転送します。

しかし、次のパーティションcore.imgを見つける方法は?/bootディスクに複数のパーティションがある可能性がありますが、コアイメージはどのパーティションを正しく識別しますか/boot?これはコアイメージにハードコードされていますか?それとも毎回検索が行われますか?

他の研究では、GRUBをインストールする場所を選択する--boot-directoryオプションがあります。grub-installただし、コアイメージはまだ起動時にこのパーティションを見つける必要があります。繰り返しますが、ある種の識別子が必要です。これはラベルですか、UUIDですか、それとも別のものですか?

ベストアンサー1

アドレスはにハードコードされていますcore.imgcore.imgファイルパスを介して2段階モジュールを呼び出すために必要なすべてのカーネルとGrubモジュールが必要です。で指定します(hd0,msdos1)/boot/grub。デフォルトでは、normalモジュールをロードしようとします(hd0,msdos1)/boot/grub/i386-pc/normal.mod(i386-pcアーチを想定)。

詳しくはこちらをご覧ください。

おすすめ記事