GRUB 引导损坏导致 Linux 无法启动?这样修复
双系统重装 Windows、意外断电或磁盘分区调整之后,最常遇到的画面就是开机直接进 BIOS,或停在 grub rescue> 提示符。这说明 GRUB 引导记录损坏或指向了错误的分区。只要 Linux 分区本身没坏,用一张 Live USB 就能救回来。
一、判断故障类型
- 若屏幕显示
grub>或grub rescue>,说明引导程序还在但配置丢失。 - 若直接进 BIOS/UEFI,说明 MBR 或 EFI 分区里的引导项被覆盖。
- 先确认能否从 BIOS 启动菜单看到 Linux 条目,能则问题较轻。
二、用 Live USB 进入救援环境
- 用另一台电脑制作 Ubuntu 等发行版的启动盘,从该盘启动并选择『试用』。
- 打开终端,执行
lsblk确认根分区(如/dev/sda2)与 EFI 分区(如/dev/sda1)。
三、挂载并 chroot 进入原系统
- 挂载根分区:
sudo mount /dev/sda2 /mnt。 - 挂载 EFI:
sudo mount /dev/sda1 /mnt/boot/efi。 - 绑定系统目录:
sudo mount --bind /dev /mnt/dev等,再sudo chroot /mnt。
四、重装 GRUB 到磁盘
- 在 chroot 内执行
grub-install /dev/sda(注意是整块磁盘,不是分区)。 - 重新生成配置:
grub-mkconfig -o /boot/grub/grub.cfg。 - 退出 chroot,重启即可。
五、UEFI 与 BIOS 的区别
UEFI 机器必须把 GRUB 装到 EFI 系统分区,并确认 /boot/efi 已挂载;旧 BIOS 机器则写入 MBR。若主板开启了 Secure Boot,部分发行版需先关闭或 enrollment 密钥。
技术总结:GRUB 修复的核心是把引导程序重新写回正确的磁盘或 EFI 分区,并重建配置文件。掌握 chroot 救援流程后,绝大多数引导故障都能在十分钟内解决。