红联Linux门户
Linux帮助

VMWare报错"指定的文件不是虚拟磁盘"的解决办法

发布时间:2016-03-16 11:07:39来源:linux网站作者:风水月

今天打开原来创建的虚拟机,突然报错”指定的文件不是虚拟磁盘”或“The file specified is not a virtual disk”,如下图:

VMWare报错"指定的文件不是虚拟磁盘"的解决办法

由于之前这个虚拟机创建了快照,因此下面的解决方法是基于快照的。


1.打开虚拟机的.vmx文件,我的虚拟机名字为”Ubuntu Desktop 14.04 TLS.vmx”,将scsi0:0.present = “TRUE”改为“FALSE”,如下图:

VMWare报错"指定的文件不是虚拟磁盘"的解决办法


2.上面那步相当于将硬盘从虚拟机中移除,在vmware workstations中打开该虚拟机,我们在设备一栏中将找不到硬盘,如下图:

VMWare报错"指定的文件不是虚拟磁盘"的解决办法


3.进行快照恢复,如下图:

VMWare报错"指定的文件不是虚拟磁盘"的解决办法

通过上面步骤即可完成虚拟机的修复。


注:
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”删除即可。

下图是我的虚拟机磁盘的目录:

VMWare报错"指定的文件不是虚拟磁盘"的解决办法


如果scsi0:0.fileName写的正确,任然可以修改scsi0:0.present 值为FALSE,直接启动,不用快照修复也可以正常启动了(但是关机重启后会报找不到操作系统的错误,可以启动是在上次虚拟机状态是挂起的状态下)

官网上有篇文章可以看看,文章截图如下:

VMWare报错"指定的文件不是虚拟磁盘"的解决办法


本文永久更新地址:http://www.linuxdiyf.com/linux/18982.html