Intel HAXM a VirtualBox s virtualizáciu VT-X sa nemajú radi

Short story

VirtualBox nevie podporovať virtualizáciu VT-x na Inteloch, ak máte nainštalovanú hardvérovú akceleráciu pre Android SDK (Intel Hardware Accelerated Execution Manager, HAXM).

Smola. Buď rýchly emulátor Androida alebo hardvérovo virtualizovaný VirtualBox.

Long story

Chcel som rozbehať na erárnom Delli Precision M4600ke VirtualBox so 64bitovým Debianom. Po prvom spustení virtuálneho stroja však VirtualBox ohlásil toto:

Klasickým nástrojom na overenie základnej funkčnosti virtualizácie je SecurAble z GRC.com. Ten zistí, či samotný procesor vôbec podporuje virtualizáciu, resp. či nie je nejaký problém s nastavením BIOSu. (Niektoré BIOSy majú virtualizáciu vypnutú, niektoré pre zmenu zapnutú, ale zablokovanú.)

V tomto prípade SecurAble ukázali samé radostné veci.

Ďalší nápad viedol k overeniu nastavení BIOSu: na delláckom BIOSe súvisia s virtualizáciou tri nastavenia:

  • Enable Intel Virtualization Technology, ktorá zapne samotnú virtualizáciu
  • VT for Direct I/O (alias VT-d), ktoré zapne rozšírenú virtualizáciu I/O operácií (bližšie na stránkach Intelu).
  • Trusted Execution (TPM), ktorá ohlasuje širšiu podporu pre hardvérovú podporu zabezpečenia behu jednotlivých procesov.

Niektorí ľudia hlásia, že na beh VT-X je treba zapnúť prvé dve možnosti a vypnúť poslednú možnosť (a následne vypnúť počítač, odpojiť ho od napájania, teda aj vytiahnuť baterku na 30 sekúnd) a následne znovu zapnúť.

U mňa bolo všetko ako má byť, ale VT-x sa nie a nie rozbehnúť.

Ďalšie tradičné overenie je skontrolovať vbox.log v adresári príslušného virtuálneho stroja (na Windowse v C:\Users\POUŽÍVATEĽ\VirtualBox VMs\NÁZOVVIRTUÁLNEHOSTROJA\logs\VBox.log). Veľmi často stačí nájsť zmienku o VT-x, s príslušnou hláškou o vypnutí.

U mňa však ani vidu, ani slychu, log vyzeral v poriadku.

Nakoniec sa ukázalo, že problém je v zmienenom Intel HAXM. Ten si totiž pri štarte Windowsu uzamkne VT-x a VirtualBox sa samozrejme k nej nevie dostať. Nevypúšťa žiadnu hlášku do logu, proste sa nespustí a jediné, čo vás navedie, je „mätúca hláška“ z obrázku vyššie.

Komplexný thread pojednávajúci o problémoch je na fórach Intelu a ukazuje sa, že oprava prebehne v niektorej z budúcich verzií Android SDK (zrejme vo verzii 20).