忘记root密码有两种解决办法。一种是emergency模式,另一种是rescue模式。
1.emergency模式
这个模式又有人称为单用户模式。使用这种模式,前提是要知道grub密码。一般适用于对虚拟机,对服务器本身进行操作。
(1)开机3S内按上下方向键,目的是为了不让他进入系统,停留在开机界面。
(2)把光标定位在第一行,按字母 “e” 来进行编辑。进入下面的界面:
(3)移动方向键,向下,找到 linux16 开头的行。把 ro 修改为 rw init=/sysroot/bin/bash
(4)按下Ctrl+x进入emergency模式。
chroot /sysroot/ (/sysroot目录就是原始系统,也就是我们的Centos7系统) passwd touch /.autorelabel (没有这个密码不能生效,作用是让SELinux生效,如果不执行,则修改的密码不会生效) exit reboot
2.rescue模式
(1)检查光驱是否是开机启动。
首先把Centos7关机,在VMware选择“虚拟机-电源-启动时进入BIOS”。进入BIOS,选择BOOT,让CD-ROM在最前面。保存并退出。
(2)进入 rescue 模式
在不知道grub密码的情况下,使用光盘光驱U盘的方式来重置root密码,就是救援模式。
进入光驱启动界面,选择 Troubleshooting
选择 Rescue a Red Hat Enterprise Linux system。进入rescue模式。
如图所示,初始系统在 /mnt/sysimage 下面,这和emergency模式的 /sysroot 有点类似。第一个选项是continue。第二个会把初始系统挂载为只读模式,不能写磁盘,这就意味着不能修改配置文件,也就不能更改root密码。第三个会直接出现一个shell。选择第一个。
初始系统已经挂载到 /mnt/sysimages 下面,想要进入初始系统,需要执行 chroot /mnt/sysimage 命令。
chroot /mnt/sysimage 进入初始系统
passwd
exit
reboot
这样就完成修改密码啦~