Ubuntu–进入单用户模式

一、通过 GRUB 菜单修改内核参数(通用方法)

适用于 Ubuntu 16.04 及以上版本,通过修改启动参数直接进入单用户 shell。

进入 GRUB 菜单

重启系统,在启动过程中长按 Shift 键(若无效,尝试 Esc 键),直至显示 GRUB 引导菜单。提示:部分服务器或 UEFI 启动的系统可能需多次按 Esc 键中断启动。

编辑启动项

在 GRUB 菜单中,使用方向键选择含 “Ubuntu” 的条目(非 recovery 模式),按 e 键进入编辑模式。

修改内核参数

找到以 linux 或 linuxefi(UEFI 模式)开头的行,删除行尾的 ro quiet splash(或类似参数),替换为 rw single init=/bin/bash

示例修改前

linux /boot/vmlinuz-5.4.0-107-generic root=UUID=xxx ro quiet splash

示例修改后

linux /boot/vmlinuz-5.4.0-107-generic root=UUID=xxx rw single init=/bin/bash

 

rw:将根文件系统挂载为读写模式。
single:指定单用户模式。
init=/bin/bash:绕过系统初始化,直接启动 bash shell。

启动单用户模式

按 Ctrl+X 或 F10 键,系统将以单用户模式启动,进入 root@localhost:~# 命令行(无需密码)。

二、通过恢复模式(Recovery Mode)进入

适用于所有 Ubuntu 版本,通过 GRUB 菜单的恢复模式选项进入单用户环境。

进入 GRUB 菜单

重启系统,长按 Shift 或 Esc 键,显示 GRUB 菜单。

选择恢复模式

在 GRUB 菜单中选择 “Ubuntu 高级选项”,按 Enter 键。选择含 “(recovery mode)” 的条目(如 “Ubuntu 22.04.1 LTS (5.4.0-107-generic) (recovery mode)”),按 e 键编辑。

修改启动参数(可选)

若恢复模式菜单中未直接进入 root shell,需手动修改参数:找到 linux 行,将 ro recovery 改为 rw single init=/bin/bash,按 Ctrl+X 启动。

进入恢复模式菜单

系统启动后显示恢复模式选项,选择 “root” 以获取 root 权限,进入单用户 shell。

长安shift进grub

进恢复模式菜单选项说明

选项 功能描述
Resume normal boot 正常启动系统。
root 以 root 身份进入 shell(单用户模式)。
dpkg 修复软件包依赖问题。
fsck 检查并修复文件系统错误。
network 启动网络服务(单用户模式下默认关闭)。
三、通过命令行临时添加参数(适用于已知启动项)

适用于已进入 GRUB 命令行模式的场景(如按 c 键进入)。

进入 GRUB 命令行

重启系统,在 GRUB 菜单按 c 键,进入 GRUB 命令行界面。

手动指定启动参数

输入以下命令(需根据实际内核路径调整):

grub

linux /boot/vmlinuz-5.4.0-107-generic root=UUID=xxx rw single init=/bin/bash
initrd /boot/initrd.img-5.4.0-107-generic
boot

说明

linux 命令指定内核路径及参数。
initrd 命令指定初始化 ramdisk 路径。
boot 命令启动系统。

启动单用户模式

执行 boot 后,系统以单用户模式启动。

四、永久修改 GRUB 配置(适用于频繁进入单用户模式)
操作步骤

编辑 GRUB 配置文件

sudo vim /etc/default/grub  # 或使用 nano

修改启动参数

找到 GRUB_CMDLINE_LINUX_DEFAULT 行,添加 single init=/bin/bash

diff

- GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
+ GRUB_CMDLINE_LINUX_DEFAULT="quiet splash single init=/bin/bash"

更新 GRUB 配置

sudo update-grub  # Ubuntu 16.04+
# 旧版本可能需:sudo grub-mkconfig -o /boot/grub/grub.cfg

重启系统

sudo reboot

 

系统启动时将直接进入单用户模式(需谨慎,可能导致安全风险)。

五、不同版本兼容性说明
Ubuntu 版本 GRUB 编辑差异 注意事项
16.04-18.04 linux 行修改,参数含 ro quiet splash 直接替换为 rw single init=/bin/bash
20.04+ linuxefi 行(UEFI 模式),参数含 fsck 需确保 UUID 路径正确,部分版本需删除 fsck 参数
老版本(14.04-) initrd 行需同步修改 确保内核与 initrd 版本一致,避免启动失败
六、注意事项与风险

安全风险:单用户模式下 root 权限无需密码,需确保物理设备安全。
SELinux 处理:若系统启用 SELinux,修改密码后需执行 touch /.autorelabel,否则可能导致权限异常。
文件系统挂载:若单用户模式下根文件系统为只读(ro),需手动执行 mount -o remount,rw /
虚拟机场景:VMware 中可能需用 Ctrl+Alt+Shift+F1 切换终端,进入单用户模式后建议通过 reboot 命令重启。

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容