启动进入救援模式和紧急模式¶
前言¶
Fedora 已内置(由 systemd 提供)启动进入救援 / 紧急模式的机制。
但 Fedora(以及 Universal Blue 系统)在安装时不会设置 root 密码。因此,当进入紧急或救援模式时,用户会看到以下错误:
此时按 Enter 将进入相应的 root shell。此模式下 SELinux 也会处于活动状态(除非已被其他配置禁用),因此如果你需要重置密码等,这是一个合适的模式。
详情见下文:
启动进入紧急模式¶
紧急模式提供了最精简的环境,即便系统无法进入救援模式,也允许你修复系统。在紧急模式下,系统仅以只读方式挂载 root 文件系统,不尝试挂载其他本地文件系统,不激活网络接口,且只启动少量必要服务。
- 在键盘上按 Esc 进入 GRUB 启动菜单。
a. 如果 Esc 按得太多,可能会进入
grub>提示符。 b. 输入exit并按 Enter 可返回启动菜单。 - 选择所需的部署(通常顶部条目正确),并在键盘上按 E 进行编辑。
- 用方向键移动到以
linux开头的行,按 Ctrl+E 跳到行尾。 - 在行尾添加
emergency一词。 a. 确保emergency与已有文本之间有空格。 b. 等效参数-b和systemd.unit=emergency.target可替代emergency。 - 按 Ctrl+X 启动系统。
启动进入救援模式¶
救援模式提供了方便的单用户环境,可在系统无法完成正常启动过程时修复系统。在救援模式下,系统会尝试挂载所有本地文件系统并启动一些重要的系统服务,但不激活网络接口,也不允许更多用户同时登录系统。在 Fedora 中,救援模式等同于单用户模式。
- 在键盘上按 Esc 进入 GRUB 启动菜单。
a. 如果 Esc 按得太多,可能会进入
grub>提示符。 b. 输入exit并按 Enter 可返回启动菜单。 - 选择所需的部署(通常顶部条目正确),并在键盘上按 E 进行编辑。
- 用方向键移动到以
linux开头的行,按 Ctrl+E 跳到行尾。 - 在行尾添加
single一词。 a. 确保single与已有文本之间有空格。 b. 等效参数1、s、S和systemd.unit=rescue.target可替代single。 - 按 Ctrl+X 启动系统。
无密码的 root shell!这怎么保证安全?¶
此改进的实现要求用户必须具备编辑内核命令行的能力。如果你的 bootloader(例如 GRUB)配置了密码以阻止用户修改内核命令行,则不会启用针对锁定 root 账户的密码绕过。这一点尤为重要,因为当启动时文件系统检查失败也会进入 emergency 模式,而不仅限于在内核命令行中指定时。
基于此防护措施,这种改进的救援 / 紧急模式与设置 init=/bin/bash 等方式同样安全。此外,用户使用此方法也不太可能损坏 SELinux 标签。
重置遗忘的用户密码¶
忘记了登录用的用户密码?请阅读 Fedora 文档中关于此主题的内容。请记住,如果你在安装设置期间未设置密码,则所有新的汽核 OS 安装的默认密码为「bazzite」。