首页/系统/信创系统运维速查/引导修复(重装 GRUB)
系统与安装65 条

引导修复(重装 GRUB)

系统更新或磁盘操作后引导丢失:从救援环境 chroot 进原系统,BIOS 场景重装 MBR 引导,UEFI 场景重建 EFI 引导文件与菜单。

信创系统运维速查系统更新于 2026-10-13

引导丢失是什么状态

引导丢失的典型表现是开机直接进入固件界面、提示 No bootable device,或停在 GRUB 命令行。常见诱因包括系统更新重写了引导、多系统安装覆盖了 MBR、磁盘克隆后引导指向不存在的分区,以及 EFI 分区被清理。修复思路是用救援介质启动,chroot 进入原系统,再按固件模式(BIOS 或 UEFI)重建对应引导。

基本信息

BIOS/Legacy 补救grub2-install /dev/sdX + grub2-mkconfig -o /boot/grub2/grub.cfg
UEFI 补救grub2-install --target=<arch>-efi --efi-directory=/boot/efi
架构 targetx86_64 用 x86_64-efi,aarch64 用 aarch64-efi
前置检查ls /sys/firmware/efi 判断固件模式,lsblk 确认分区布局
救援入口安装介质救援模式、Live 镜像或带外虚拟光驱
权限要求root;操作会影响启动链路,须在维护窗口进行

典型使用场景

  • 系统更新或内核升级后重启无法进入系统
  • 磁盘克隆到新盘后引导仍指向旧盘
  • 安装第二个系统时覆盖了原有引导菜单
  • EFI 分区格式化或误删后重建引导文件
  • RAID 或分区调整后引导信息与实际布局不一致

救援环境准备

救援环境准备
ls /sys/firmware/efi && echo UEFI || echo BIOS     # 确认固件模式,决定后续用哪套命令
lsblk -f                                           # 看清分区与文件系统类型
mkdir -p /mnt/sysroot
mount /dev/mapper/rootvg-root /mnt/sysroot          # 挂根分区
mount /dev/sda1 /mnt/sysroot/boot                   # BIOS 场景挂 /boot
mount /dev/sda1 /mnt/sysroot/boot/efi               # UEFI 场景挂 EFI 分区
for d in dev proc sys run; do mount --bind /$d /mnt/sysroot/$d; done   # 绑定必要目录
chroot /mnt/sysroot                                 # 进入原系统环境

重建引导(BIOS 与 UEFI)

重建引导(BIOS 与 UEFI)
# BIOS/Legacy:把引导写到磁盘 MBR
grub2-install /dev/sda
grub2-mkconfig -o /boot/grub2/grub.cfg

# UEFI(aarch64 示例;x86_64 换成 x86_64-efi)
grub2-install --target=aarch64-efi --efi-directory=/boot/efi --bootloader-id=kylin
grub2-mkconfig -o /boot/efi/EFI/kylin/grub.cfg

exit                                               # 退出 chroot
umount -R /mnt/sysroot && reboot                   # 卸载后重启验证

现象与处置

现象含义处置
No bootable device固件找不到引导扇区或 EFI 文件按固件模式重建引导
停在 grub> 提示符引导器在但配置找不到手工指定内核启动,进入系统后重建菜单
菜单里有条目但起不来root 参数或分区 UUID 变化核对 fstab 与内核参数中的 UUID
修复后仍从旧系统启动固件启动顺序未更新在固件设置或 efibootmgr 中调整顺序
grub2-install 报错 target 不支持命令与固件模式不匹配改为对应架构与模式的 target
先判断固件模式再动手:在 UEFI 机器上跑 BIOS 的安装方式,或在 Legacy 机器上跑 EFI 方式,都会报错甚至写坏引导扇区,判断依据是 ls /sys/firmware/efi 是否存在。
chroot 前后要用 umount -R 递归卸载再重启,遗漏挂载会让文件系统处于脏状态,重启后可能触发修复甚至数据损坏。

易错点

  • 没有确认固件模式就执行重建命令,UEFI 机器跑 BIOS 方式导致引导被写到错误位置,问题从『起不来』升级为『引导扇区被覆盖』
  • chroot 时只挂根分区,没挂 /boot 或 EFI 分区,生成的引导文件写进了临时目录,重启后毫无效果
  • 修复后忽略固件启动顺序,机器仍从旧条目启动,被误判为修复失败而反复重做
  • 用磁盘克隆方式整盘复制后未更新引导中的 UUID,内核找不到根分区,停在紧急模式
  • 在维护窗口之外远程执行引导重建:一旦重启失败就只能到现场,运维成本陡然上升

数据来源与参考

  • GNU GRUB 手册
  • 各发行版引导修复指南
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