第三
在虚拟化环境中,VMware ESXI的root密码是管理员的核心“钥匙”。然而,密码遗忘或丢失的情况时有发生,可能导致无法登录主机、管理虚拟机,甚至影响业务连续性。本文将基于实战经验,详细解析ESXI密码重置方法,助你快速恢复系统访问。
本文主要通过 Linux救援模式修改VMware ESXI7.0.1中的shadow文件来重置密码,并且VMware ESXI系统配置不会丢失。数据无价,建议先备份数据,然后再根据本文操作,以免误操作造成数据丢失。(ps:其他版本的VMware ESXI并没有进行测试,VMware ESXI 7后面的版本开始有加密,暂时无法解密,所以本文的方法就不可行了。可以尝试使用官方说明通过重新安装来重置root密码,但是这样操作VMware ESXI主机的相关配置信息会全部丢失,就剩内部的虚拟机了)
本文主要通过ubuntu live CD来操作,具体方法如下:
1.进入Ubuntu live CD
选中Try or Install Ubuntu回车
选择Try Ubuntu
在终端中输入gparted查看硬盘分区,我们需要的分区一般是BOOTBANK1的/dev/sda5。
2.挂载/dev/sda5
为了方便操作我切换成了root来进行后面的操作。
ubuntu@ubuntu:~$ sudo passwd root
New password:
Retype new password:
passwd: password updated successfully
ubuntu@ubuntu:~$ su root
Password:
root@ubuntu:~#
root@ubuntu:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 2.5G 1 loop /rofs
loop1 7:1 0 63.3M 1 loop /snap/core20/1822
loop2 7:2 0 4K 1 loop /snap/bare/5
loop3 7:3 0 346.3M 1 loop /snap/gnome-3-38-2004/119
loop4 7:4 0 240.6M 1 loop /snap/firefox/2356
loop5 7:5 0 49.8M 1 loop /snap/snapd/18357
loop6 7:6 0 45.9M 1 loop /snap/snap-store/638
loop7 7:7 0 91.7M 1 loop /snap/gtk-common-themes/1535
loop8 7:8 0 304K 1 loop /snap/snapd-desktop-integration/49
sda 8:0 0 142G 0 disk
├─sda1 8:1 0 100M 0 part
├─sda5 8:5 0 4G 0 part
├─sda6 8:6 0 4G 0 part
├─sda7 8:7 0 119.9G 0 part
└─sda8 8:8 0 14G 0 part
sdb 8:16 0 50G 0 disk
└─sdb1 8:17 0 50G 0 part
sr0 11:0 1 4.6G 0 rom /cdrom
挂载/dev/sda5到/mnt
root@ubuntu:~# mount /dev/sda5 /mnt
root@ubuntu:~# df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 1.3G 1.8M 1.3G 1% /run
/dev/sr0 4.6G 4.6G 0 100% /cdrom
/cow 6.4G 300M 6.1G 5% /
tmpfs 6.4G 0 6.4G 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 6.4G 0 6.4G 0% /tmp
tmpfs 1.3G 140K 1.3G 1% /run/user/999
tmpfs 1.3G 68K 1.3G 1% /run/user/0
/dev/sda5 4.0G 173M 3.9G 5% /mnt
3.将/mnt下的state.tgz压缩包备份并解压到/tmp
root@ubuntu:~# cd /mnt
查看是否有state.tgz压缩包
root@ubuntu:/mnt# ls
b.b00 features.gz lpfc.v00 mtip32xx.v00 nvmxnet3.v00 qfle3.v00 useropts.gz
bnxtnet.v00 gc.v00 lpnic.v00 native_m.v00 nvmxnet3.v01 qflge.v00 vdfs.v00
bnxtroce.v00 i40en.v00 lsimr3.v00 ne1000.v00 onetime.tgz qlnative.v00 vim.v00
boot.cfg i40iwn.v00 lsimsgpt.v00 nenic.v00 payload.v00 rste.v00 vmkata.v00
brcmfcoe.v00 icen.v00 lsi_msgp.v00 nfnic.v00 preupgrade-state.tgz sb.v00 vmkfcoe.v00
brcmnvme.v00 igbn.v00 lsi_msgp.v01 nhpsa.v00 procfs.b00 sfvmk.v00 vmkusb.v00
btldr.v00 imgdb.tgz lsuv2_hp.v00 nmlx4_co.v00 pvscsi.v00 smartpqi.v00 vmw_ahci.v00
crx.v00 intelnvm.v00 lsuv2_in.v00 nmlx4_en.v00 qcnic.v00 state.tgz vmware_e.v00
elx_esx_.v00 iser.v00 lsuv2_ls.v00 nmlx4_rd.v00 qedentv.v00 s.v00 vmx.v00
elxiscsi.v00 ixgben.v00 lsuv2_nv.v00 nmlx5cor.v00 qedf.v00 tpmesxup.v00 vsanheal.v00
elxnet.v00 jumpstrt.gz lsuv2_oe.v00 nmlx5rdm.v00 qedi.v00 tpm.v00 vsanmgmt.v00
esx_dvfi.v00 k.b00 lsuv2_oe.v01 ntg3.v00 qedrntv.v00 uc_amd.b00 vsan.v00
esx_ui.v00 lnvcusto.v00 lsuv2_oe.v02 nvme_pci.v00 qfle3f.v00 uc_hygon.b00 weaselin.v00
esxupdt.v00 loadesx.v00 lsuv2_sm.v00 nvmerdma.v00 qfle3i.v00 uc_intel.b00 xorg.v00
将state.tgz备份
root@ubuntu:/mnt# cp state.tgz state.tgz.bak
将state.tgz复制到/opt
root@ubuntu:/mnt# cp state.tgz /opt
root@ubuntu:/mnt# cd /opt
root@ubuntu:/opt# ls
state.tgz
解压state.tgz
root@ubuntu:/opt# tar xzf state.tgz
root@ubuntu:/opt# ls
local.tgz state.tgz
解压local.tgz
root@ubuntu:/opt# tar xzf local.tgz
root@ubuntu:/opt# ls
etc local.tgz state.tgz var
root@ubuntu:/opt#
4.修改shadow文件
root@ubuntu:/tmp# cd etc
可以看到etc文件夹里的shadow文件
root@ubuntu:/tmp/etc# ls
chkconfig.db hosts random-seed security shadow vmsyslog.conf vmware
dhclient-vmk0.leases krb5.conf resolv.conf sfcb ssh vmsyslog.conf.d
编辑shadow文件,并按下面的图片修改内容
root@ubuntu:/tmp/etc# nano shadow
可以看到第一行的root,将前两个冒号之间的全部删除,这是关于root密码的字段内容。
删除后如下图所示,然后保存退出
修改完成
root@ubuntu:/tmp/etc# cat shadow
root::20208:0:99999:7:::
dcui:*:13358:0:99999:7:::
vpxuser:*:14875:0:99999:7:::
把修改后的文件再打包回去,然后替换挂载点里的源文件
返回到上一级目录
root@ubuntu:/opt/etc# cd ..
root@ubuntu:/opt# ls
etc local.tgz state.tgz var
root@ubuntu:/opt# tar czf local.tgz etc
root@ubuntu:/opt# tar czf state.tgz local.tgz
root@ubuntu:/opt# cp state.tgz /mnt/卸载文件
root@ubuntu:/opt# umount /mnt
重启
root@ubuntu:/opt# reboot
- 重启进入系统查看是否清除root密码
按F2,若密码清楚成功,则此时root的密码就是为空了。现在直接回车,就可直接进入ESXI。
可以看到回车后直接进入了ESXI设置界面,在这边可以重新设置新的密码
选中Configure Password,然后就可以修改新密码了
这样VMware ESXI7.0.1的root密码就成功重置成功了!