我正在嘗試使用 Intel 虛擬化技術和 VT-X 運行 x86 Android 虛擬設備。這些功能是模擬器正確運作所必需的。但是,我似乎無法讓它發揮作用。
非常奇怪的是,作業系統似乎總是與我的 BIOS 設定相矛盾。當 BIOS 中啟用這兩個功能時,Windows 認為它們不可用:
另一方面,當它們在 BIOS 中都被停用時,Windows 認為它們可用。不幸的是,儘管作業系統認為這些功能可用,但我仍然無法啟動模擬器,因為它們在 BIOS 中被有效停用。在這種情況下,當我嘗試啟動模擬器時,我收到此錯誤訊息:
Starting emulator for AVD 'x86_10-inch'
emulator: device fd:1096
HAX is not working and emulator runs in emulation mode
emulator: VT feature is not enabled, HAXM not working.
creating window 0 0 845 528
有時,在重新啟動似乎無數次後,我隨機讓它工作。我有點束手無策,這個問題讓工作效率很低。任何幫助將非常感激!
需要澄清的是,純粹的模擬不是一種選擇。獲得不錯的速度的唯一方法是使用硬體虛擬化。當一切隨機正常工作時,我就可以使用硬體虛擬化啟動虛擬設備,並且運作得很好。
我的規格:
華碩N56J, 英特爾 i7-4700HQ 2.4GHz, Windows 8.1 Pro, 8GB RAM
答案1
對於仍然遇到此問題的任何人,我已經成功解決了它。問題是由以下事實引起的:Intel虛擬化技術和Hyper-V不能同時運行。有多種可能的解決方案,請選擇最適合您的解決方案:
完全禁用系統中的 Hyper-V。
可以透過開啟控制台 -> 程式和功能 -> 開啟或關閉 Windows 功能,然後在清單中取消選擇 Hyper-V,或透過命令提示字元使用下列命令來完成此操作:
Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
請注意,此操作需要具有提升權限的命令提示字元(即管理模式)。若要重新啟用 Hyper-V,請使用下列命令:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V –All
防止 Hyper-V 在系統啟動時執行
對於那些偶爾需要 Hyper-V(例如用於 Windows Phone 模擬)的人來說,這種方式可能會更舒適。若要防止 Hyper-V 自動啟動,請使用下列命令:
bcdedit /set hypervisorlaunchtype off
若要重新啟用自動啟動,請使用下列命令:
bcdedit /set hypervisorlaunchtype auto
同樣,這需要具有提升權限的命令提示字元視窗。
所有這些命令都需要重新啟動才能生效。
答案2
我有類似的問題。 VT-x 功能在 MSR 中已鎖定或無法使用。 VERR_VMX_MSR_LOCKED_OR_DISABLED。我運行 VMBox 多年,但不是這個...我檢查了所有論壇,但沒有任何幫助,直到我意識到我的防毒軟體有更新。所以問題出在新的AVAST防毒軟體。在 AVAST 選項 -> 故障排除 -> 停用硬體虛擬化
重新啟動後,我可以再次啟動 VirtaulBox,VT-x 功能不再被封鎖。
我希望這篇文章也能幫助你們中的一些人。
問候馬丁