Oamc

系统起不来时的救援 · 修改记录

这是 linux/system-rescue.md 的每次改动内容,按时间从新到旧。其他文章一起提交的部分不会出现在这里。

#1 2026-10-18 +95 −0 docs: 新增容器/安全分类,补 Windows 组策略与 Linux 内核救援,共 11 篇 69302a9
 new file mode 100644
 @@ -0,0 +1,95 @@
+---
+tags: [救援模式, 系统修复, GRUB]
+order: 95
+---
+
+# 系统起不来时的救援
+
+## 场景
+
+改完 fstab、升级内核、误删文件后,机器卡在 `emergency mode` 或者 grub 菜单进不去系统。
+
+## 前置条件
+
+- 有控制台 / 带外(iDRAC、iLO、VM 控制台)
+- 知道 root 密码(重置时不需要)
+- 有安装 ISO 或救援盘
+
+## 配置
+
+### 情况一:fstab 写错 → emergency mode
+
+登录后:
+
+```bash
+mount -o remount,rw /
+cat /etc/fstab
+# 找到写错的那一行,注释掉
+vi /etc/fstab
+mount -a
+reboot
+```
+
+### 情况二:忘记 root 密码
+
+在 grub 菜单按 `e` 编辑启动项,在 `linux` 那行末尾加:
+
+```text
+rd.break
+```
+
+按 `Ctrl+X` 启动,进入后:
+
+```bash
+mount -o remount,rw /sysroot
+chroot /sysroot
+passwd root
+touch /.autorelabel        # SELinux 开启时必须
+exit
+reboot
+```
+
+### 情况三:grub 损坏 / 进不了系统
+
+用安装 ISO 启动 → 选「救援模式」:
+
+```bash
+chroot /mnt/sysimage
+grub2-install /dev/sda
+grub2-mkconfig -o /boot/grub2/grub.cfg
+exit
+reboot
+```
+
+### 情况四:文件系统损坏
+
+```bash
+fsck -y /dev/mapper/vg-root
+```
+
+XFS 不能用 fsck,用 `xfs_repair`:
+
+```bash
+xfs_repair /dev/mapper/vg-root
+```
+
+## 验证
+
+正常启动,`systemctl --failed` 没有失败单元,`df -h` 挂载都在。
+
+## 回滚
+
+救援操作本身是在修,没有回滚。动手前尽量先备份关键配置:
+
+```bash
+cp /etc/fstab /etc/fstab.bak
+```
+
+## 坑
+
+- **fstab 改完不 `mount -a` 验证**,重启就进 emergency mode。
+- SELinux 开启时 `rd.break` 重置密码要 `touch /.autorelabel`,否则登录不了。
+- XFS 用 `fsck` 修不了,得用 `xfs_repair`。
+- 用 ISO 救援时 `chroot` 前要先 `mount` 根分区,否则改的是救援系统。
+- 强行断电导致的损坏,先备份数据再做修复。
+- 内核升级后起不来,可以在 grub 里选旧内核先救急。