1. 开机黑屏时,GRUB就是你的急救员
每当看到屏幕停留在这个界面时:
error: no such partition
grub>
我的老同事王工总会说:"这就是GRUB在向你求救"。作为Linux系统的守护神,GRUB(GRand Unified Bootloader)掌控着系统启动的生杀大权。但别怕,我们手中有三把钥匙可以破解困局。
1.1 GRUB配置文件三部曲
在Ubuntu 22.04系统上,GRUB的配置文件组成了一个精妙的"金字塔结构":
# 地基:默认参数配置
/etc/default/grub
# 主体:核心配置文件(自动生成,慎改!)
/boot/grub/grub.cfg
# 顶层:定制脚本
/etc/grub.d/
王工在机房反复叮嘱:"改配置就像调琴弦,要用update-grub命令生成最终配置,直接修改grub.cfg就像用铅笔在打印纸上写字——下次更新就全没了!"
2. GRUB救援三板斧实战
2.1 临时启动参数调整(急救必备)
当系统卡在登录界面无限循环时,试试这个神奇操作:
步骤演示:
# 在GRUB界面按'e'进入编辑模式
# 找到以linux开头的行,末尾添加:
init=/bin/bash
# 按Ctrl+X启动,进入bash界面后执行:
mount -o remount,rw / # 以读写方式重新挂载根分区
passwd root # 修改root密码
touch /.autorelabel # SELinux系统必备
exec /sbin/init # 正常启动系统
注:该方法可破解90%的密码遗忘和文件系统损坏问题
2.2 永久修改GRUB配置
需要调整默认启动项时,请认准正确姿势:
# 修改默认配置
sudo nano /etc/default/grub
-------------------------
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.15.0-78-generic"
GRUB_TIMEOUT_STYLE=countdown
GRUB_TIMEOUT=5
# 生成新配置
sudo update-gub
# 查看生成结果(验证用)
grep menuentry /boot/grub/grub.cfg
提醒:这里的菜单项名称要严格匹配,建议直接复制grub.cfg中的条目
2.3 核武器——GRUB完整重建
当遇到硬盘更换或分区调整时,我们需要重建GRUB:
# 进入LiveCD环境后操作
sudo mount /dev/sda2 /mnt # 挂载根分区
sudo mount /dev/sda1 /mnt/boot/ # 挂载boot分区
sudo chroot /mnt
# 关键操作(针对UEFI系统):
grub-install /dev/sda # 安装引导程序
update-grub # 生成配置文件
# 验证安装:
efibootmgr | grep -i ubuntu # 查看UEFI启动项
注意:sda1和sda2需要根据实际情况调整,建议用lsblk查看分区
3. 恢复模式的七种武器
3.1 文件系统修复
当看到"Superblock needs recovery"错误时:
# 在恢复模式选择root shell
fsck -y /dev/sda2 # 自动修复文件系统错误
mount -o remount,rw / # 重新挂载为读写模式
systemctl reboot # 重启验证
3.2 软件包核验
如果系统更新后无法启动:
# 进入恢复网络模式
sudo apt install -f # 修复依赖问题
sudo dpkg --configure -a # 完成中断的配置
sudo apt --reinstall install linux-image-generic
4. 高阶救援技术
4.1 手动挂载大法
当自动挂载失效时,Linux老手都这样操作:
# LiveCD环境下
sudo mkdir /mnt/sysroot
sudo mount /dev/sda2 /mnt/sysroot # 挂载根分区
sudo mount --bind /dev /mnt/sysroot/dev
sudo mount --bind /proc /mnt/sysroot/proc
sudo chroot /mnt/sysroot /bin/bash
# 现在你可以像在正常系统中一样操作了!
4.2 日志破案技巧
查看启动失败的蛛丝马迹:
journalctl -p 3 -xb # 查看错误日志
dmesg | grep -i error # 内核错误信息
systemd-analyze blame # 查看启动耗时长的服务
5. 技术方案的博弈与抉择
5.1 方案选型指南
场景 | 推荐方案 | 耗时 | 风险 |
---|---|---|---|
忘记root密码 | 临时启动参数调整 | 3分钟 | ★☆☆ |
内核升级失败 | 恢复模式软件包修复 | 5分钟 | ★★☆ |
硬盘更换/分区调整 | GRUB完整重建 | 15分钟 | ★★★ |
文件系统损坏 | LiveCD+fsck修复 | 30分钟 | ★★☆ |
5.2 避坑指南十三条
- 修改grub.cfg前请做好备份
- UEFI系统需要同时处理ESP分区
- 双系统用户注意Windows更新会覆盖引导
- LVM分区需要加载对应模块
- Secure Boot可能导致意外问题
- 旧设备慎用grub-install --removable
- Nvidia显卡驱动冲突可加nomodeset参数
- 企业级系统建议保留两个可用内核
- 虚拟机环境先尝试快照恢复
- RAID阵列需要mdadm配合操作
- Btrfs文件系统需要特别处理
- 加密分区记得备份密钥文件
- 云服务器优先使用控制台恢复模式