服务器与大带宽专家 · 持牌IDC/CDN/ISP服务商
简米科技官网JIANMI TECH
资讯 2026-11-05 简米科技 3,767 字 9 分钟阅读

虚拟机的root密码忘了怎么办,如何重置虚拟机root权限?

导读虚拟机的root密码忘了并不需要重装系统,通过单用户模式、救援模式或云控制台重置三种主流方法都能重新拿回root权限,下文按场景给出完整操作步骤,虚拟机root密码忘了怎么办?先分清楚你的虚拟机类型很多朋友一看到“root密码错误”就直接准备重装系统,其实这属于过度反应,虚拟机重置root密码的难度,取决于你手……

虚拟机的root密码忘了并不需要重装系统,通过单用户模式、救援模式或云控制台重置三种主流方法都能重新拿回root权限,下文按场景给出完整操作步骤。

虚拟机root密码忘了怎么办?先分清楚你的虚拟机类型

很多朋友一看到“root密码错误”就直接准备重装系统,其实这属于过度反应,虚拟机重置root密码的难度,取决于你手里还握着什么“钥匙”,如果虚拟机跑在本地VMware或VirtualBox上,宿主机就在你眼前,操作空间非常大,如果是云服务器,没有宿主机,只能依赖云厂商提供的控制台功能,思路又不一样。

我把日常遇到的情况分成三类,你自己对号入座:

  • 本地虚拟机:VMware Workstation、VirtualBox这类软件创建的虚机,宿主机是你自己的电脑或内网服务器。
  • 云虚拟机:简米云、酷番云、AWS等云主机,本质也是虚拟机,但只能通过网页控制台或API操作。
  • 无快照、无救援模式的极端情况:这类场景最麻烦,但也不是没办法,后面我会说。

注意一点,重置root密码与重置Windows管理员密码逻辑不同,Linux系统的密码认证通过/etc/shadow文件管理,只要你能进入一个不受登录认证限制的环境,就能直接改写这个文件,所以思路永远是:绕开登录环节,而不是破解密码。

重置虚拟机root权限的三种可靠方法

行业共识是,Linux重置密码的首选方案为“单用户模式”,因为它最快,不需要额外文件系统层面的操作,但不同系统版本和引导方式细节有差异,我用最容易成功的三个方法来说明。

通过单用户模式直接重置密码

这个方法适用于大多数使用GRUB引导的Linux发行版,比如CentOS 7、Ubuntu 16.04及更早版本,操作核心是:在开机时进入GRUB菜单,修改内核启动参数,让系统直接以单用户模式(相当于root shell)启动。

以典型的CentOS 7虚拟机为例,具体步骤如下:

  1. 启动虚拟机,在出现GRUB启动界面的瞬间,按键盘上的e键进入编辑页面。
  2. 找到以linux16或linux开头的那一行,定位到行尾的ro参数。
  3. 把ro改为rw(让根文件系统以读写方式挂载),然后在行尾追加init=/bin/bash或single,追加init=/bin/bash更稳定,它会让内核直接执行bash,而不是启动inittab里的服务。
  4. 按Ctrl+X或F10引导启动,稍等片刻,你就得到了一个root shell。
  5. 输入命令passwd root,按提示输入两遍新密码。
  6. 执行touch /.autorelabel(针对SELinux开启的系统,让重启后自动重新标记文件安全上下文),然后执行exec /sbin/init或直接重启虚拟机。

这里要提醒你,修改GRUB参数前建议先拍快照,万一操作失误导致引导损坏,还能回滚,如果虚拟机运行的是CentOS 8/RHEL 8及以上版本,方法略有不同,需要把启动参数改为rd.break,进入一个真正的RAM disk环境,然后执行mount -o remount,rw /sysroot,再用chroot /sysroot切换到系统环境,最后执行passwd root,很多新手在这步卡住,是因为忘了先重新挂载根目录,导致提示“只读文件系统”。

用救援模式挂载根分区修改密码

如果虚拟机使用的是LVM逻辑卷,或者你找不到GRUB菜单(比如开机速度太快),可以改用应急模式或救援模式,RHEL/CentOS 7自带的救援模式很强大,适合“虚拟机root密码重置方法”的高级用户。

步骤如下:

  1. 挂载系统安装光盘镜像或ISO文件,启动虚拟机,在BOOT菜单里选择“Troubleshooting” → “Rescue a CentOS Linux system”。
  2. 系统会提示选择语言、键盘布局,一路默认,直到提示是否需要挂载根文件系统,选择1(Continue)继续。
  3. 救援模式会把系统根目录挂载到/mnt/sysimage,此时执行chroot /mnt/sysimage,切换到真实系统环境。
  4. 执行passwd root重置密码,如果系统启用了SELinux,执行touch /.autorelabel。
  5. 输入exit退出chroot,再输入reboot重启。

