問題描述:
使用VMware時遇到錯誤:“未能鎖定文件 無法打開磁盤 ..\*.vmdk 或者某一個快照所依賴的磁盤。”
問題出現的原因:
虛擬磁盤(.vmdk)本身有一個磁盤保護機制,為了防止多台虛擬機同時訪問同一個虛擬磁盤(.vmdk)帶來的數據丟失和性能削減方面的隱患,每次啟動虛擬機的時候虛擬機會使用擴展名為.lck(磁盤鎖)文件對虛擬磁盤(.vmdk)進行鎖定保護。當虛擬機關閉時.lck(磁盤鎖)文件自動刪除。但是可能由於您非正常關閉虛擬機,這時虛擬機還沒來得及刪除您系統上的.lck(磁盤鎖)文件,所以當下次您啟動虛擬機的時候出現了上述錯誤。
解決方案:
1、刪除虛擬機配置文件和虛擬磁盤文件夾的所有以.lck結尾的文件以及文件夾。
2、但是很多人發現虛擬機目錄下並沒有*.lck結尾的文件但虛擬機磁盤依然打不開,這是怎么回事呢?
答案其實很簡單,這就和你的文件系統的刪除文件機制有關系(不詳細說明),雖然在表面上看不見(顯示系統文件也如此),但是*.lck卻在你的主控文件表(MFT)中,其實對應的文件早已刪除,只是由於因磁盤文件系統故障,MFT中的對應關聯還在,所以你只要對你的虛擬磁盤所在的磁盤分區進行磁盤檢查(chkdsk ?:/f),過程中你會發現一些提示"CHKDSK發現主控文件表(MFT)位圖中有標記為已分配的可用空間,正在更正文件系統錯誤..."有的磁盤則提示"正在校驗索引頁...,發現*個未被索引的文件..."這就是那個*.lck及其他的虛擬機文件在關閉虛擬機后未被正確刪除(索引殘留)的緣故,當磁盤檢查完成后,你會發現虛擬機磁盤的錯誤提示沒有了。