1.重新启动ubuntu,一直按住shift
选择第二个
2.选择修复模式,第二个
3.选择root

4.切换读写模式
mount -o remount,rw / 用于重新挂载根分区

含义: mount -o remount,rw / 命令中,mount 是用于挂载文件系统(将存储设备 / 分区关联到系统目录)的系统核心命令,-o 是指定挂载附加属性(全称:option)的选项参数
remount 代表重新挂载已存在的文件系统(不卸载、直接更新挂载状态)的挂载属性
rw 是将文件系统设置为可读可写(read-write)模式的挂载属性
/ 则表示该命令操作的目标为系统的根分区(整个系统的顶层目录)。
判断: 执行后没有报错提示,直接回到了root@yzlserver:~#提示符),说明根分区已经成功挂载为可写模式
原理: 默认进入救援 / 单用户模式时,根分区会以 只读模式挂载(防止系统故障时误写损坏数据)。而重置密码、修改配置等操作需要写入权限,所以必须用这个命令将根分区重新挂载为 “可读可写” 模式,才能执行后续的密码修改、用户创建。
5.拿到用户名
cat /etc/passwd | grep "/home"

含义:cat 是 “读取文件内容” 的命令,/etc/passwd 是 Linux 系统存储所有用户基本信息的核心文件(包含用户名、用户 ID、家目录等),这部分作用是读取该文件的全部内容。
grep 是 “文本筛选” 命令,"/home" 是筛选条件;Linux 中普通用户默认会分配/home/用户名格式的家目录,因此筛选包含/home的行,就能快速定位到可登录的普通用户。
| 符号的作用是将前一个命令(cat /etc/passwd)的输出结果,作为后一个命令(grep "/home")的输入。
yzl:x:1000:1000::/home/yzl:/bin/bash 这行是系统/etc/passwd文件里的标准用户记录
yzl:你的用户名(核心信息)x:表示密码存在 /etc/shadow(加密存储)1000:1000:用户 ID / 组 ID(普通用户默认 1000 开头)/home/yzl:用户家目录/bin/bash:默认 shell
6.修改用户名的密码
passwd 用户名

7.执行重启命令退出救援模式
exec /sbin/init
exec是系统内置命令,作用是用新进程替换当前 Shell 进程(执行后原 Shell 进程直接被替换,无残留);简单说就是 “用新程序接管当前终端会话”。
/sbin/init 是linux 系统的1 号进程(系统初始化进程,是所有进程的 “父进程”),路径/sbin/init是其默认位置;init负责启动 / 管理系统的所有核心服务、切换运行级别、完成系统重启 / 关机等核心操作。
8.跳转到这个界面,选中root后按<Ok>,输入reboot重启即可


3万+

被折叠的 条评论
为什么被折叠?



