systemd通过target机制实现运行状态动态切换:1.用systemctl isolate切换multi-user.target或graphical.target;2.用rescue.target进行常规维护;3.用emergency.target处理严重故障;4.可通过GRUB参数强制进入emergency.target。

如果您需要在 Linux 系统运行时切换系统运行状态(如从图形界面临时进入多用户命令行环境,或进入紧急维护状态),systemd 提供了 target 机制实现目标单元的动态切换。以下是执行多目标切换与进入紧急救援模式的具体操作步骤:
一、理解 systemd target 的基本概念
systemd target 是一组 unit 的逻辑集合,用于定义系统所处的状态,类似传统 SysV init 中的运行级别,但更灵活。target 不是运行状态本身,而是通过依赖关系激活对应服务和挂载点。常见 target 包括 multi-user.target、graphical.target、rescue.target 和 emergency.target。
二、切换至多用户目标(无图形界面)
该操作将系统从当前运行状态(如 graphical.target)切换为仅启用网络、SSH、本地终端等基础服务的 multi-user.target,不启动显示管理器和桌面环境。
1、以 root 权限执行切换命令:systemctl isolate multi-user.target
2、确认当前激活的 target:systemctl get-default
3、验证已激活的 target 单元:systemctl list-units --type=target --state=active
三、切换至图形目标(带桌面环境)
该操作恢复图形化登录界面及完整桌面会话,适用于从 multi-user.target 返回桌面环境。
1、执行目标隔离命令:systemctl isolate graphical.target
2、检查是否成功加载显示管理器(如 gdm3、sddm 或 lightdm):systemctl is-active gdm3
3、若显示管理器未自动启动,手动启用并启动:systemctl enable --now gdm3
四、进入救援模式(rescue.target)
rescue.target 启动一个最小化的系统环境,保留文件系统挂载、网络(若配置允许)和 root shell,适合执行常规系统维护任务,如日志检查、服务配置修复或用户管理。
1、立即切换至 rescue.target:systemctl isolate rescue.target
2、输入 root 密码以获取交互式 shell 访问权限
3、确认关键挂载点已就绪:findmnt /
4、检查基础服务状态:systemctl status systemd-journald network.target
五、进入紧急救援模式(emergency.target)
emergency.target 提供最精简的运行环境:仅挂载根文件系统为只读(除非显式重新挂载)、禁用所有非必要服务、不启用网络、不启动任何用户空间守护进程,仅提供一个直接连接到内核控制台的 root shell。
1、触发紧急模式:systemctl isolate emergency.target
2、输入 root 密码后获得 shell 提示符
3、将根文件系统重新挂载为可写:mount -o remount,rw /
4、手动启动 journal 日志服务以便调试:systemctl start systemd-journald
六、从紧急或救援模式返回默认目标
完成维护操作后,可通过指定默认 target 恢复系统正常运行流程,无需重启。
1、查看当前默认 target:systemctl get-default
2、若需返回图形界面,默认 target 应为 graphical.target:systemctl set-default graphical.target
3、立即激活该 target:systemctl isolate graphical.target
七、强制中断引导进入紧急模式
当系统无法正常启动至 login prompt 时,可在 GRUB 启动菜单中干预内核参数,跳过默认 target 直接进入 emergency.target。
1、开机时在 GRUB 菜单按 e 键编辑启动项
2、定位以 linux 开头的行,在行尾添加空格后追加:systemd.unit=emergency.target
3、按 Ctrl+X 或 F10 启动修改后的内核
4、输入 root 密码进入紧急 shell

















