1. 当双系统遭遇Grub故障:从报错界面到临时引导
"Minimal BASH-like line editing is supported"这个黑底白字的界面,相信很多双系统用户都不陌生。上周我的开发机在Windows更新后突然无法启动,就卡在这个经典的Grub救援界面。这种问题通常发生在三种场景:安装新系统后、系统更新后、或者调整磁盘分区后。本质上是因为Grub引导程序找不到它的配置文件(grub.cfg),就像迷路的人没有地图。
遇到这种情况先别慌,Grub其实给了我们一套排查工具。首先在报错界面输入ls命令,你会看到类似(hd0,gpt1)这样的分区列表。这里hd0表示第一块硬盘,gpt1表示第一个分区(GPT分区表)。我的经验是:先找EFI分区,它通常比较小(100-500MB),可以用ls (hdX,gptY)/EFI逐个尝试,看到Ubuntu和Microsoft目录的就是了。
找到正确分区后,临时引导系统的三行命令我至今能背出来:
bash复制set root=(hd1,gpt3)
set prefix=(hd1,gpt3)/boot/grub
insmod normal
normal
注意这里的(hd1,gpt3)要替换成你实际找到的分区。执行后会看到熟悉的Ubuntu启动菜单,这时就能进入系统进行永久修复了。有个细节容易忽略:如果你的/boot是独立分区,prefix路径要改成/grub而不是/boot/grub。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 深入Grub:手动探测分区的实用技巧
手动定位grub.cfg文件的过程就像在玩解谜游戏。我建议准备纸笔记录探测结果,特别是多硬盘环境。ls (hdX,gptY)/boot/grub这个命令的变体有很多实用技巧:
- 加
-l参数查看详细格式:ls -l (hd0,gpt1)/能显示分区文件系统类型,ext4分区通常就是系统所在 - 使用tab键补全:输入
ls (hd0,后连按两次tab会显示所有可用分区 - 跨硬盘探测:笔记本的NVMe和SATA硬盘可能分别对应hd0和hd1
有次帮同事修复时发现个特殊情况:他的Ubuntu安装在LVM逻辑卷里。这时需要先加载lvm模块:
bash复制insmod lvm
ls (vgubuntu-lvroot)/boot
