有道-GRUB2 在 BIOS 模式下的早期加载链路

GRUB2 在 BIOS 模式下的早期加载链路

本页解释 BIOS 磁盘启动时各段引导代码的职责。来源笔记未给出可复现环境;以下不是修复引导区的操作手册。

读取顺序与边界

阶段主要职责此时尚不能推定
BIOS 与 boot.img固件从所选磁盘的引导扇区开始执行;空间很小的 boot.img 按安装时记录的位置转交给 core.img 的首段。已能读取任意文件系统或配置文件。
core.img 的磁盘加载段在 BIOS 硬盘启动布局中,diskboot.img 负责把 core.img 的其余部分载入内存。Linux 内核已经启动。
GRUB 核心与模块core.img 包含 GRUB 自身的运行核心(kernel.img)及启动时必需的模块,随后才能定位 GRUB 的模块目录并进入正常菜单流程。kernel.img 是操作系统内核。
菜单与系统内核GRUB 找到配置后显示菜单、加载选定的系统内核与 initramfs,才进入后续系统启动。菜单文件能够修复前面任一阶段的缺失。

core.img 在磁盘上的嵌入位置取决于分区布局。常见的 BIOS/MBR 安装使用 MBR 后的可用空间;BIOS/GPT 安装通常需要专用的 BIOS Boot Partition。不能只凭 /boot 中存在某个文件就断言前段引导代码已经正确安装。

排查时区分哪一段

  • 完全未进入 GRUB 界面时,先核对固件选择的启动设备、BIOS/UEFI 模式及该磁盘的引导布局;不要从菜单配置直接推断问题。
  • 已进入 grub rescue>,说明至少有一部分 GRUB 代码在运行;继续核对其模块目录、可见分区和配置入口,不能直接断言系统内核损坏。
  • 已看到菜单而加载系统失败,问题范围转到菜单项、内核、initramfs 或其后的链路。重生成菜单配置与重新安装前段引导代码是不同操作。

适用版本与待核查

  • 仅适用于 GRUB 2 的 BIOS/i386-pc 磁盘启动链路。UEFI 从 EFI System Partition 加载 EFI 程序,不能套用这里的 boot.imgdiskboot.img 路径。
  • 来源笔记未记录 GRUB 2、发行版与安装工具版本;模块目录、配置文件路径和具体嵌入方式须按目标机器核查。
  • 需要在隔离的 BIOS/MBR 与 BIOS/GPT 测试环境中核对实际分区布局、GRUB 模块和故障表现,再编写任何修复步骤。

关联:Linux启动链路与 systemd