昨天电脑待机,结果早上发现重启了,虚拟机启动报错,如下
指定的虚拟磁盘需要进行修复
打不开磁盘“00009.vmdk”或它所依赖的某个快照磁盘。
模块Disk 启动失败。
未能启动虚拟机。
查了一下,第一步是删除虚拟机所在目录中的lck文件,“D:\vmware\rocky9”下面,类似这种
完成以上操作有一定几率错误消失,但是概率不大,如果还是报错依旧继续:
找到vmware workstation的安装目录,右键启动一个cmd或者powershell
#到安装目录下,尝试修复
.\vmware-vdiskmanager -R "D:\vmware\rocky9\Rocky Linux 64 位-000009.vmdk"
PS C:\Program Files (x86)\VMware\VMware Workstation> .\vmware-vdiskmanager -R "D:\vmware\rocky9\Rocky Linux 64 位-000009.vmdk"
如果你之前没安装过openssl,这里会报错,提示没有openssl
去下载安装:https://slproweb.com/products/Win32OpenSSL.html
安装过程中记得添加到环境变量。
然后还会报错
PS C:\Program Files (x86)\VMware\VMware Workstation> .\vmware-vdiskmanager -R “D:\vmware\rocky9\Rocky Linux 64 位-000009.vmdk”
SSLConfigLoad: Failed to load OpenSSL config file.
这个报错其实可以忽略,也可以尝试set OPENSSL_CONF,不过这个无所谓
C:\Program Files (x86)\VMware\VMware Workstation>
set OPENSSL_CONF="C:\OpenSSL-Win64\bin\openssl.cfg"
# 再次修复
.\vmware-vdiskmanager -R "D:\vmware\rocky9\Rocky Linux 64 位-000009.vmdk"
# 如果提示successfully那就成功了
# 如果还是报错,就需要用-e而不是-R,这个参数可以展示具体的错误信息
# 我这里的错误提示是,9这个文件依赖11,那我就去修复11,具体见下图。
# 修复完11,再尝试启动虚拟机就成功了
# 用以下命令查看报错的真正原因,比如依赖
.\vmware-vdiskmanager -e "D:\vmware\rocky9\Rocky Linux 64 位-000011.vmdk"
PS C:\Program Files (x86)\VMware\VMware Workstation>
.\vmware-vdiskmanager -R "D:\vmware\rocky9\Rocky Linux 64 位-000009.vmdk"
以上应该是比较完整的解决方案,绝大部分人到这里就能修复成功了。