linux 进入 emergency 模式通常因关键服务或文件系统异常,如 /etc/fstab 错误、根分区无法挂载、systemd 单元失败、磁盘损坏或 luks 解密失败;需通过 journalctl 和 systemctl 定位问题,修复后 exit 退出并更新 initramfs。

Linux 进入 emergency 模式,通常是因为系统启动时关键服务或文件系统异常,比如 /etc/fstab 配置错误、根分区无法挂载、systemd 单元失败、磁盘损坏或加密卷解密失败等。此时系统不会继续启动图形或网络服务,而是停在命令行界面,提示你手动干预。
确认当前状态和报错线索
进入 emergency 模式后,屏幕会显示类似“Welcome to emergency mode!”的提示,并给出操作指引(如按 Ctrl+ D 继续,或输入 root 密码进入 shell)。关键信息在报错行:
- 留意红色高亮的 failed unit 名称,例如 dev-sda2.device、local-fs.target 或cryptsetup@xxx.service
- 运行 journalctl -xb -p3 查看最近的错误日志(-p3 表示优先级为 error 及以上)
- 用 systemctl –failed 列出所有失败的服务
常见原因与对应修复方法
多数 emergency 问题集中在以下几类:
- /etc/fstab 配置错误 :新增了不存在的设备 UUID、挂载点路径错误、文件系统类型写错。修复方式:执行mount -o remount,rw / 重新挂载根为可写,然后用 nano /etc/fstab 检查并注释 / 修正错误行,保存后执行 systemctl daemon-reload 再exit退出 emergency
- 根文件系统只读或损坏 :先运行mount | grep ” / “ 确认挂载状态;若为 ro(只读),尝试mount -o remount,rw /;若失败,可能是 ext4 损坏,运行e2fsck -f /dev/sdXN(替换为实际设备)强制检查修复
- LUKS 加密卷无法解锁 :检查/etc/crypttab 中设备路径、keyscript 或密码文件是否存在;临时手动解锁测试:cryptsetup luksOpen /dev/sdXN myvol,成功后再排查 systemd-cryptsetup 服务配置
退出 emergency 并恢复启动
完成修复后,不要直接重启——先验证是否能正常进入 multi-user 目标:
- 执行 systemctl default 尝试切换到默认目标(通常是 graphical 或 multi-user)
- 若无报错且进入登录界面,说明修复成功;否则重复查看journalctl -xb
- 确认无误后,输入 exit 或按 Ctrl+D,系统将自动继续启动流程
- 为防再次进入 emergency,建议更新 initramfs:update-initramfs -u(Debian/Ubuntu)或dracut -f(RHEL/CentOS/Fedora)
不复杂但容易忽略:很多问题其实源于一次手动修改 fstab 后没验证就重启,或者升级内核后 initramfs 未重建。日常维护中养成 mount -a 测试 fstab、lsinitrd | grep crypt检查 initramfs 内容的习惯,能大幅减少 emergency 模式出现概率。






























