1. 重启CentOS8系统,不停按【向下】方向键。

  2. 按方向键移动光标至第一行。

  3. e键,进入如下界面,移动向下方向键至linux16开头的行。然后按向右的方向键移动,找到ro并将其修改为rw init=/sysroot/bin/bash

  4. 同时按下Ctrl+x键,系统进入如下界面,即**emergency(紧急情况)**模式。

  5. 运行命令chroot /sysroot/切换回原始系统(即我们的centos8),然后即可修改密码,修改完密码运行命令touch /.autorelabel,使SELinux生效,密码生效。如下图。(如果出现如下方块乱码(vmware不支持汉字,所以显示方块),将当前终端语言临时设置为英文即可)。

    /# chroot /sysroot/
    /# LANG=en
    /# passwd
    /# touch /.autorelabel
    
  6. 同时按下Ctrl+d键,输入reboot,回车,系统重新启动。

  7. 重启系统后,输入新设置的密码就可正常登录系统了。

原文引用: Centos8忘记密码的解决办法(非救援模式)