📑 文章章节大纲 (点击平滑直达)
方案一:通过 GRUB rd.break 进入急救模式(推荐)
适用于 RHEL 7 / CentOS 7 及统信、麒麟等衍生系统:
1. 拦截引导菜单
在机器开机启动进入 GRUB2 引导界面时,选中默认内核项,按下键盘 e 键进入编辑模式。
2. 追加紧急中断参数
在 linux16(或带有 vmlinuz 的内核命令行)末尾追加参数:
rd.break
按下 Ctrl + x 启动进入 emergency shell。
3. 挂载并重设 root 密码
此时系统根分区位于 /sysroot 且处于只读状态,按顺序执行以下命令:
# 重新挂载根分区为读写模式
mount -o remount,rw /sysroot
# 切换根目录
chroot /sysroot
# 重设 root 密码
echo "your_new_password" | passwd --stdin root
# 创建 SELinux 重新标记文件(极其关键,否则重启会被拒绝访问)
touch /.autorelabel
# 退出 chroot
exit
# 退出 emergency 模式重启系统
exit
方案二:通过 init=/sysroot/bin/sh 方式
- 重启并在 GRUB2 菜单按
e键; - 找到
linux16行中的ro改为:text rw init=/sysroot/bin/sh - 按
Ctrl + x启动后进入单用户终端; - 切换根分区并更新密码:
bash chroot /sysroot passwd root touch /.autorelabel exit reboot -f