银河麒麟系统可通过三种方式进入救援模式:一是运行中执行sudo systemctl isolate emergency.target切换至emergency shell;二是用grubby或修改grub配置添加systemd.unit=emergency.target参数后重启;三是live介质下chroot到原系统根分区进行离线修复。

当银河麒麟系统已能正常进入图形界面或字符终端,但需要快速调用底层维护环境执行文件系统修复、密码重置或引导配置修改时,可通过终端命令直接触发救援模式启动流程。
使用systemctl命令切换至emergency.target
该方法适用于系统仍在运行、服务未完全崩溃,且root权限可用的场景。它会立即终止当前用户会话并切换到最小化单用户维护环境。
第一步:以root身份打开终端,或使用sudo提升权限。
第二步:执行命令:sudo systemctl isolate emergency.target。
第三步:系统将停止所有非必要服务,清空屏幕,显示“Welcome to emergency mode!”提示,并要求输入root密码——【此处必须输入当前系统的root密码,而非普通用户密码】。
第四步:认证通过后,获得带完整工具链的root shell,可立即执行fsck、passwd、mount等操作。
通过GRUB命令行临时注入参数(无需重启)
此方法不依赖图形界面,适合在终端中已获取root权限、但不想中断当前工作流的情况;本质是模拟GRUB编辑启动参数的行为。
方法一:使用grubby工具动态追加启动参数
执行:sudo grubby --update-kernel=ALL --args="systemd.unit=emergency.target"。
随后执行:sudo reboot,系统将在下次启动时自动进入emergency shell。
方法二:手动挂载/boot并修改默认内核参数(高风险)
先确认/boot所在分区:findmnt /boot,若为独立分区则需先挂载;若/boot位于根分区则跳过。
编辑GRUB配置:sudo nano /etc/default/grub,在GRUB_CMDLINE_LINUX行末尾添加 systemd.unit=emergency.target(注意前面留空格)。
更新GRUB配置:sudo update-grub(麒麟V10 SP1/SP2适用)或sudo grub2-mkconfig -o /boot/grub2/grub.cfg(服务器版常用)。
【修改前务必备份原文件:cp /etc/default/grub /etc/default/grub.bak】
从运行中系统直接chroot进救援环境(仅限Live介质已挂载)
该方式不真正“进入”救援模式,而是复用Live环境中的工具集对本机系统做离线修复,适用于已插入银河麒麟安装U盘且Live桌面可运行的情形。
执行:lsblk -f识别原系统根分区(如/dev/sda2)及/boot/efi分区(如/dev/sda1)。
创建挂载点并挂载:sudo mkdir -p /mnt/sysroot && sudo mount /dev/sda2 /mnt/sysroot && sudo mount /dev/sda1 /mnt/sysroot/boot/efi。
执行chroot:sudo chroot /mnt/sysroot /bin/bash。
此时提示符变为#,且所有操作均作用于原系统,可直接运行passwd kylin、dracut -f或grub2-install等命令。











