在 VMware ESXi 5 和 ESXi 4 上重置忘记的 Root 密码

Jacki

忘记了 VMware ESXi 服务器 root 密码?尝试登录您的 ESXi 服务器,但由于某种原因您的 root 密码不再有效?在这里,我们将向您展示一种在 VMware ESXi 5 和 ESXi 4 上重置忘记的 root 密码的方法。但此技巧并未得到 VMware 官方支持,因此您需要自行承担风险。

如何在 VMware ESXi 5 和 ESXi 4 上重置忘记的 Root 密码?

  1. 首先,您需要使用 Linux Live CD 启动 ESXi 服务器。我更喜欢GRML,但任何现场 CD 都可以。当然,您也可以从 USB 记忆棒启动。
  2. 找到包含名为“state.tgz”的文件的分区。对于我的安装,它位于标记为“Hypervisor3”的 VFAT 文件系统上,可以在 GRML 中的“/mnt/Hypervisor3”中访问该文件系统。您可能需要使用以下命令手动安装它

    mount /mnt/Hypervisor3

    另请阅读:在 VMware ESXi 中重置 Root 密码

  3. 将“state.tgz”文件解压到某处。它只包含一个文件,这是另一个名为“local.tgz”的存档。

    cd /tmp
    tar xzf /mnt/Hypervisor3/state.tgz

  4. 解压“local.tgz”,找到一个包含多个配置文件的“etc”目录。

    tar xzf local.tgz

  5. 编辑文件etc/shadow来更改密码。

    vi etc/shadow

    最简单的方法可能是以“root”开头的行替换为您知道密码的另一个用户帐户的行。您只需将行开头(第一个冒号之前)的名称更改为“root”。然后,您将 root 密码设置为您知道的密码。

    或者,您可以完全删除哈希值(第一个冒号和第二个冒号之间的所有内容)并以 root 身份登录服务控制台,无需密码。

  6. 重新打包文件并将修改后的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/

  7. 重新引导回 ESXi,您就完成了。