Een blik op VT technologie perikelen

Developers en Testers die regelmatig werken met virtual machine (VM) software (VMWare, VirtualBox) of Android emulators (BlueStacks / NoxPlayer) kennen vast het issue dat de virtualisatiesoftware niet werkt. Dit kan komen door problemen met de VT technologie van de CPU.

 

 

In de meeste gevallen is sprake van vier hoofdoorzaken:

  1. Het apparaat ondersteunt simpelweg geen VT technologie
  2. Compatibiliteitsproblemen
  3. Microsoft Hyper-V is geïnstalleerd (en heeft VT technologie expliciet in gebruik)
  4. (Andere) software heeft de VT technologie expliciet in gebruik

De eerste drie opties zijn relatief simpel op te lossen, maar met name punt 4 kan een uitdaging zijn. Het uitzoeken welke software conflicteert. De hardware matige virtualisatietechnologie (VT) kan maar door één hypervisor gebruikt worden, echter het is niet direct te zien wie de boosdoener is.

In mijn geval werkte een Androidemulator niet meer na een recente Windows update. De machine ondersteunt VT technologie en Hyper-V is niet geïnstalleerd.

Een mogelijkheid is simpelweg de hardware matige VT technologie structureel uit te schakelen in de BIOS, alleen dit is niet gewenst. Hardware matige VT technologie biedt namelijk tal van performance voordelen.

Een manier om te achterhalen wat de boosdoener is, is de VT technologie in de BIOS uit te schakelen. Vervolgens opnieuw op te starten en te kijken in de Logboeken – Beheergebeurtenissen welke software niet meer start door het ontbreken van de VT ondersteuning.

In mijn geval vond ik de volgende melding:

De beleidscontrole voor activering van beveiliging op basis van virtualisatie in fase 0 is mislukt met status: Virtual Secure Mode (VSM) is niet geïnitialiseerd. De hypervisor of VSM is mogelijk niet aanwezig of ingeschakeld.

Virtual Secure Mode (VSM) is een set aan beveiligingsfeatures van Microsoft die o.a. gebruik maakt van de Hyper-V Core engine voor kernisolatie (beveiliging op basis van virtualisatie), ook al is deze niet geïnstalleerd.

Vervolgens schakelde ik de VT technologie in de BIOS weer in en controleerde de systeeminformatie.

Start – Uitvoeren – MSINFO32.EXE

Deze tool toont diverse systeem informatie, waaronder ook of ‘beveiliging op basis van virtualisatie’ actief is. In dit geval was dit de boosdoener.

De kernisolatie is uit te schakelen door middel van het starten van Apparaat beveiliging vanuit het Start menu.

En vervolgens de geheugenintegriteitsoptie uit te zetten. Na rebooten was dit probleem verholpen en werkte de emulator weer als vanouds.

Het is niet gewenst de extra beveiligingslaag tegen malware uit te schakelen. In een professionele omgeving wordt dit zelfs afgedwongen. Het is dan de vraag of dit in dit geval een oplossing is of dat de leverancier met een oplossing moet komen.