Ubuntu 20.04及之后版本必须使用rw init=/bin/bash进入单用户模式,因systemd已弃用single;编辑GRUB时需删除ro及干扰参数,替换为rw init=/bin/bash,按Ctrl+X启动后执行mount -o remount,rw /确认读写,再重置密码或修复系统,最后sync && reboot -f安全退出。

single 和 rw init=/bin/bash 是进入 Ubuntu 单用户模式最直接有效的两个参数组合,但具体用哪个、怎么改,得看你的 Ubuntu 版本和当前 GRUB 配置。
Ubuntu 20.04 及之后版本(22.04 / 24.04)必须用 rw init=/bin/bash
Ubuntu 20.04 起默认使用 systemd,single 已基本失效 —— 它可能让你卡在黑屏或空 shell,根本进不了可操作环境。init=/bin/bash 才是可靠入口,它绕过 systemd 初始化流程,直接启动 bash,且要求根文件系统以读写方式挂载。
- GRUB 编辑时,找到以
linux开头的行(不是linux16) - 删掉整段干扰参数:
ro quiet splash recovery nomodeset dis_ucode_ldr console=tty0 console=ttyS0 nopti - 替换成:
rw init=/bin/bash(注意中间无空格,rw和init=是两个独立参数) - 按
Ctrl+X启动,系统将直接停在#提示符下
Ubuntu 18.04 及更早版本可用 rw single
这类老版本仍兼容 SysV init 风格,single 参数能触发运行级别 1,但前提是根分区必须先被设为读写 —— 否则你进去后连 passwd 都执行失败,因为 /etc/shadow 所在分区是只读的。
Ubuntu 26.04 LTS(代号“Resolute Raccoon”)是Canonical于2026年4月23日发布的下一代长期支持版操作系统,提供长达10年的技术支持。它搭载Linux 7.0内核与GNOME 50桌面环境,全面转向Wayland协议,并引入Rust重写的核心工具以增强安全性。官方提供适用于AMD64和ARM64架构的桌面及服务器ISO镜像,是追求前沿技术与极致稳定的开发者
- 编辑
linux行时,把ro改成rw single - 不要保留
quiet splash,它们不影响功能,但可能掩盖关键错误输出 - 进系统后第一件事:运行
mount | grep " / "确认挂载状态;若显示ro,立刻执行mount -o remount,rw /
recovery mode → root 选项不等于单用户模式
很多人误以为选 GRUB 里的 “root” 就进了单用户,其实它只是 recovery mode 下的一个子菜单 —— 此时根文件系统默认是只读的,且 systemd 仍在后台运行,很多命令(比如 systemctl、journalctl)会报错或行为异常。
- 选中 “root” 后,必须手动执行
mount -o remount,rw /才能写文件 - 该路径下无法直接修改内核参数或绕过启动服务,适合轻量修复,不适合 fstab 错误、grub.cfg 损坏等底层问题
- 如果你需要重置密码或修复
/etc/fstab,优先用rw init=/bin/bash方式,避免被 recovery mode 的半初始化环境干扰
重启命令在单用户模式下经常失效
因为 init=/bin/bash 绕过了整个 init 系统,reboot、shutdown 命令找不到 systemd 或 sysvinit 上下文,直接报 Command not found 或卡住。
- 安全退出方式是:
exec /sbin/init(尝试恢复 systemd) - 更可靠的是:
reboot -f(强制触发硬件重启) - 虚拟机环境下,如果
reboot -f也无响应,就用控制台的 “发送 Ctrl+Alt+Del” 或关机按钮 - 切记:改完密码或配置后,一定要先
sync再重启,否则缓冲区数据可能丢失
console= 参数的敏感性 —— Ubuntu 22.04+ 在某些云环境(如交大云、阿里云)里,不删掉 console=ttyS0,115200n8 会导致 init=/bin/bash 启动后无任何输出,看起来像卡死。这不是故障,是输出被重定向到串口了。

















