能进GRUB菜单即可进单用户模式,但参数因系统而异:RHEL/CentOS 7+用rd.break最稳妥,需mount -o remount,rw /sysroot后chroot /sysroot再改密码;Ubuntu/Debian用rw init=/bin/bash,进系统后执行mount -o remount,rw /;CentOS 6用single,但无法跳过root密码验证。

能进 GRUB 菜单,基本就能进单用户模式;但具体加什么参数、挂载是否可写、是否要 chroot,取决于你的系统版本和内核启动流程 —— 不是所有“single”都管用,也不是所有“init=/bin/bash”之后都能直接改密码。
CentOS/RHEL 7+ 用 rd.break 最稳妥
这是 Red Hat 系列(含 CentOS Stream、AlmaLinux、Rocky)官方推荐方式,绕过 initramfs 阶段的只读挂载限制,避免进 shell 后 / 仍是只读。
-
rd.break必须加在linux或linuxefi行末尾,空格分隔,不能替换原有参数 - 启动后会停在 initramfs 环境,此时执行:
mount -o remount,rw /sysroot,再chroot /sysroot - 进
chroot后才能安全运行passwd root、vi /etc/fstab等操作 - 如果漏掉
chroot,直接在 initramfs 里改/etc/shadow,重启后无效
Ubuntu/Debian 系列优先试 rw init=/bin/bash
Debian 系衍生系统(含 Ubuntu、Linux Mint、OpenKylin)对 single 支持不稳定,常卡在 Plymouth 或 systemd-journald,init=/bin/bash 更直接。
- 找到
linux行,把ro替换为rw init=/bin/bash(保留原有root=...等参数) - 部分新内核需额外加
console=tty0防止输出丢失,否则黑屏或无提示 - 进入后若提示
/ is not writable,手动执行:mount -o remount,rw / - 改完密码记得执行:
exec /sbin/init正常退出,不要直接reboot
CentOS 6 / 旧版 GRUB1 直接加 single
GRUB Legacy(grub.conf)下 single 是标准参数,但仅适用于未启用 SELinux 或未加密 /boot 的场景。
- 编辑
kernel行末尾,追加空格后输入single,例如:kernel /vmlinuz-2.6.32... ro root=/dev/sda2 single - 按
b启动后,系统会自动以 runlevel 1 启动,并要求输入 root 密码 - 若忘记 root 密码,该方式无法跳过认证 —— 必须用
init=/bin/bash类方案绕过登录流程 - 进系统后仍需检查挂载状态:
mount | grep " / ",只读时补mount -o remount,rw /
麒麟(KylinOS)V10/V11 注意默认密码和 console 参数
银河麒麟桌面版默认启用 GRUB 密码保护,且部分政企定制版禁用了 single,必须用带 console=tty0 的组合参数。
- 若 GRUB 提示输密码,用户名填
root,密码试Kylin123123(非所有版本都有效,但多数 SP2/SP3 默认如此) - 编辑
linuxefi行末尾,加:rw init=/bin/bash console=tty0,缺console=tty0可能看不到 bash 提示符 - 进 shell 后先确认根分区是否挂载:
ls /sysroot(RHEL 系)或ls /(Debian 系),再决定是否chroot - V11 某些加固版本会拦截
init=/bin/bash,此时只能用安装介质进救援模式,chroot /mnt/sysimage
真正容易被忽略的是:进 shell 后第一件事不是改密码,而是确认当前根路径是否可写、是否已 chroot 到真实系统。很多“改完密码没生效”,其实是因为在 initramfs 里改了临时文件系统,或者 / 根本没 remount 成读写。


















