GRUB(引导加载程序)损坏:原因与修复方法

当 Linux 无法正常启动时,原因之一可能是 GRUB(引导加载程序)损坏。 如果 GRUB 出现问题,系统可能会停在 grub rescue、黑屏,或者根本无法进入操作系统。

本文将说明 GRUB 损坏时常见的症状、可能原因,以及从 Live USB 进行修复的基本方法。


1. GRUB 损坏时会出现哪些症状?

  • 开机后只显示 grub rescue
  • 出现 “no such partition” 等错误
  • 系统无法进入 Linux,只停留在黑屏
  • 更新后突然无法启动

如果出现这些现象,GRUB 本身或启动相关分区可能已经损坏。


2. 常见原因

  • 系统更新中断
  • 硬盘分区结构被修改
  • Windows 与 Linux 双系统改写了启动信息
  • EFI 分区或 /boot 分区损坏
  • 磁盘故障导致引导文件丢失

特别是在调整分区、重装系统或更新内核之后,更容易出现这类问题。


3. 先使用 Live USB 启动

当系统无法正常启动时,最稳妥的方法是先使用 Linux Live USB 启动电脑。 启动后打开终端,确认分区情况。

lsblk -f

请确认 Linux 根分区以及 EFI 分区分别是哪一个设备。


4. 挂载系统并修复 GRUB

以下是常见的修复步骤示例。设备名请根据你的环境替换。

sudo mount /dev/sda2 /mnt
sudo mount /dev/sda1 /mnt/boot/efi   # 仅 UEFI 环境需要

sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys

sudo chroot /mnt

进入 chroot 后,重新安装 GRUB。

grub-install /dev/sda

如果是 UEFI 环境,也可以使用如下形式。

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB

然后重新生成启动配置。

update-grub

完成后退出并重启。

exit
sudo reboot

5. 如果 update-grub 不可用

在 Fedora 等发行版中,可能需要使用 grub2-mkconfig。 例如:

grub2-mkconfig -o /boot/grub2/grub.cfg

UEFI 环境下输出文件路径可能不同,请根据发行版确认。


总结

GRUB 损坏是 Linux 无法启动的常见原因之一。 出现问题时,不必急于重装系统,通常可以按以下顺序尝试恢复:

  • 使用 Live USB 启动
  • 确认 Linux 分区与 EFI 分区
  • 挂载系统并进入 chroot
  • 重新安装 GRUB
  • 重新生成启动配置

只要磁盘本身没有严重损坏,很多情况下都可以通过上述步骤恢复启动。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注