可以获得root shell,不需要密码和sudo。
在该shell内手动挂载根文件系统就可以对系统进行修改。
# 查看分区的设备名称
blkid
# 创建挂载文件夹
mkdir /mnt
# 挂载分区
mount /dev/设备名称 /mnt
# 跳转到挂载的文件夹
cd /mnt
# 查看是否是想要的文件夹
ls
然后就可自由操作。
上面的步骤执行后,继续执行以下命令即可进入系统命令行:
# 跳转到挂载的根文件系统
cd /mnt
# 挂载必要的系统文件夹
mount --rbind /dev dev
mount --rbind /proc proc
mount --rbind /sys sys
mount --rbind /tmp tmp
mount --rbind /run run
# 进入系统命令行
chroot . /bin/bash
# 挂载其他分区
mount -a
此时你就可以执行系统内的命令了,比如apt
等,还可以运行passwd
修改root密码,运行passwd 用户名
修改指定用户的密码。不过这时是没有网的,想联网得用命令行进行配置。
执行上面的命令后,再执行以下命令就可以完成启动过程并进入图形界面:
# 启动系统引导程序
unshare -fp --mount-proc /sbin/init
unshare
命令的作用是创建新的进程命名空间,让/sbin/init
(实际是systemd
)以 pid 1 启动。如果不进行unshare
,systemd会因为自己不是 pid 1 而拒绝启动。
@XCAI,UOS没有
rd.break
和init=/bin/bash
,会直接进入桌面。single
会提示root用户已被禁用,按回车后直接进入桌面。