软件版本:
VMware : 14 pro
Centos: centos7
吐槽:网上目前很多攻略,其中有一些你按照执行还是会提示出错,在紧急模式下甚至提示passwd命令找不到,yum命令找不到,千万不要傻傻去安装下载,只是你没有挂载sysroot目录(文章末尾有详解)。
正文开始:
如果您忘记了 CentOS 7 系统的 root 用户密码,您可以通过以下步骤在 VMware 虚拟机中修改密码:
1. 启动虚拟机:启动 CentOS 7 虚拟机。
2. 进入 GRUB 引导界面:当虚拟机开始引导时,按下任意键来停止自动引导。
3. 编辑启动选项:在 GRUB 引导菜单中,选择 CentOS 7 并按下 e 键进入编辑模式。
4. 修改启动参数:在编辑模式中,找到以 linux 开头的行,并在末尾添加 rd.break。然后按下 Ctrl + X 启动。
5. 挂载根文件系统:系统启动后,会进入 emergency 模式的 shell。运行以下命令挂载根文件系统为可写模式:
6. 更改 root 用户密码:运行以下命令切换到 chroot 环境并使用 passwd 命令修改 root 用户密码:
接下来会让你输入您想要设置的新密码 并 确认输入。
7. 重新生成 SELinux 上下文:运行以下命令重新生成 SELinux 上下文:
8. 退出 chroot 环境:运行以下命令退出 chroot 环境:
9. 重启系统:运行以下命令重启系统:
系统会重新启动,并且您可以使用新设置的 root 密码登录。请记住,在 CentOS 7 中使用这种方法重置密码会重新生成 SELinux 上下文,这可能需要一些时间。
--------------------------------------如果遇到了如下问题----------------------------------------------
如果在修改 CentOS 7 的 root 密码时按下 Ctrl + X 后提示未找到 passwd 命令,可能是因为在您的环境中某些文件系统没有正确挂载,导致系统无法找到所需的命令。
这可能是由于在 chroot 到 /sysroot 后未正确挂载所需的文件系统导致的问题。在执行 chroot /sysroot 之后,应确保 /proc、/sys 和 /dev 等关键文件系统已正确挂载到 /sysroot 中。如果其中任何一个文件系统未正确挂载,您可能会遇到类似的问题。
您可以按照以下步骤检查并确保文件系统已正确挂载:
1. 运行 mount 命令查看当前挂载的文件系统情况。
2. 如果缺少任何文件系统,请手动挂载它们。例如:
3. 然后尝试再次执行 passwd 命令更改 root 密码。
确保在 chroot 到 /sysroot 之后正确挂载了所有必要的文件系统,以便系统能够正常运行命令和访问必要的工具。