1. 程式人生 > >虛擬機器VMware Workstation 常見問題解決

虛擬機器VMware Workstation 常見問題解決

問題一:VMware 安裝64位作業系統報錯“此主機支援Intel VT-x, 但Intel VT-x處於禁用狀態”

【問題一】VMware 安裝64位作業系統報錯“此主機支援Intel VT-x, 但Intel VT-x 處於禁用狀態”

【現象】

已將該虛擬機器配置為使用 64 位客戶機作業系統。但是,無法執行 64 位操作。

此主機支援 Intel VT-x,但 Intel VT-x 處於禁用狀態。

如果已在 BIOS/韌體設定中禁用 Intel VT-x,或主機自更改此設定後從未重新啟動,則 Intel VT-x 可能被禁用。

(1) 確認 BIOS/韌體設定中啟用了 Intel VT-x 並禁用了“可信執行”。

(2) 如果這兩項 BIOS/韌體設定有一項已更改,請重新啟動主機

(3) 如果您在安裝 VMware Workstation 之後從未重新啟動主機,請重新啟動。

(4) 將主機的 BIOS/韌體更新至最新版本。

技術分享

【解決】

虛擬64位系統,必須支援虛擬化技術。

如果提示:此主機不支援Intel VT-x, 則不可能虛擬出64位系統

如果提示:此主機支援Intel VT-x, 但Intel VT-x處於禁用狀態時,我們只需要在BIOS中開啟VT功能即可。

首先,開啟虛擬化技術支援,需幾個方面的條件支援:晶片組自身支援、BIOS提供支援、處理器自身支援、作業系統支援。

  • 作業系統方面,主流作業系統均支援VMM管理,因此無需考慮。

  • 而晶片組方面,從Intel 945(除上網本外)時代開始均已經支援,因此也無需考慮。

  • CPU方面,可以通過Intel官方網站進行查詢即可判斷。

  • 因此,更多的是從BIOS檢視是否支援。CPU是預設不開啟VT的,需要自己手動在BIOS中修改

  1. bios的cpu高階選項中開啟intel虛擬化技術(Intel VT-x)。

  2. 有些bios還需要到security中intel虛擬化技術。

  • 檢視CPU是否支援虛擬化技術,可以使用 Securable進行判斷是否支援虛擬化

技術分享

  • 或者使用 CPU-Z 軟體檢視

技術分享

  • 開啟BIOS的虛擬化功能(因為主機板型號不同,所以需要根據實際情況操作)

注意:調整的是物理機(宿主機)的bios哦,不是虛擬機器的!

Phoenix BIOS:

技術分享

Insyde BIOS

技術分享

華碩UEFI BIOS

華碩主機板BIOS UEFI BIOS 開啟VT步驟

  • 開機時按 F2 進入BIOS設定

  • 進入 Advanced(高階選單)

  • 進入CPU Configuration(處理器設定)

  • 將 Intel Virtualization Technology(Intel虛擬化技術),把它改為Enabled(啟用)

  • 按 F10 儲存設定

  • 按 ESC 退出 BIOS 設定

技術分享

中文介面

技術分享

【問題二】This virtual machine appears to be in use.

【現象】

  這可能是 VMware Workstation的一個Bug,當VMware Workstation中的 virtual machine正在執行卻被異常關機或者重啟。導致當我們再次重啟 virtual machine時,會提示“The Virtual Machine Appears to be in use”,無法啟動虛擬機器。

技術分享

  PS:這個lck檔案是虛擬機器的磁碟鎖檔案,我們知道虛擬機器的磁碟與主機的磁碟是共存的,只是由於採用特定的虛擬機制,使二者互不影響。在使用虛擬機器時,vmware就會生成若干磁碟鎖檔案,用以保護當前虛擬機器佔用的磁碟不會被主機或者其它虛擬機器佔用修改。在正常關閉虛擬機器後,vmware會自動刪除這個鎖。可是少數情況下,例如主機突然崩潰、非正常關機等,vmware就不能夠刪除lck磁碟鎖檔案。所以下次再啟動虛擬機器時,vmware還會誤認為需要啟動的虛擬系統已經正在執行,就出現了上面的this virtual machine appears to be in use 的錯誤。刪除該檔案後就能夠恢復正常。

【解決】

修復的辦法很簡單,到相應的虛擬機器目錄下刪除%虛擬機器名字 %.vmx.lck資料夾或者其中的檔案即可,如還出錯,需把宿主機也重啟。

  • Yes, if you are certain that the guest is truly not running, go to the guest‘s folder and delete any .lck files and folders. Delete the folders with .lck file extension.

  • If you can’t delete these files, make sure to close VMware workstation program and then try.

  • After deleting above .lck folders and files, I could able to successfully start virtual machine on VMware workstation 10.

