解决办法:
到相应的虚拟机目录下删除%虚拟机名字%.vmx.lck文件夹或者其中的文件即可
我们打开任务管理器,会发现vmware.exe和vmware-vmx.exe两个重要的进程。其中vmware-vmx.exe是主程序,虚拟机在这个进程下运行;VMware.exe是外壳程序,负责显示vmware-vmx.exe中运行的虚拟系统并解释传送各种命令和操作,是我们最常用的 VMware用户界面,该程序可重入即同时打开多个。
因为VMware Workstation是可重入的,为了避免同一个虚拟系统同时被多个VMware.exe打开操作,造成错误,所以每个VMware打开相应的虚拟机选项卡时都会先检查该虚拟机根目录下是否有*.vmx.lck的文件夹并验证其中的文件,如果该文件中包含合法生成的uuid(通用唯一识别码),那么将无法打开该虚拟机的选项卡,并出现下面的错误提示:
这个*.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)时生成的,防止多个外壳程序同时请求打开虚拟机。