Die Antwort von Ben N ist eindeutig die nützlichste und klarste.
Für diejenigen, die sich noch wundern, ist hier jedoch die ganze Geschichte.
Die Virtualisierung erfolgt mit Hardware-Unterstützung der CPU. Da ein virtualisiertes Betriebssystem das Host-Betriebssystem stören würde, da es um dieselben Ressourcen konkurriert, ist ein Mechanismus erforderlich, um zu verhindern, dass der Gast unkontrollierten Zugriff auf die Hardware hat. Dies kann mit Software, langsamen Techniken oder mit Unterstützung der CPU geschehen.
Die hardwaregestützte Virtualisierung wird mit speziellen optionalen Anweisungen implementiert. Informationen hierzu finden Sie in den Kapiteln 23, 24, 25, 26, 27 und 28 des Intel Manual 3B Part 3 . Die Software muss zuerst prüfen, ob diese Anweisungen unterstützt werden, bevor sie verwendet werden.
Aus Sicherheitsgründen hat die CPU ein spezielles Register, es ist ein MSR mit dem Namen IA32_FEATURE_CONTROL , das Bits enthält, die mit der Funktion zum Aktivieren oder Deaktivieren angeben .
Zitieren
Bit 0 ist das Sperrbit. Wenn dieses Bit gelöscht ist, verursacht VMXON eine allgemeine Schutzausnahme. Wenn das Sperrbit gesetzt ist, verursacht WRMSR für dieses MSR eine allgemeine Schutzausnahme. Das MSR kann erst nach einem Neustart geändert werden . Das System-BIOS kann dieses Bit verwenden, um eine Setup-Option für das BIOS bereitzustellen, mit der die Unterstützung für VMX deaktiviert wird. Um die VMX-Unterstützung auf einer Plattform zu aktivieren, muss das BIOS Bit 1, Bit 2 oder beides (siehe unten) sowie das Sperrbit setzen.
Der grundlegende Punkt ist, dass das einmal gesperrte Register erst nach dem Einschalten entsperrt werden kann .
Da BIOS / UEFI an erster Stelle steht, kann es die Virtualisierung deaktivieren, indem die entsprechenden Bits gelöscht und das Register gesperrt werden, bevor ein Betriebssystem dies verhindern kann. Wenn die Virtualisierungsfunktion auf diese Weise deaktiviert wird, meldet die CPU, dass die optionale Befehlserweiterung fehlt (und tatsächlich fehlerhaft ist, wenn sie verwendet wird), und die Software kann die Hardwarevirtualisierung daher nicht verwenden.