CentOS7 忘记root密码
长时间不用的
CentOS机器再次开机的时候忽然忘记了密码,总不能就重装一台吧,还有好多服务在机器上,于是决定重置root的密码。如果是已经开启的机器,需要进行关闭,重新启动。
在启动选择内核版本的时候按上下键,令画面停住。

CentOS7每次会有两个版本的内核供选择,简单的来说就是一个主内核版本,一个副内核版本,如果以后内核升级失败无法使用新内核重启时,可以通过这个界面选择旧内核重启进行修复言归正传,选择好了内核之后,按下
e键,进入编辑界面。

找到以
linux16开头的那一行,在行尾加上如下几句话:
- 1、如果是物理机,添加:
rd.break- 2、如果是虚拟机,添加:
rd.break console=tty0
这里我用的是虚拟机,所以添加rd.break console=tty0,如下图所示:

然后按
Ctrl+x进行启动
进入shell环境之后,进行如下操作:1、将根目录重新挂载,模式可写
switch_root:/# mount -o rw,remount /sysroot2、变更目录至根目录下
switch_root:/# chroot /sysroot3、更改密码
sh-4.2# passwd4、如果安装的是中文系统,此时会出现乱码,可以根据经验直接输入,也可输入以下命令,当次变更语言为英语
sh-4.2# LANG=en_US5、如果
SELinux开启需要更新SELinux上下文,只要创建下面的文件即可sh-4.2# touch /.autorelabel6.退出重启
sh-4.2# exit switch_root:/# exit详细方法如下:

如果需要更新
SELinux上下文,则重启的时间会比较长,有时系统没有提示,不要慌张,系统并没有崩溃。
重启之后即可用新密码进行登录了。