【更多】  

  當我們執行虛擬機器,然後開啟工作管理員,會發現vmware.exe和vmware-vmx.exe兩個重要的程序

  • 其中vmware-vmx.exe是主程式,虛擬機器在這個程序下執行;

  • VMware.exe是外殼程式,負責顯示vmware-vmx.exe中執行的虛擬系統並解釋傳送各種命令和操作,是我們最常用的VMware使用者介面,該程式可重入即同時開啟多個。

  因為VMware Workstation是可重入的,為了避免同一個虛擬系統同時被多個VMware.exe開啟操作,造成錯誤,所以每個VMware開啟相應的虛擬機器選項卡時都會先檢查該虛擬機器根目錄下是否有*.vmx.lck的資料夾並驗證其中的檔案,如果該檔案中包含合法生成的uuid(通用唯一識別碼),那麼將無法開啟該虛擬機器的選項卡,並出現下面的錯誤提示:

技術分享

Take Ownership之後會出現以下提示:

技術分享

  如果沒有相應的合法檔案,就會在該虛擬機器根目錄下生成*.vmx.lck資料夾,並在該資料夾下生成一個包含uuid的*.lck檔案,開啟虛擬機器選項卡,並從主程式接收顯示資訊。

  這個*.lck檔案可以用記事本編輯。裡面是uuid={一串字母數字},uuid是通用唯一識別碼 (Universally Unique Identifier),它的特點就是唯一性。為的是同時只有一個vmware.exe能接受主程式的顯示,並對虛擬機器操作。lck是lock的縮寫,即對請求資源的鎖定。

  virtual machine建立成功後,實際上只有三種是主要檔案:.VMX檔案是虛擬機器的引數檔案,.VMDK檔案是虛擬機器的磁碟檔案。其它檔案均虛擬機器啟動後生成,正常退出後虛擬機器會自動刪除這些檔案,每次虛擬機器啟動時都會檢測這些是否存在,如果存在就提示錯誤(即一個虛擬機器不允許被同時開啟兩次)。 這種錯誤一般是因為虛擬機器非正常關機引起的!

  VMware 虛擬機器在執行時會在相應的虛擬機器目錄下生成至少三個 *.vmx.lck,*.vmdk.lck,*.vmem.lck 資料夾,裡面包含以*.lck命名的檔案。 其中的*.vmx.lck是伴隨vmware.exe中選項卡的開啟時生成的;另外兩個是關於虛擬磁碟和記憶體的使用的,它們伴隨著虛擬系統的執行而產生。如果關閉VMware.exe讓虛擬機器在後臺執行,*.vmx.lck資料夾會消失另外兩個則不會。

  在VMware.exe中開啟某個虛擬機器選項卡時,會短暫生成*.vmsd.lck的資料夾,估計這個是在最初傳送資料(send data)時生成的,防止多個外殼程式同時請求開啟虛擬機器。

【問題三】The VMware Authorization Service is not running.

【現象】

開啟虛擬機器報錯(如下圖),啟動虛擬機器因出現以下錯誤而失敗:

技術分享

【解決】

原因:

當 VMware Authorization 服務未處於執行狀態或者該服務不具有管理員許可權時,可能會出現此問題。

為解決此問題,請啟動該服務,並確保它確有管理員許可權。

要啟動 VMware Authorization 服務或檢查它是否處於執行狀態,請按以下步驟操作:

  1. 以管理員身份登入到 Windows 作業系統。

  2. 單擊開始,再單擊執行

  3. 鍵入services.msc,然後單擊確定

  4. 向下滾動隨即顯示的列表,找到 VMware Authorization 服務

  5. 單擊啟動此服務,除非此服務所顯示的狀態已經是已啟動。

注意:VMware Authorization 服務依賴於 Windows Management Instrumentation 服務。該服務必須也處於執行狀態。如果 VMware Authorization 服務無法啟動或者啟動後又停止,請找到並啟動 Windows Management Instrumentation 服務。

如果 VMware Authorization 服務顯示的狀態為已啟動,則說明此服務可能沒有管理員許可權。要向 VMware Authorization 服務提供管理員許可權

開始-執行,輸入: services.msc, 開啟“服務”。找到VMware Authorization Service服務,把此服務啟動,並且修改其屬性,把啟動型別修改為“自動”。

技術分享