今天打开原来创建的虚拟机,突然报错”指定的文件不是虚拟磁盘”,如下图:
错误

由于之前这个虚拟机创建了快照,因此下面的解决方法是基于快照的。
1.打开虚拟机的.vmx文件,我的虚拟机名字为”Ubuntu Desktop 14.04 TLS.vmx”,将scsi0:0.present = “TRUE”改为“FALSE”,如下图:
vmx
2.上面那步相当于将硬盘从虚拟机中移除,在vmware workstations中打开该虚拟机,我们在设备一栏中将找不到硬盘,如下图:
设备
3.进行快照恢复,如下图:
恢复
通过上面步骤即可完成虚拟机的修复。

注:
1.为什么要将硬盘移除后,在恢复快照?
因为在报”指定的文件不是虚拟磁盘”这个错误时,不删除硬盘进行恢复快照,任然会报””指定的文件不是虚拟磁盘”这个错误。
2.没有创建过快照,出现””指定的文件不是虚拟磁盘”这个错误可否解决?
看了网上的文章,一般说出现这个错误的原因是:
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,直接启动,不用快照修复也可以正常启动了(但是关机重启后会报找不到操作系统的错误,可以启动是在上次虚拟机状态是挂起的状态下)

官网上有篇文章可以看看,地址为:https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1020887
文章截图如下:
错误解决

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