這篇博文記錄一個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",重新啓動該虛擬機。這種方法我並沒有測試過,在此做一記錄以備後用。