这个方法比单用户模式更“啰嗦”,但胜在兼容性好,即使引导分区损坏,只要内核和initramfs还在,就能进入救援环境,对于使用Ubuntu Server 18.04+的用户,也可以用Ubuntu安装盘的“Try Ubuntu”模式,挂载根分区后修改/etc/shadow文件,具体命令为:

sudo mount /dev/sdb1 /mnt
sudo chroot /mnt
passwd root

快照回滚或克隆副本降级恢复

这是最省事、但依赖前期准备的方法,如果你在虚拟机创建后或每次修改重要配置前都做过快照,那么忘记root密码后,直接恢复到密码已知的时间点即可。

  • 在VMware Workstation中:右键虚拟机 → “快照” → “快照管理器” → 选择最近一个正常快照 → “转到”。
  • 在VirtualBox中:点击“控制” → “恢复备份” → 选择快照。

回滚快照不会影响虚拟机的整体存在,但会丢失快照之后产生的所有数据变更,比如你新装的软件、写入的文件、改过的配置,因此这个方案更适合“测试环境”,生产环境慎用。

如果没有快照,还可以克隆一个虚拟机副本,然后对克隆体做密码重置操作,等成功后再把数据导回原系统,这个“曲线救国”的路子也属于“重置虚拟机root权限”的常见备选方案,但操作成本较高。

云服务器root密码忘了怎么办?控制台操作别再折腾镜像

如果你的“虚拟机”其实是简米云、酷番云或华为云的ECS主机,请立刻放弃“改GRUB”的想法,云厂商默认不允许你在网页VNC里随意中断启动流程,因为安全规则和底层架构都不一样,正确姿势是用云控制台的重置密码功能。

以简米云为例:

  1. 登录云服务器ECS管理控制台,在实例列表中找到目标实例。
  2. 点击“更多” → “密码/密钥” → “重置实例密码”。
  3. 设置新的root密码,注意密码强度要求:长度8-30位,必须包含大写、小写、数字和特殊符号中的三类。
  4. 提交后,重启实例使密码生效,如果实例运行的是旧版本操作系统,可能需要根据提示强制重启。

酷番云的操作路径类似:“实例” → “重置密码”,这个功能是免费的,不涉及“虚拟机root密码重置多少钱”的疑问,但要注意,如果实例已经绑定了密钥对,重置密码后,用密码登录时可能仍会被拒绝,因为sshd配置优先认证密钥,此时需要修改/etc/ssh/sshd_config中的PasswordAuthentication为yes,或者直接使用密钥登录。

还有一类情况是云服务器连控制台都进不去,比如网络配置错误、SSH端口被封,这时可以尝试使用云厂商提供的VNC登录功能,在网页端模拟出一个终端,VNC登录后即可看到本地控制台界面,按正常方式登录或执行重置操作,部分云厂商还提供“救援连接”或“紧急登录”能力,本质也是类似VMware的救援模式。

重置密码时容易踩的坑

很多用户按教程操作,发现密码明明改了,重启却怎么都登不上,常见原因有三个:

  • 忘记执行touch /.autorelabel,SELinux开启时,如果直接把passwd写进了shadow文件,但没有更新安全上下文,系统重启后可能无法正常解析新密码,执行该命令可以避免这个问题。
  • 单用户模式修改后没有正确退出,执行exec /sbin/init或reboot之前,要确保所有写入都同步到磁盘,快速按电源按钮强制重启可能导致修改丢失。
  • 密码过短或太简单,现代Linux发行版默认启用PAM密码质量检查,passwd命令会拒绝高强度规则之外的密码,建议设置12位以上,包含大小写字母和数字。

在修改/etc/shadow文件时,建议先备份:cp /etc/shadow /etc/shadow.bak,如果后续出现意外,还能恢复现场。

虚拟机的root密码忘了?常见问题解答

Q1:重置root密码会影响虚拟机里的数据和已安装的软件吗?

不会,重置密码只是修改/etc/shadow文件中的密码哈希值,不影响文件系统、软件包和用户数据,唯一需要注意的是,如果通过快照回滚方式重置,快照之后的增量数据会丢失。

Q2:物理服务器忘记root密码能用同样的方法吗?

可以,物理服务器同样适用单用户模式和救援模式,操作思路与虚拟机完全一致,区别在于物理机需要连接显示器,或者在启动时通过IPMI远程控制台访问GRUB界面,如果物理机启用了全盘加密(如LUKS),则需要在单用户模式之前先解锁磁盘,步骤稍多。

Q3:重置root密码大概需要多长时间?

本地虚拟机单用户模式通常在5-10分钟内完成,云服务器控制台重置一般也是几分钟内生效,视I/O负载而定,整个过程不涉及额外费用。

分享本文
本文为 简米科技官网 原创,已由运维技术专家审核。转载请注明来源:原文链接
售前咨询 服务热线 售后 邮箱