在CentOS 7中,如果忘记root密码,可以通过修改系统启动参数进入单用户模式或紧急模式进行重置。以下是两种常用方法,适用于物理机或虚拟机环境:
方法一:通过rd.break参数重置密码
步骤:
-
重启系统并进入GRUB菜单 在开机界面出现时,按任意键停止自动启动,按方向键选择默认启动项(通常为第一行),按
e进入编辑模式 -
修改启动参数 找到以
linux16或linux开头的行,在行末添加rd.break(注意与前后参数用空格隔开),按Ctrl+X启动系统 -
挂载文件系统并切换环境
mount -o remount,rw /sysroot # 挂载根目录为可读写 chroot /sysroot # 切换到系统根目录环境 -
重置密码
passwd root # 输入两次新密码
touch /.autorelabel # 若系统启用SELinux需执行此命令
exit # 退出chroot环境
reboot # 重启系统
方法二:通过init=/bin/sh参数重置密码
步骤:
-
进入GRUB编辑模式 同样在开机界面按
e键编辑启动项,找到linux16行,将ro改为rw init=/bin/sh(或直接在行末追加init=/bin/sh),按Ctrl+X启动 -
挂载根目录并重置密码
mount -o remount,rw / # 确保根目录可写 passwd root # 输入新密码 touch /.autorelabel # 处理SELinux标签 exec /sbin/init # 或直接输入reboot 重启
注意事项
- SELinux处理 若系统启用了SELinux,必须执行
touch /.autorelabel以更新安全上下文,否则可能导致无法登录