VMware配置文件*.wmx文件损坏的解决办法

tech2022-09-28  126

前言:

对于VMware虚拟机配置文件(.vmx)损坏

大家发生问题的原因可能跟我不一样,但是解决方法应该是一样的.

但是本方法仅适用.vmx文件损坏而其他文件完好无损的情况。

 

问题发生:

最近一直在研究hadoop,今天刚搭建完HBase,用的时候就感觉速度很慢,结果在执行HBase shell的时候,卡住不动了。然后就报错了错误信息...忘记了内容了...然后虚拟机就崩溃了,然后这个虚拟机再也打不开了,提示我的.vmx文件已损坏。

 

VMware虚拟机中使用.vmx文件保存虚拟机的所有软硬件配置,如果意外损坏的话将会出现不能正常打开虚拟机的故障.

 

我的情况:

vmware版本是10,

虚拟机是linux系统:CentOS release 6.4

.vmx文件名为:CentOS.vmx

 

查看日志文件:

打开虚拟机目录下的vmware.log文件

我在log日志最后部分,发现了下面这两句话。

....................................................................................................................................

2014-11-01T21:51:09.100+08:00| vmx| W110: Minidump failed: There is not enough space on the disk

 

2014-11-01T21:51:09.137+08:00| vmx| I120: CoreDump error: Write, page 0x113 (0xffffffff) No space left on device

....................................................................................................................................

显而易见,是磁盘空间不足,导致写数据的时候出错了。最终导致配置CentOS.vmx出错。

 

解决思路:

1.将.vmx文件删除(别删错了!!!),然后新建一个同样名字的.vmx文件,我的是CentOS.vmx;

2.找到“ DICT --- CONFIGURATION”(前面是日期和时间的信息);

3.找到“ DICT --- USER DEFAULTS”(前面是日期和时间的信息);

4.将这两行的之间的数据复制出来(上面提到的两行不需要复制);

5.黏贴到.vmx文件(我的是CentOS.vmx)中;

6.删除CentOS.vmx文件中所有行的前边的日期时间标志,仅保留后面的信息,例如:

2014-11-01T20:50:32.963+08:00| vmx| I120: DICT            config.version = "8"

将“2014-11-01T20:50:32.963+08:00| vmx| I120: DICT”部分删除,只保留config.version = "8";

ps:如果你自己不知道简单的删除列的方法,我推荐使用NotePad++,按出Alt,就可以选择列,然后将表示时间的标志的列全部删除。然后全选,Tab+Shift可以将所有内容左移,最后让前面的空格全部去除,达到日志信息左对齐的效果。

7.照上边格式全部修改,然后给所有行的等号后的字符加上英文双引号(注意不要使用中文输入法的双引号)

       例如:config.version = 8 改为config.version = "8"

如果你跟我一样,已经有英文双引号,就不需要添加了;

8.保存.vmx文件(CentOS.vmx);

9.重新打开.vmx文件(CentOS.vmx);

10.OK,启动虚拟机。

 

最后附上,修改过的CentOS.vmx文件的部分内容(首+尾,中间省略了):

...........................................................................

config.version = "8" virtualHW.version = "8" scsi0.present = "TRUE" scsi0.virtualDev = "lsilogic" memsize = "256" scsi0:0.present = "TRUE" scsi0:0.fileName = "CentOS-000010.vmdk" ide1:0.present = "TRUE" ide1:0.fileName = "auto detect" ide1:0.deviceType = "cdrom-raw" floppy0.startConnected = "FALSE"

.

.

.

checkpoint.vmState.readOnly = "FALSE" gui.lastPoweredViewMode = "fullscreen" ide0:0.present = "FALSE" usb:0.present = "TRUE" usb:0.deviceType = "hid" usb:0.port = "0" usb:0.parent = "-1"

最新回复(0)