CentOS 7虚拟机忘记用户名和密码时,可通过3种方法快速找回:一是进入单用户模式,通过修改grub引导参数重置root密码;二是利用救援模式,挂载系统后手动更新密码文件;三是通过虚拟机控制台(如VMware的vSphere Client或KVM的virt-manager)交互式登录修改,操作前建议备份重要数据,避免误操作导致系统异常,这些方法均无需重装系统,可有效解决登录问题,适用于忘记本地用户或管理员密码的场景。
在管理CentOS 7虚拟机时,尤其是刚接触Linux的新手,难免会遇到忘记用户名或密码的尴尬情况,别慌!本文将介绍3种实用的方法,帮你快速重置CentOS 7的用户名和密码,重新获得虚拟机的访问权限。
常见场景:为什么会忘记用户名/密码?
忘记用户名或密码通常发生在以下场景:
- 多人共用虚拟机,记不清自己的登录信息;
- 长时间未使用虚拟机,遗忘登录凭据;
- 自定义安装时设置了复杂的用户名/密码,未妥善记录。
无论是忘记用户名还是密码,以下方法都能帮你解决。

方法一:通过GRUB引导菜单进入单用户模式(重置密码)
适用场景:记得用户名,但忘记密码;需要root权限重置其他用户密码。
核心原理:通过修改GRUB引导参数,让系统在启动时进入单用户模式(无需密码即可获得root shell),从而重置密码。
详细步骤:
-
重启虚拟机,进入GRUB引导界面
开机时,快速按下Esc或Shift键(不同虚拟化平台可能略有差异,如VMware按Esc,VirtualBox按Shift),进入GRUB引导菜单。 -
编辑引导参数
在GRUB菜单中,选择CentOS Linux (7.x) (内核版本)(通常第一个选项),按下e键进入编辑模式。 -
修改内核启动参数
找到以linux16或linuxefi开头的行(具体取决于启动模式),将行末尾的ro改为rw init=/sysroot/bin/sh,然后按Ctrl+X启动。- 参数说明:
ro(只读模式)改为rw(读写模式):允许修改系统文件;init=/sysroot/bin/sh:启动后直接进入/sysroot目录下的shell(单用户模式)。
- 参数说明:
-
重置密码
系统启动后会进入一个简单的shell界面,输入以下命令:chroot /sysroot # 切换到系统的实际根目录
根据你的需求选择操作:
- 重置root密码:
passwd root # 按提示输入新密码(两次)
- 重置普通用户密码(假设用户名为
test):passwd test # 按提示输入新密码(两次)
- 重置root密码:
-
更新系统信息并重启
完成密码修改后,执行以下命令退出并重启:touch /.autorelabel # 可选:如果SELinux启用,此命令会重新标记文件权限(避免权限问题) exit reboot
方法二:使用救援模式(Rescue Mode)重置
适用场景:GRUB菜单无法修改、系统文件损坏,或需要更底层的修复。
核心原理:通过CentOS安装ISO文件进入救援模式,挂载系统根目录后重置密码。
详细步骤:
-
挂载CentOS 7 ISO文件
在虚拟机管理界面(如VMware、VirtualBox)的“设置”中,将“CD/DVD”设备连接到CentOS 7的ISO安装文件(提前下载好对应版本的ISO)。 -
启动进入救援模式
重启虚拟机,在GRUB菜单中选择Install CentOS 7(或类似选项),按Tab键进入编辑模式,在末尾添加rescue,然后按Enter启动。 -
进入救援环境
等待系统加载后,选择语言、键盘布局,进入救援模式的主界面,选择1(Continue),系统会自动尝试挂载根目录(如果失败,需手动指定)。 -
切换到系统根目录
系统挂载完成后,会提示Chroot into /mnt/sysimage,输入以下命令进入系统环境:chroot /mnt/sysimage
-
重置密码
与方法一类似,使用passwd命令重置目标用户密码:passwd root # 重置root密码 # 或 passwd username # 重置普通用户密码
-
退出并重启
完成后执行:exit reboot
开机时记得断开ISO文件(避免再次进入救援模式)。
方法三:通过虚拟机控制台重置(仅限特定平台)
适用场景:虚拟化平台(如VMware、VirtualBox)提供了“重置密码”功能,无需手动修改引导参数。
核心原理:利用虚拟机管理工具内置的密码重置功能,直接修改系统密码文件。
详细步骤(以VMware为例):
-
关闭虚拟机
确保虚拟机处于关机状态。 -
打开虚拟机配置文件
在VMware中选中虚拟机,右键选择“设置”→“选项”→“高级”→“常规”,勾选“启动时输入BIOS设置”或直接使用VMware的“重置密码”功能(部分版本支持)。 -
使用VMware密码重置工具
- 如果VMware版本支持(如VMware Workstation Pro 15+),可以直接右键虚拟机→“管理”→“重置root密码”,按提示操作即可。
- 若不支持,可通过VMware的“vix”工具或手动修改虚拟机磁盘文件(需专业操作,新手不建议)。
VirtualBox操作:
VirtualBox没有直接的重置密码功能,需通过方法一(GRUB)或方法二(救援模式)操作。
注意事项
-
提前备份重要数据
修改密码前,建议备份虚拟机中的重要文件,避免操作失误导致数据丢失。 -
SELinux权限问题
如果系统启用了SELinux(CentOS 7默认启用),修改密码后建议执行touch /.autorelabel(方法一),确保文件权限正确,否则可能无法登录。 -
用户名忘记怎么办?
如果忘记用户名,可在单用户模式或救援模式下,通过以下命令查看系统用户列表:cat /etc/passwd | grep "/bin/bash" # 查看可登录的用户(默认shell为/bin/bash)
输出结果中,每行格式为
用户名:密码:UID:GID:描述:家目录:shell,找到自己的用户名后再修改密码。 -
避免再次遗忘
建议使用密码管理工具(如KeePass、1Password)记录登录信息,或设置简单的密码(测试环境)并妥善保管。
忘记CentOS 7虚拟机的用户名或密码虽然麻烦,但通过以上3种方法(GRUB单用户模式、救援模式、虚拟机平台工具)都能轻松解决。GRUB单用户模式是最常用且高效的方法,适合大多数场景;如果系统文件损坏或GRUB无法修改,可尝试救援模式;虚拟机平台工具则适合需要快速操作的情况。
希望本文能帮你快速解决问题,重新获得虚拟机的访问权限!如果有疑问,欢迎留言交流~


