当GRUB引导程序损坏导致系统无法启动时,可通过Live CD重装引导、手动修复配置文件、重建引导分区三种方法解决。本文提供详细操作步骤及常见错误应对方案,适用于Windows/Linux双系统及单系统环境。
开机直接进入grub rescue模式怎么办?
典型场景:更新系统或硬盘分区调整后,启动时出现grub rescue>
命令行提示。
第一步:输入ls
查看可用分区,尝试定位Linux所在分区(通常为hd0,msdos5格式)
第二步:依次输入:
set prefix=(hd0,msdos5)/boot/grub
set root=hd0,msdos5
insmod normal
normal
案例:用户安装Windows覆盖grub后,通过上述命令临时进入系统,再使用grub-install /dev/sda
永久修复。
双系统启动菜单消失怎么恢复?
高频问题:Windows更新后无法识别Linux系统,启动时直接进入Windows。
- 准备Ubuntu Live USB启动盘
- 打开终端执行:
sudo mount /dev/sda5 /mnt
sudo grub-install --root-directory=/mnt /dev/sda
- 更新配置:
sudo update-grub
注意:sda5需替换为实际ext4分区号,可通过lsblk
命令查询。
GRUB配置文件错误导致启动失败
典型症状:出现error: symbol not found
或error: file not found
提示。
修复流程:
- 在GRUB界面按e进入编辑模式
- 检查
linux
和initrd
行路径是否正确 - 临时修改后按Ctrl+X启动
- 进入系统后运行:
sudo grub-mkconfig -o /boot/grub/grub.cfg
避坑指南:当/boot分区单独存在时,需确保grub.cfg
中的UUID与实际分区一致。
GRUB修复常见问题解答
- Q:修复后仍然无法进入系统怎么办?
- A:尝试使用
boot-repair
工具,支持自动检测和修复引导问题 - Q:如何避免GRUB被覆盖?
- A:安装新系统时断开其他硬盘,或在BIOS中调整启动顺序
- Q:Secure Boot导致GRUB安装失败?
- A:进入BIOS关闭Secure Boot,或安装支持安全启动的shim组件
专家建议:定期备份/boot/grub
目录和分区表,使用dd if=/dev/sda of=grub_backup.bin bs=512 count=1
命令可备份MBR。