ESXi忘记root密码后重置

声明:本文参考https://www.top-password.com/knowledge/reset-esxi-root-password.html中提到的挂载Ubuntu Live CD来清除ESXi原有密码,使ESXi再启动时可以通过空密码登陆后台,然后重新设置密码。如果英文阅读没问题的可以直接去看原文。

官方KB中虽然说ESXi的root密码只能通过重新安装来重置,但还是有网友成功通过上面提到的办法来重置。

由于物理机操作和拍照比较麻烦,我用ESXi中嵌套安装的ESXi挂载Live CD做演示。

以最新的ESXi7.0 Update1和Ubuntu 20.04 Live CD为例。

假设现在我们忘记root密码,无法登陆后台或者ESXi网页端了。

忘记root密码

关闭ESXi主机,插上Ubuntu Live CD启动盘(可以是光驱,U盘等),我这里是嵌套ESXi,直接挂载ISO。

为ESXi挂载Ubuntu Live CD

开机进入BIOS设置,确保LIVE CD启动在ESXi(硬盘)之前。

ESXi主机BIOS启动顺序

选择Try Ubuntu。

Try Ubuntu

系统加载完毕后,点选Show Applications(左下角)。

Show Applications

搜索并运行gparted。

运行GParted

在ESXi7中我们要找的分区应该是这个BOOTBANK1的/dev/sda5。

找到BOOTBANK1

关闭GParted并运行Terminal。

运行Terminal

运行下面这几行命令,将该分区挂载到/mnt。

sudo -s

mount /dev/sda5 /mnt

cd /mnt

ls

找到我们需要的state.tgz压缩包。

找到state.tgz

然后将压缩包复制到临时目录/tmp,解压,查找local.tgz压缩包。

cp state.tgz /tmp

cd  /tmp

tar xzf  state.tgz

ls

找到了local.tgz压缩包。

找到local.tgz

解压local.tgz进入etc目录,找到shadow文件。

tar xzf local.tgz

ls

cd etc

ls

找到shadow

使用vi或者nano编辑shadow文件,以nano为例。

nano shadow

nano编辑shadow

删除root后面第一个冒号和第二个冒号之间的内容(保留2个冒号)。

删除两个冒号之间的内容

在nano编辑器中,Ctrl+X退出,提示是否保存修改时Y。

保存修改

然后回车(使用当前文件名)。

不修改文件名直接保存

接下来我们退回到etc上级目录,将修改的文件反向的打包压缩并覆盖/mnt/挂载点里的内容,然后取消挂载。

cd ..

tar czf  local.tgz  etc

tar czf  state.tgz  local.tgz

cp  state.tgz  /mnt/

umount  /mnt

用修改内容后的文件替换挂载点里的源文件

这时候物理机可以关闭Ubuntu Live CD系统,并弹出光驱或者拔掉Live CD U盘,我这里在嵌套的ESXi虚拟机设置中把ISO文件停止挂载。

取消挂载Live CD

保存,开机,等待ESXi加载完成。

ESXi启动完成

按F2,使用root空密码,回车。

请使用空密码

成功,可以去设置新密码了。

可以配置新密码了

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据