VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virtual disk”问题
作者:一坨小橙子ovo
文章描述了如何修复VMware虚拟机中出现的“指定的文件不是虚拟磁盘”错误,解决步骤包括修改.vmx文件中的scsi0:0.present值为FALSE,移除硬盘后恢复快照,文章还提到,如果未创建快照,可以通过修改scsi0:0.present值为FALSE并启动虚拟机来解决问题
VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virtual disk”
今天打开原来创建的虚拟机,突然报错”指定的文件不是虚拟磁盘”
如下图:
由于之前这个虚拟机创建了快照,因此下面的解决方法是基于快照的。
1.修改虚拟机的.vmx文件
将scsi0:0.present = “TRUE”改为“FALSE”
如下图:
2.上面那步相当于将硬盘从虚拟机中移除
在VMware workstations中打开该虚拟机
我们在设备一栏中将找不到硬盘
3.恢复快照即可
通过上面步骤即可完成虚拟机的修复。
为什么要将硬盘移除后,在恢复快照?
因为在报”指定的文件不是虚拟磁盘”这个错误时,不删除硬盘进行恢复快照,任然会报””指定的文件不是虚拟磁盘”这个错误。
没有创建过快照,出现””指定的文件不是虚拟磁盘”这个错误可否解决?
看了网上的文章,一般说出现这个错误的原因是:
scsi0:0.fileName = “Ubuntu Desktop 14.04 TLS-000002.vmdk”(这么写是正确的)
这行被写成下面的的文件,多了“-s001”
scsi0:0.fileName = “Ubuntu Desktop 14.04 TLS-000002-s001.vmdk”(这个是错误的)
解决办法是将“-s001”删除即可
如果scsi0:0.fileName写的正确,任然可以修改scsi0:0.present 值为FALSE,直接启动,不用快照修复也可以正常启动了
(但是关机重启后会报找不到操作系统的错误,可以启动是在上次虚拟机状态是挂起的状态下)
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。