wdc 发表于 2025-1-16 19:03:54

打不开磁盘”H:\新建文件夹\SteLine10.0\SteLine10.vmdk“或它所依赖的某个

一、客户使用的Vmware workstation虚拟机,做为公司的ERP服务器使用,但是今天虚拟机奔溃了。



虚拟机也没有做过快照。



显示SyteLine10.vmdk 无法直接打开。请打开虚拟机配置文件.vmx。显示vmdk虚拟磁盘文件无法正常打开。

挂载vmdk文件,显示,指定的文件不是虚拟磁盘。

一、案例一:有的人说,将磁盘当前先改成FALSE,然后再恢复快照。关键是客户没有快照。
二、案例二
今天打开原来创建的虚拟机,突然报错”指定的文件不是虚拟磁盘”,如下图:

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

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,直接启动,不用快照修复也可以正常启动了(但是关机重启后会报找不到操作系统的错误,可以启动是在上次虚拟机状态是挂起的状态下)
经过一翻斗争,又报如下错误,打不开磁盘”H:\新建文件夹\SteLine10.0\SteLine10.vmdk“或它所依赖的某个快照磁盘。模块”Disk“启动失败。





案例三、有的人说要把USB控制器移除,还是报同样的错。



案例四:
要把vmci0.preset="TRUE"改成”FALSE“




最后查看日志,发现在关联SyteLine10.0\SyteLine10-s029.vmdk。报错。

SPARSECHK:pointed to by multiple GETS


Grain#449@65536 is pointed   to by multiple GTEs
最后通过研究解决了。
页: [1]
查看完整版本: 打不开磁盘”H:\新建文件夹\SteLine10.0\SteLine10.vmdk“或它所依赖的某个