grub 损坏后需通过 live 环境修复:先确认 bios/uefi 模式(查 /sys/firmware/efi/efivars),再挂载根分区及必要虚拟文件系统,uefi 还需挂载 efi 分区;然后 chroot 并执行 grub-install(bios 装 mbr、uefi 指定 –efi-directory)和 update-grub;最后卸载重启验证。

GRUB 损坏后系统无法启动,需通过 Live 环境修复。核心是重新安装 GRUB 并更新配置,关键在于确认目标磁盘、挂载正确分区、指定 BIOS/UEFI 模式。
确认当前启动模式(BIOS 或 UEFI)
启动 Live 系统后先判断原系统安装模式,决定后续操作路径:
- 运行 ls /sys/firmware/efi/efivars:若提示“No such file or directory”,说明是传统 BIOS 模式;若列出大量文件,则为 UEFI 模式
- 执行 sudo fdisk -l 查看磁盘,UEFI 系统通常有 FAT32 格式的 EFI 系统分区(标有 EFI System)
- BIOS 模式下 GRUB 安装到 MBR(如 /dev/sda),UEFI 模式下需挂载 EFI 分区并安装到对应目录
挂载原系统根分区和必要虚拟文件系统
在 Live 环境中定位并挂载原 Linux 系统所在分区(如 /dev/sda2):
- 用 sudo fdisk -l 或 lsblk 找出根分区(通常是 ext4,挂载点为 /)
- 创建挂载点并挂载:sudo mkdir /mnt && sudo mount /dev/sda2 /mnt
- 挂载其他必需目录(否则 chroot 后无法正常识别设备或网络):
sudo mount /dev/sda1 /mnt/boot(如有独立 /boot)
sudo mount –bind /dev /mnt/dev && sudo mount –bind /proc /mnt/proc && sudo mount –bind /sys /mnt/sys
UEFI 还需挂载 EFI 分区:sudo mount /dev/sda1 /mnt/boot/efi(假设 sda1 是 EFI 分区)
重装 GRUB 并更新配置
进入 chroot 环境后执行安装与更新:
- 切换到原系统:sudo chroot /mnt
- BIOS 模式:安装 GRUB 到磁盘 MBR(不是分区)
grub-install /dev/sda(注意是 /dev/sda,非 /dev/sda1) - UEFI 模式:确保已挂载 EFI 分区,再执行
grub-install –target=x86_64-efi –efi-directory=/boot/efi –bootloader-id=ubuntu(ID 可自定义) - 无论哪种模式,都需更新配置:update-grub(Debian/Ubuntu)或 grub2-mkconfig -o /boot/grub2/grub.cfg(RHEL/CentOS/Fedora)
重启验证与常见问题处理
退出 chroot,卸载分区,重启测试:
- 执行 exit 退出 chroot,再依次运行:
sudo umount -R /mnt
sudo reboot - 若仍进不了系统,检查是否遗漏 EFI 分区挂载(UEFI)、是否装错设备(如把 GRUB 装到分区而非磁盘)、或 /boot 内文件损坏(可尝试在 chroot 中重新安装 linux-image 和 grub-pc 包)
- 部分主板需进 UEFI 设置关闭 Secure Boot,否则 GRUB 可能被拦截






























