实战:进入 CentOS8 紧急模式重置root 密码(忘记密码重置root密码)
方法一:
1、重启centos8,在这个界面按上下键选中第一行
2、修改文件
按‘e’键,进入如下界面,移动向下方向键至“linux16”开头的行。然后按向右的方向键移动,找到“ro”并将其修改为“rw init=/sysroot/bin/bash”。(rw后边有空格,\是系统自己添加的)
3、进入紧急模式
同时按住Ctrl和x键,系统进入如下界面,即emergency(紧急情况)模式。
4.运行命令“chroot /sysroot/ ”切换回原始系统
运行命令“chroot /sysroot/ ”切换回原始系统(即我们的centos8),然后即可修改密码,修改完密码运行命令“touch /.autorelabel”,使SELinux生效,密码生效。如下图。(如果修改密码出现如下方块乱码),将当前终端语言临时设置为英文即可)。
:/# chroot /sysroot/
:/# LANG=en (临时把语言改为英文)
:/# passwd
:/# touch /.autorelabel
5、重启
同时按住Ctrl和d键,输入reboot,回车,系统重新启动。
重置root密码需要访问到kernel启动菜单,远程重置root密码需要远程控制卡访问物理Console,最后一定要等待系统自动重启完成,此过程要耐心点。一定要让系统自动重启完成,千万不要关闭系统或者硬重启。
方法二:
1)启动系统,选择kernel 启动菜单
2)选中第一行,按 e 字母键进入 编辑菜单
3)定位到 linux($root)行,在行尾追加内核参数:rd.break
4)按下ctrl+x启动系统,进入switch_root模式
5)switch_root模式:将原有系统的 / 根目录以只读模式挂载在/sysroot/目录下,修改root密码必须将原有系统的 / 根目录挂载为可读写模式
# mount -l | grep /sysroot
#mount -o remount,rw /sysroot
7) 剩下就是切换根目录,修改密码,创建.autorelabel
chroot /sysroot
LANG=en #如遇到下图中显示方块,可先停止退出passwd命令,临时修改系统语言
passwd root
touch /.autorelabel
最后退出重启即可!
exit
reboot