无法载入虚拟机系统

简介:

今天不小心点到自己的脚本,然后自动关机了。那时正在运行虚拟机软件就这样我的虚拟机在没有正常退出的情况下产生以下问题!然后通过自己的百度+分析,终于把问题解决了。乌拉拉!

====================================原因分析===================================

(1)在已经运行虚拟机的S系统情况下,再点击一个新的虚拟机同样载入S系统。这个时候的特征是在任务管理会发现两个vmware.exe(图一),然后产生的警告如图二,错误提示如下(图三)。


ps:vmware.exe和vmware-vmx.exe两个重要的进程。其中vmware-vmx.exe是主程序,虚拟机在这个进程下运行;VMware.exe是外壳程序,负责显示vmware-vmx.exe中运行的虚拟系统并解释传送各种命令和操作,是我们最常用的 VMware用户界面,该程序可重入即同时打开多个。


因为VMware Workstation是可重入的,为了避免同一个虚拟系统同时被多个VMware.exe打开操作,造成错误,所以每个VMware打开相应的虚拟机选项卡时都会先检查该虚拟机根目录下是否有*.vmx.lck的文件夹并验证其中的文件,如果该文果没有相应的合法文件,就会在该虚拟机根目录下生成*.vmx.lck文件夹,并在该文件夹下生成一个包含uuid的*.lck文件,打开虚拟机选项卡,并从主程序接收显示信息。


  这个*.lck文件可以用记事本编辑。里面是uuid={一串字母数字},uuid是通用唯一识别码 (Universally Unique Identifier),它的特点就是唯一性。为的是同时只有一个vmware.exe能接受主程序的显示,并对虚拟机操作。lck是lock的缩写,即对请求资源的锁定。


  VMware 虚拟机在运行时会在相应的虚拟机目录下生成三个文件*.vmx.lck,*.vmdk.lck,*.vmem.lck文件夹,里面包含以*.lck命名的文件。 其中的*.vmx.lck是伴随vmware.exe中选项卡的打开时生成的;另外两个是关于虚拟磁盘和内存的使用的,它们伴随着虚拟系统的运行而产生。如果关闭VMware.exe让虚拟机在后台运行,*.vmx.lck文件夹会消失另外两个则不会。

文件中包含合法生成的uuid(通用唯一识别码)

000435450.png

那么将无法打开该虚拟机的选项卡(图二)。假如我们点击"Take Ownership"之后会出现以下提示(图三):

000450914.png(图一)


000448244.png(图二)


000452382.png(图三)


===================================解决方案===========================================

这个时候你打开子系统所在的目录,你会发现一些后缀名为lck的文件夹(图四)。删除%虚拟机名字%.vmx.lck文件夹或者其中的文件即可。

注意:%虚拟机名字%为你的虚拟机名称,比如在图四则应该删除Windows XP Professional.vmx.lck即可,之后再启动虚拟机就行了。


000428382.png图四


(2)Unable to open kernel device "\\.\Global\vmx86": 系统找不到指定的文件. Did you reboot after installing VMware Workstation


错误提示:如图五,但是图五这种情况得细分。


000431324.png图五


[1]不能找到我们虚拟机主进程vmware-vmx.exe(图六),导致我们无法使用虚拟机。


000433681.png图六


这个的特征很容易判断:我们可以尝试启动一下其他的子系统,假如都无法正常启动!则可以确定使我们的虚拟机出问题了。并且在系统进程你将无法看见我们的虚拟机的主进程vmware-vmx.exe(图七)。而正常的应该是图八,可以看见vmware-vmx.exe和vmware.exe。


000437950.png(图七)


000455249.png(图八)


===================================解决方案========================================

这时候不需要重新安装我们的虚拟机,只需要我们找到我们安装虚拟机的安装包。双击进入图九,然后选择图九中的修复(repair)即可。修复成功后如图十,图十一是成功后的载入界面。

000441513.png图九

000443673.png图十

000446256.png图十一

[2]其他情况的解决,

解决方法一:

对虚拟机相对应的.vmx文件进行编辑修改。(图十二)

找到这一行: vmci0.present = "TRUE"(图十三)

将 TRUE 改为 FALSE

或者 直接将这行删除。

保存此虚拟机的.vmx文件。

重新运行虚拟机。OK。


004630891.png图十二


004632964.png图十三


解决方法二:(不过话说这个我肿么找不到呢?英文版没有么?)

在vm软件界面上,编辑虚拟机设置。

在 虚拟机设置 -> 选项 -> 客户机隔离 ->VM通信接口(VMCI)

把启用VMCI的钩去掉。

点击确定保存。

重新运行虚拟机。OK。

解决方法三:

在命令行处输入命令“net start vmci”,执行。

重新运行虚拟机。OK。

执行成功后VM可以启动,但是虚拟机回报错“vmnet0:系统找不到指定的文件”。

解决方案为:

一(已试成功)

命令行执行“NET START VMNETUSERIF”,“NET START VMNETBRIDGE”。

二(待试)

安全模式下修改[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\intelppm]

将"Start"=dword:00000001 改成"Start"=dword:00000004

在出现 Unable to open kernel device "\\.\Global\vmx86 "后关闭VMWARE

运行 net start vmx86










本文转自 qq414207614 51CTO博客,原文链接:http://blog.51cto.com/skytina/1337931,如需转载请自行联系原作者
目录
相关文章
|
23天前
|
Ubuntu Windows
【Ubuntu/Arm】Ubuntu 系统如何链接有线网络(非虚拟机)?
【Ubuntu/Arm】Ubuntu 系统如何链接有线网络(非虚拟机)?
|
6月前
|
Linux Shell 数据安全/隐私保护
超简单五步实现Linux虚拟机CentOS 7系统Root密码忘记重置
超简单五步实现Linux虚拟机CentOS 7系统Root密码忘记重置
810 0
|
7月前
|
Linux 程序员 数据安全/隐私保护
【Linux系列】使用虚拟机安装Linux系统
【Linux系列】使用虚拟机安装Linux系统
|
8月前
|
Ubuntu 数据安全/隐私保护 芯片
M1/M2芯片Parallels Desktop虚拟机安装Ubuntu系统
M1/M2芯片Parallels Desktop虚拟机安装Ubuntu系统
416 0
M1/M2芯片Parallels Desktop虚拟机安装Ubuntu系统
|
23天前
|
Ubuntu Linux 网络安全
【ubuntu】MobaXtem远程登录ubuntu系统(或虚拟机)
【ubuntu】MobaXtem远程登录ubuntu系统(或虚拟机)
|
23天前
【嵌入式】虚拟机未能将管道连接到虚拟机: 系统找不到指定的文件
【嵌入式】虚拟机未能将管道连接到虚拟机: 系统找不到指定的文件
|
1月前
|
关系型数据库 MySQL 数据库
虚拟机Linux-Centos系统网络配置常用命令+Docker 的常用命令
虚拟机Linux-Centos系统网络配置常用命令+Docker 的常用命令
43 0
|
1月前
|
Ubuntu 搜索推荐 数据挖掘
下载Ubantu镜像文件、创建虚拟机以及ubantu安装详细教程(系统性学习day1)
下载Ubantu镜像文件、创建虚拟机以及ubantu安装详细教程(系统性学习day1)
|
6月前
|
Linux 虚拟化
VMware虚拟机中Linux系统磁盘空间扩容实战
VMware虚拟机中Linux系统磁盘空间扩容实战
303 0
|
9月前
|
存储 测试技术 KVM
创建台虚拟机并安装上window10系统(NETBASE 第一课)
创建台虚拟机并安装上window10系统(NETBASE 第一课)
93 0