为什么我们需要 GRUB 中的第 1 阶段

为什么我们需要 GRUB 中的第 1 阶段

在 GRUB 中,第 1 阶段正在重定位到第 1.5 阶段,那么如果第 1 阶段需要的话,就直接转到第 1.5 阶段。如果需要,那么它实际上要做什么。

答案1

BIOS 启动方案

BIOS 只能直接访问硬件。它无法挂载驱动器、分区或文件系统。因此,它只能通过 HDD 控制器访问具有 CHS 或 LBA 寻址的驱动器。这意味着 BIOS 只能访问驱动器的前 8GB。

为了提高灵活性,制造商设计了 BIOS 来读取硬盘的第一个扇区并执行代码。由于它必须容纳 512 个字节,因此此代码通常是一个指针,指示系统从指定位置开始加载 X 个扇区。然后执行它。这就是移动引导文件可能导致引导失败的原因。

随着驱动器大小增加到 8GB 以上,驱动器分区开始在分区表前留下 1GB 的空间以容纳额外的启动代码。

就 GRUB 而言

第 1 阶段 - 这是 512 字节指针,用于告诉系统在哪里找到引导加载程序。如果第 2 阶段位于前 8GB 内,它将指向包含第 2 阶段的扇区。

Stage 1.5 - 如果 Stage 2 无法位于前 8GB 内,则 Stage 1.5 会写入分区表之前的 1GB 中。它包含文件系统驱动程序,以便可以通过驱动器路径按名称访问 Stage 2。(注意:即使 Stage 2 可以位于前 8GB 中,这种做法现在也可能是标准做法)

第 2 阶段 —— 此阶段安装分区并执行 grub 二进制文件,生成启动菜单并允许您选择启动选项。

相关内容