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空密码,回车。
请使用空密码成功,可以去设置新密码了。
可以配置新密码了