VMWare中Linux虚拟机非正常关闭后无法启动的解决方案

 

虚拟机长时间挂起重新打开时卡顿,无法开启,或者直接关闭了vmware软件引起的一系列问题。原因是关闭了vmware,但是相应的虚拟机并没有关闭,所以虚拟机不能重开。

 

虚拟机挂起 docker 虚拟机挂起后无法启动_解决方法

解决方案如下:

1,首先删除虚拟机目录中的所有.lck文件夹和一个很大的.vmem文件注①,如果顺利删除,那皆大欢喜,直接重启vmware和虚拟机就ok了,当然一般情况下会出现如下提示

虚拟机挂起 docker 虚拟机挂起后无法启动_虚拟机挂起 docker_02

如图所示,你需要先关闭vmware-vmx.exe进程才可以,那么下一步

2,我们关闭vmware-vmx.exe进程

首先打开任务管理器=>详细信息 中找到vmware-vmx.exe进程,如图:第三行

虚拟机挂起 docker 虚拟机挂起后无法启动_虚拟机挂起 docker_03

 

一般来说我们可以在虚拟机目录中的vmware.log文件中找到该进程的pid,就在第一行,如下图

 

虚拟机挂起 docker 虚拟机挂起后无法启动_重启_04

 

找到vmware-vmx.exe进程后右键接入任务,弹框点结束进程后又会出现一个问题,如图

虚拟机挂起 docker 虚拟机挂起后无法启动_解决方法_05

我们发现无法关闭该进程

3,继续关闭vmware-vmx.exe进程

 上一步我们没有顺利关掉vmware-vmx.exe进程,那么现在我们来试图关闭vmware-vmx.exe进程,一顿搜索之后找到了关闭vmware-vmx.exe进程的方法,如下

 

3.1首先cmd调出命名行操作面板,命令行输入services.msc进入服务,将所有与vmware相关的启动项的属性改为禁用

 

虚拟机挂起 docker 虚拟机挂起后无法启动_解决方案_06

重启系统,就可以关掉vmware-vmx.exe进程了(或者说vmware-vmx.exe进程干脆没有开启),当然关掉之后不要忘了把上面几项改过来,否则每一次都要手动开启太麻烦了

3.2关掉vmware-vmx.exe进程之后我们就可以删除vmem文件了,删除后再度重启系统

 

4、WIN10系统处理方法

   WIN10系统上述方法还是不能关闭vmware-vmx.exe进程。原因是VMware和Hyper-V不兼容导致。
Win10专业版解决方法:
1、控制面板—程序——打开或关闭Windows功能,取消勾选Hyper-V,确定禁用Hyper-V服务。
2、之后重新启动计算机,再运行VM虚拟机即可。
Win10家庭版解决方法:
1、按下WIN+R打开运行,然后输入services.msc回车;
2、在服务中找到 HV主机服务,双击打开设置为禁用

再打开Windows PowerShell(管理员)

运行命令:

bcdedit /set hypervisorlaunchtype off

重启机器就可以删除vmem文件了。

 

5、如果以上方法还不行

如果还是关闭不掉vmware-vmx.exe或者嫌麻烦,可以拷贝整个目录到一个新建立的目录,然后删除目录中的所有.lck文件夹和.vmem文件。然后重新打开虚拟机,选择“我已复制虚拟机”就可以了。

备注:

vmem文件可以理解为虚拟机的状态快照,很大,有2-3G的样子,官方解释为:虚拟内存文件,与windows下pagefile.sys(亦称分页文件)同。当虚拟系统执行关机操作后,vmem文件消失,但挂起关闭时,不消失。一般情况下删掉并无影响,甚至可以通过改配置来阻止虚拟机生成此文件。