其它综合-CentOS7 忘记root密码

时间:2022-07-27 04:26:55

CentOS7 忘记root密码

长时间不用的 CentOS 机器再次开机的时候忽然忘记了密码,总不能就重装一台吧,还有好多服务在机器上,于是决定重置root的密码。  

如果是已经开启的机器,需要进行关闭,重新启动。
在启动选择内核版本的时候按上下键,令画面停住。

其它综合-CentOS7 忘记root密码

CentOS7每次会有两个版本的内核供选择,简单的来说就是一个主内核版本,一个副内核版本,如果以后内核升级失败无法使用新内核重启时,可以通过这个界面选择旧内核重启进行修复

言归正传,选择好了内核之后,按下 e 键,进入编辑界面。

其它综合-CentOS7 忘记root密码

找到以 linux16 开头的那一行,在行尾加上如下几句话:

  • 1、如果是物理机,添加:rd.break
  • 2、如果是虚拟机,添加:rd.break console=tty0
    这里我用的是虚拟机,所以添加rd.break console=tty0,如下图所示:

其它综合-CentOS7 忘记root密码

然后按 Ctrl+x 进行启动
进入shell环境之后,进行如下操作:

1、将根目录重新挂载,模式可写

switch_root:/# mount -o rw,remount /sysroot

2、变更目录至根目录下

switch_root:/# chroot /sysroot

3、更改密码

sh-4.2# passwd

4、如果安装的是中文系统,此时会出现乱码,可以根据经验直接输入,也可输入以下命令,当次变更语言为英语

sh-4.2# LANG=en_US

5、如果 SELinux 开启需要更新 SELinux 上下文,只要创建下面的文件即可 

sh-4.2# touch /.autorelabel

6.退出重启

sh-4.2# exit
switch_root:/# exit

详细方法如下:

其它综合-CentOS7 忘记root密码

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