在 VMware ESXi 5 和 ESXi 4 上重置忘记的 Root 密码
忘记了 VMware ESXi 服务器 root 密码?尝试登录您的 ESXi 服务器,但由于某种原因您的 root 密码不再有效?在这里,我们将向您展示一种在 VMware ESXi 5 和 ESXi 4 上重置忘记的 root 密码的方法。但此技巧并未得到 VMware 官方支持,因此您需要自行承担风险。
如何在 VMware ESXi 5 和 ESXi 4 上重置忘记的 Root 密码?
- 首先,您需要使用 Linux Live CD 启动 ESXi 服务器。我更喜欢GRML,但任何现场 CD 都可以。当然,您也可以从 USB 记忆棒启动。
- 找到包含名为“state.tgz”的文件的分区。对于我的安装,它位于标记为“Hypervisor3”的 VFAT 文件系统上,可以在 GRML 中的“/mnt/Hypervisor3”中访问该文件系统。您可能需要使用以下命令手动安装它
mount /mnt/Hypervisor3 - 将“state.tgz”文件解压到某处。它只包含一个文件,这是另一个名为“local.tgz”的存档。
cd /tmp
tar xzf /mnt/Hypervisor3/state.tgz - 解压“local.tgz”,找到一个包含多个配置文件的“etc”目录。
tar xzf local.tgz - 编辑文件etc/shadow来更改密码。
vi etc/shadow最简单的方法可能是以“root”开头的行替换为您知道密码的另一个用户帐户的行。您只需将行开头(第一个冒号之前)的名称更改为“root”。然后,您将 root 密码设置为您知道的密码。
或者,您可以完全删除哈希值(第一个冒号和第二个冒号之间的所有内容)并以 root 身份登录服务控制台,无需密码。

- 重新打包文件并将修改后的state.tgz移回VFAT分区。制作原始 state.tgz 的备份副本可能是个好主意,以防出现问题:
mv /mnt/Hypervisor3/state.tgz /mnt/Hypervisor3/state.tgz.bak
rm local.tgz
tar czf local.tgz etc
tar czf state.tgz local.tgz
mv state.tgz /mnt/Hypervisor3/ - 重新引导回 ESXi,您就完成了。
