启动VMware Player v15提示文件缺失但文件实际存在如何解决
故障根因
- VMware Workstation Player v15本身存在挂起状态校验逻辑bug:执行暂停操作时,程序会生成
.vmss挂起状态内存文件、.lck资源锁文件两类临时文件,要是暂停瞬间主机出现磁盘IO卡顿、安全软件拦截写入、VMware进程意外闪退,就会导致文件的权限标记、内部校验头写入不完整——哪怕你在资源管理器里能看到对应文件在路径下,VMware的启动校验逻辑也会直接判定为文件缺失,弹出报错。 - 手动清挂起状态后故障不消失,基本是清理不彻底导致的:绝大多数用户只删了看得见的
.vmss文件,没删同目录下残留的锁文件,也没改.vmx配置里残留的挂起状态标记,程序启动时还是会优先读挂起相关的配置项,自然继续报错。 - 少数情况是目录权限异常:虚拟机所在文件夹的权限继承出错,当前运行VMware的系统账号没有文件的读取/写入权限,程序做文件存在性校验时会直接返回「文件不存在」的误报,和文件本身在不在没关系。
分步排查修复方案
每做完一步就尝试启动虚拟机,正常启动就不用走后续步骤:
- 全量清理挂起残留文件
先完全退出VMware程序,打开任务管理器结束所有带VMware前缀的后台进程,打开虚拟机对应的存储目录:- 删除所有后缀为
.vmss、.vmem的挂起内存快照文件 - 删除所有后缀为
.lck的文件夹和锁文件(这类都是程序运行时生成的临时锁,删除不会损坏虚拟磁盘里的任何数据)
- 删除所有后缀为
- 清除配置文件里的挂起标记
找到目录里后缀为.vmx的虚拟机配置文件,用记事本/任意纯文本编辑器打开,找到以下两类配置行直接整行删除,保存后关闭文件:
注意:只删带checkpoint.vmState = "xxx.vmss" suspend.directory = "xxx"suspend、vmss关键字的非硬件配置行,不要修改标注了内存、CPU、磁盘容量、硬件地址的配置项,避免触发其他配置故障 - 修复目录权限
Windows主机:右键点击虚拟机存储文件夹,选择「属性-安全」,给当前登录的系统账号添加完全控制权限,勾选「替换子容器和对象的权限项」后确认应用。
Linux主机:在终端执行以下命令递归修复目录权限,把路径替换成你自己的虚拟机存储路径:sudo chown -R $USER:$USER /path/to/your/vm/folder sudo chmod -R 755 /path/to/your/vm/folder - 兜底恢复方案
如果前面操作都无效,不要从VMware的最近虚拟机列表点击启动(列表会缓存旧的挂起状态标记,容易触发校验bug),直接右键点击对应的.vmx文件,选择「打开方式」选中VMware Workstation Player启动。要是还是报错,就新建一个硬件配置(内存、CPU、磁盘版本)和原虚拟机一致的空白虚拟机,创建磁盘时选择「使用现有虚拟磁盘」,挂载原目录下的.vmdk虚拟磁盘文件,就能正常启动,虚拟机内的所有数据都不会丢失。
内容的提问来源于stack exchange,提问作者Tor-Bjarne Henriksen
相关产品推荐
相关产品推荐

