これまでに見つけたもの(正確ではない可能性があります):
boot.img
GRUBはディスクの最初のセクタ(MBR)にインストールされます。core.img
GRUBはMBRの後ろの隙間に取り付けられています。boot.img
BIOSによってロードされ、ロードされ、core.img
制御権を転送します。
しかし、次のパーティションcore.img
を見つける方法は?/boot
ディスクに複数のパーティションがある可能性がありますが、コアイメージはどのパーティションを正しく識別しますか/boot
?これはコアイメージにハードコードされていますか?それとも毎回検索が行われますか?
他の研究では、GRUBをインストールする場所を選択する--boot-directory
オプションがあります。grub-install
ただし、コアイメージはまだ起動時にこのパーティションを見つける必要があります。繰り返しますが、ある種の識別子が必要です。これはラベルですか、UUIDですか、それとも別のものですか?
ベストアンサー1
アドレスはにハードコードされていますcore.img
。core.img
ファイルパスを介して2段階モジュールを呼び出すために必要なすべてのカーネルとGrubモジュールが必要です。で指定します(hd0,msdos1)/boot/grub
。デフォルトでは、normal
モジュールをロードしようとします(hd0,msdos1)/boot/grub/i386-pc/normal.mod
(i386-pcアーチを想定)。