VMWare虚拟机非正常关闭后无法启动的解决方案
(2011-10-31 21:29:18)这篇博文记录一个VMWare虚拟机非正常关闭后无法启动的解决方案。
我们中心的网站部署在一个Windows XP的虚拟机上,但是由于电源问题,那台虚拟机所在的实体物理机总是重启,有时候就会导致虚拟机系统还没有正常关闭就被迫关机了。机器重启后,虚拟机系统总是无法正常启动,弹出类似下面的错误:
Cannot open the disk ‘C:\VM-machines\Windows XP-001\Windows XP Professional-000001.vmdk’ or one of the snapshot disks it depends on. Reason: Failed to lock the file.
这是由于虚拟磁盘(.vmdk)本身有一个磁盘保护机制,为了防止多台虚拟机同时访问同一个虚拟磁盘(.vmdk)带来的数据丢失和性能削减方面的隐患,每次启动虚拟机的时候虚拟机会使用扩展名为.lck(磁盘锁)文件对虚拟磁盘(.vmdk)进行锁定保护。当虚拟机关闭时.lck(磁盘锁)文件自动删除。但是可能由于您非正常关闭虚拟机,这时虚拟机还没来得及删除您系统上的.lck(磁盘锁)文件,所以当下次您启动虚拟机的时候出现了上述错误。
解决办法一:
1、在VMware该虚拟机路径下的所有.lck文件和文件夹下删除或迁移至其它目录,一般就可以解决了。
2、如果再次启动VMware的Windows Vista系统失败,尝试右键虚拟机出错的系统->Settings->Hardware->Hard Disk->Utilities->Map->映射虚拟硬盘到Z:\
3、断开虚拟硬盘,重新加载,启动。系统就可以正常启动了。
我使用的就是这种解决办法,可以正常启动虚拟机。
解决办法二:
使用记事本打开*.VMX文件上加上一行代码disk.locking = "FALSE",重新启动该虚拟机。这种方法我并没有测试过,在此做一记录以备后用。