现在的位置: 首页 > 综合 > 正文

VMWARE非法关闭的启动错误

2014年05月19日 ⁄ 综合 ⁄ 共 1616字 ⁄ 字号 评论关闭

电脑突然死机,只好重启,重启后

虚拟机突然打不开已安装的linux镜像,提示出下面一个对话框,点确定还是打不开,出现下边提示框:

看到网上解决方案,把虚拟机安装目录下的.lck文件删除即可启动。另发现虽然能启动,但在其安装下仍然有.lck的文件。好像应该再没有影响了

下边是我在别处看到的,分析的很详细,拷贝的这里共参考

断电或强制退出后VMware虚拟机出现The virtual machine appears to be in use无法启动问题解决  

一、产生问题的原理

 到相应的虚拟机目录下删除%虚拟机名字%.vmx.lck文件夹或者其中的文件即可

        遇见:

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

        因为VMware Workstation是可重入的,为了避免同一个虚拟系统同时被多个VMware.exe打开操作,造成错误,所以每个VMware打开相应的虚拟机选项卡时都会先检查该虚拟机根目录下是否有*.vmx.lck的文件夹并验证其中的文件,如果该文件中包含合法生成的uuid(通用唯一识别

 码),那么将无法打开该虚拟机的选项卡,并出现下面的错误提示:断电或强制退出后VMware虚拟机出现The virtual machine appears to be in use无法启动问题解决 - chenyujing1234 - 陈毓靖的博客

 Take Ownership之后会出现以下提示:

断电或强制退出后VMware虚拟机出现The virtual machine appears to be in use无法启动问题解决 - chenyujing1234 - 陈毓靖的博客

如果没有相应的合法文件,就会在该虚拟机根目录下生成*.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文件夹会消失另外两个则不会

        在VMware.exe中打开某个虚拟机选项卡时,会短暂生成*.vmsd.lck的文件夹,估计这个是在最初传送数据(send data)时生成的,防止多个外壳程序同时请求打开虚拟机。

断电或强制退出后VMware虚拟机出现The virtual machine appears to be in use无法启动问题解决 - chenyujing1234 - 陈毓靖的博客
 

断电或强制退出后VMware虚拟机出现The virtual machine appears to be in use无法启动问题解决 - chenyujing1234 - 陈毓靖的博客
 
 

二、解决方法

虚拟器非正常断电后容易出现"This virtual machine appears to be in use"的错误而不能正常引导,解决办法是删除VMWare虚拟机安装目录下面的所有的.lck目录和文件,后重新开启,如还出错,需整机重启

 

PS: 这个lck文件是虚拟机的磁盘锁文件,我们知道虚拟机的磁盘与主机的磁盘是共存的,只是由于采用特定的虚拟机制,使二者互不影响。在使用虚拟机时,vmware就会生成若干磁盘锁文件,用以保护当前虚拟机占用的磁盘不会被主机或者其它虚拟机占用修改。在正常关闭虚拟机后,vmware会自动删除这个锁。可是少数情况下,例如主机突然崩溃、非正常关机等,vmware就不能够删除lck磁盘锁文件。所以下次再启动虚拟机时,vmware还会误认为需要启动的虚拟系统已经正在运行,就出现了上面的this virtual machine appears to be in use 的错误。删除该文件后就能够恢复正常。

抱歉!评论已关闭.