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 避坑指南十三条

  1. 修改grub.cfg前请做好备份
  2. UEFI系统需要同时处理ESP分区
  3. 双系统用户注意Windows更新会覆盖引导
  4. LVM分区需要加载对应模块
  5. Secure Boot可能导致意外问题
  6. 旧设备慎用grub-install --removable
  7. Nvidia显卡驱动冲突可加nomodeset参数
  8. 企业级系统建议保留两个可用内核
  9. 虚拟机环境先尝试快照恢复
  10. RAID阵列需要mdadm配合操作
  11. Btrfs文件系统需要特别处理
  12. 加密分区记得备份密钥文件
  13. 云服务器优先使用控制台恢复模式