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.img→diskboot.img路径。 - 来源笔记未记录 GRUB 2、发行版与安装工具版本;模块目录、配置文件路径和具体嵌入方式须按目标机器核查。
- 需要在隔离的 BIOS/MBR 与 BIOS/GPT 测试环境中核对实际分区布局、GRUB 模块和故障表现,再编写任何修复步骤。
关联:Linux、启动链路与 systemd。