紧急模式是systemd启动失败时自动进入的最小化维护环境,用于修复fstab错误、文件系统损坏等;救援模式则通过安装介质提供完整离线修复能力,支持重置密码、修复GRUB、恢复内核等。

Linux紧急模式和救援模式是两个不同层级的系统恢复环境,用途和进入方式有明显区别。紧急模式(emergency.target)是 systemd 启动失败时自动触发的最小化维护环境;救援模式(rescue.target)则更完整,提供网络、基础工具和挂载能力,适合主动修复。两者都以 root 权限运行,但启动逻辑和适用场景不同。
紧急模式:系统启动卡住时的“安全停靠点”
当系统在启动过程中遇到严重问题(如 /etc/fstab 配置错误、磁盘无法挂载、文件系统损坏或关键服务启动失败),systemd 会放弃常规启动流程,直接进入紧急模式。此时屏幕通常显示:
You are in emergency mode. After logging in, type "journalctl -xb" to view system logs...
它不是故障本身,而是系统主动暂停并等待你干预的保护机制。常见触发原因包括:
- /etc/fstab 中挂载路径、UUID 或文件系统类型写错
- 根分区或 /boot 分区文件系统损坏(如 XFS 崩溃、EXT4 超级块异常)
- 磁盘设备名变更(如 /dev/sda1 变成 /dev/nvme0n1p1),但 fstab 未更新
- SELinux 策略冲突或标签损坏导致 init 进程无法继续
进入后默认要求输入 root 密码登录。若密码遗忘,需通过 GRUB 编辑启动参数绕过认证(如添加 rd.break 或 init=/bin/bash)。
救援模式:主动介入修复的“离线工作台”
救援模式不依赖原系统启动,而是由安装介质(U 盘/光盘)或 GRUB 菜单加载一个独立的小型 Linux 环境。它的核心价值在于:即使原系统完全无法引导,也能访问硬盘、挂载分区、修改配置、重置密码、修复引导程序。
典型使用场景包括:
- 重置 root 密码:原系统可识别但登录失败时,用 rd.break 进入 initramfs 环境,remount /sysroot 为读写,chroot 后执行 passwd root
- 修复 GRUB 引导:Windows 安装覆盖 MBR 或 grub.cfg 损坏后,在救援环境中 chroot 到原系统,运行 grub2-install 和 grub2-mkconfig
- 恢复 /boot 或内核文件:误删 vmlinuz 或 initramfs 时,可通过挂载安装介质,用 rpm/deb 包重新安装 kernel
- 修复损坏的文件系统:对只读挂载失败的分区,先用 xfs_repair 或 e2fsck 扫描修复,再尝试挂载
- 备份关键数据:系统无法启动但磁盘完好,可在救援环境挂载分区,将 /home、/var 等目录拷贝到外部存储
两种模式的进入方式对比
紧急模式(无需外部介质):
- 开机时按 Shift(BIOS)或 Esc(UEFI)调出 GRUB 菜单
- 选中启动项,按 e 编辑启动参数
- 找到以 linux 或 linux16 开头的行,在行尾添加:
systemd.unit=emergency.target(或 rd.break 用于密码重置) - 按 Ctrl+X 或 F10 启动
救援模式(推荐 U 盘/光盘):
- 准备与原系统版本匹配的安装镜像(如 CentOS 8、Ubuntu 22.04)并制作启动盘
- 设置 BIOS/UEFI 从该介质启动
- 在安装界面选择 Troubleshooting → Rescue a [distro] system
- 系统自动尝试挂载原系统到 /mnt/sysimage;若失败,需手动用 fdisk -l、blkid 识别分区,再 mount 挂载
注意:CentOS/RHEL 类系统在救援中默认挂载路径为 /mnt/sysimage,而 Ubuntu/Debian 类常用 /mnt 或自定义路径;LVM 或加密卷需额外执行 vgchange -ay 或 cryptsetup luksOpen 激活后再挂载。
进不去?试试这些关键细节
很多操作失败其实卡在几个易忽略环节:
- SELinux 开启时修改了 /etc/shadow,必须在重启前执行 touch /.autorelabel,否则下次仍无法登录
- 使用 rd.break 后,需先 mount -o remount,rw /sysroot,再 chroot /sysroot,否则所有修改无效
- 挂载 LVM 逻辑卷前,务必运行 vgscan && vgchange -ay,否则 /dev/mapper/xxx 不会出现
- 编辑 GRUB 参数时,确认修改的是真正的内核行(含 vmlinuz 和 initrd 路径),不要误改 recovery 或旧内核项
- U 盘救援失败时,检查是否启用 Secure Boot —— 某些发行版镜像需关闭该选项才能启动










