2015/01/23

HAXM 無法安裝的問題

在 Win7 64-bit 上安裝 HAXM (Intel Hardware Accelerated Execution Manager) 報錯,

"This computer meets requirements for HAXM, but VT-x is not turned on..."

Execute Disable Bit 及 Virtualization Technology 均已於BIOS enable.

CPU 確定有 VT-x, 也有 EM64T




用 Processor Identification Utility 確認 VT-x 功能正常:




但用微軟的 Hardware-Assisted Virtualization Detection Tool 檢查, 顯示未啟用 VT-x:



saber-si-pc-soporta-virtualizacion-2

Google 後發現 Intel 官網有列出幾個可能的問題點:


https://software.intel.com/en-us/blogs/2014/03/14/troubleshooting-intel-haxm


  • Make sure you have the latest version of Intel® HAXM.

  • Make sure your system supports VT Technology and that all VT features are enabled in the BIOS. A good utility to check your system's capabilities is: Crystal CPUID

  • Make sure the Execute Disable bit is enabled (and supported). You can run the following command as administrator: >bcdedit /set nx AlwaysOn

  • Make sure "Hyper-V", a Windows feature, is not installed/enabled on your system. Hyper-V captures the VT virtualization capability of the CPU, and HAXM and Hyper-V cannot run at the same time. Read this blog: Creating a "no hypervisor" boot entry.

  • Do you have anything else running on your system that uses VT? (Like VirtualBox?) Same issue as with Hyper-V.




前3點都已確認無誤, 第 4 點提到的 Hyper-V 功能會占用 VT-x 導致安裝失敗, 但 Win7 沒有 Hyper-V...

第 5 點提到其它的軟體也有可能使用 VT-x 導致占用, 只好開始找線索...



最後在 Intel 官網討論區發現嫌犯:

https://software.intel.com/en-us/forums/topic/518041




竟然是 AVAST 這套防毒軟體...

解決方法: 先完全移除 AVAST (只是停用不行), 重開機後安裝 HAXM, 再重新裝回 AVAST.

再次檢查, 終於...

E01Ot



HAXM 的問題解決, 最後來看到底 AVAST 怎會用到 VT-x,

最有可能用到 VT-x 的應該是它的沙盒模式 (Sendbox mode),

這其實是好用的功能, 當安裝不明軟體時, AVAST 會先讓軟體跑在一個虛擬的環境中, 並監控它的安裝行為,

當 AVAST 認為它沒問題才會放行到真正的系統裡.



果然 AVAST 官網討論區有答案:

https://forum.avast.com/index.php?topic=160816.0

官方的某篇回應帖中, 介紹了沙盒模式...
>> sandboxie comparison
Some features are implemented better in sandboxie, some of them in avast. I tried to add features to support web browsers, we also use hardware virtualization CPU feature (VT-x/AMD-v) for sandbox on 64-bit OSes (sandboxie does not) and I think this is very significant difference...

 是的, AVAST 在它的沙盒模式使用了 VT-x 硬體模擬功能...



真相大白, 打完收工.