解決Ubuntu虛擬機(jī)啟動(dòng)異常解決辦法(心得)
一起床,習(xí)慣性地打開虛擬機(jī)準(zhǔn)備開始學(xué)習(xí),結(jié)果虛擬機(jī)居然在屏幕上扔出這么一個(gè)玩意:

我滴媽呀,這又是啥新鮮玩意呀!沒辦法,只能求助度娘了。度娘說,之所以會(huì)出現(xiàn)這種問題,是因?yàn)樘摂M機(jī)的不正常關(guān)機(jī)導(dǎo)致的,并得出兩種解決辦法,簡單來說就是改文件和刪文件。下面開始解決:
首先,進(jìn)入虛擬機(jī)的安裝目錄:
方法一:找到一個(gè)尾綴為.vmx的文件,我的是Ubuntu14.04.vmx,利用文本工具打開它,找到vmci0.present后,你會(huì)發(fā)現(xiàn)它的值為TURE。接下來需要做的工作就是將其改為FALSE,并保存,然后重啟虛擬機(jī)。不知道為啥,這個(gè)方法在我的電腦是沒奏效,依然顯示文件被鎖定。
方法二:直接刪除尾綴為.lck的文件,大致為三個(gè)

當(dāng)然,需要?jiǎng)h除的.lck文件名會(huì)因?yàn)樘摂M機(jī)的不同而不同,但是認(rèn)準(zhǔn).lck文件尾綴,盤它就對了。在本人的電腦上,刪除這三個(gè)文件,重啟VMware workstation,并重啟出問題的虛擬機(jī),就可以正常開機(jī)了(當(dāng)然,也可以不重啟VMware)。
綜上,如果在遇到這種問題,最簡單快捷的辦法就是刪除.lck文件。但是,作為學(xué)習(xí)者,我們不應(yīng)當(dāng)只停留在解決問題的層面上,而是應(yīng)該更進(jìn)一步弄清楚出現(xiàn)問題的原因,以便以后不再因?yàn)樽约翰恢蓝鴮?dǎo)致這種問題再次出現(xiàn),浪費(fèi)自己的時(shí)間。因此再次求助度娘,得出大致結(jié)論如下:
基于虛擬磁盤的保護(hù)機(jī)制,多臺(tái)虛擬機(jī)不能同時(shí)訪問同一個(gè)虛擬磁盤,該機(jī)制通過一個(gè).lck文件對此盤進(jìn)行加鎖保護(hù)。當(dāng)一個(gè)虛擬機(jī)正在對一個(gè)虛擬磁盤進(jìn)行操作時(shí),它會(huì)通過.lck文件對該虛擬磁盤進(jìn)行加鎖,防止其他虛擬機(jī)對其進(jìn)行操作。在該機(jī)制下,系統(tǒng)正常關(guān)機(jī)時(shí),虛擬機(jī)會(huì)將自己加鎖的虛擬磁盤進(jìn)行解鎖,也就是將.lck文件刪除,倘若系統(tǒng)非正常關(guān)機(jī)時(shí),虛擬機(jī)則可能來不及進(jìn)行解鎖操作,導(dǎo)致虛擬磁盤一直被鎖定,這就會(huì)導(dǎo)致系統(tǒng)再次重啟時(shí),無法讀取虛擬磁盤的內(nèi)容,從而造成系統(tǒng)無法正常啟動(dòng)。
因此,我們在關(guān)閉虛擬機(jī)時(shí),應(yīng)當(dāng)遵循先關(guān)虛擬機(jī),再關(guān)閉VMware,最后關(guān)閉電腦,防止出現(xiàn)虛擬機(jī)無法正常啟動(dòng)的情況。