Warum kann VirtualBox oder VMware unter Windows 10 nicht mit aktiviertem Hyper-V ausgeführt werden?

57

Ich verwende Windows 10 Pro 64-Bit mit aktivierter Hyper-V- und Intel VT-x-Virtualisierungstechnologie. Wenn ich versuche, VirtualBox 64bit auszuführen, geht Windows in ein BSOD über. Wenn ich VMware starte, wird ein Fehler angezeigt.

Warum können VirtualBox und VMware nicht mit aktiviertem Hyper-V ausgeführt werden? Bitte erläutern Sie alle Details, einschließlich Hardware und Software. Ich möchte die interne Ursache dieses Fehlers kennen.

Hier sind einige Ergebnisse von mir. Die meisten Websites empfehlen, einen Starteintrag mit BCDedit hinzuzufügen oder Hyper-V mit BCDedit zu deaktivieren. Beispiel: Erstellen eines Starteintrags ohne Hypervisor . Führen Sie Hyper-V und VirtualBox auf demselben Computer aus . Aber ich kann QEMU mit Hyper-V ausführen . Qemu zeigt keinen Fehler mit Hyper-V und läuft reibungslos.

Biswapriyo
quelle
2
Hyper-V unterstützt keine verschachtelte Virtualisierung (mit Hardwarebeschleunigung). Unter normalen Umständen stürzt es jedoch nicht ab. VirtualBox würde sich beschweren, dass es keine x64-Gäste ausführen kann und das war's. Also stimmt etwas anderes nicht, wie ein fehlerhafter Gerätetreiber oder was auch immer.
Daniel B
Ich sehe, es stürzt tatsächlich ab. Aber nochmal: Das ist nicht normal. Ein Absturz ist niemals normal. Es scheint, dass dies ein Fehler in Hyper-V ist. Sie sollten sich wahrscheinlich mit Microsoft in Verbindung setzen.
Daniel B
Es lohnt sich darauf hinzuweisen, dass QEMU kein Hypervisor ist. Hyper-V funktioniert Unterstützung verschachtelte Virtualisierung.
Ramhound

Antworten:

66

VirtualBox und VMware Workstation (und VMware Player) sind "Level 2-Hypervisoren". Hyper-V und VMware ESXi sind "Level 1-Hypervisoren".

Der Hauptunterschied besteht darin, dass ein Level-2-Hypervisor eine Anwendung ist, die in einem vorhandenen Betriebssystem ausgeführt wird, während der Level-1-Hypervisor das Betriebssystem selbst ist.

Das heißt, wenn Sie Hyper-V aktivieren, wird Ihr Windows 10-Host zu einer virtuellen Maschine. Eine besondere, aber dennoch virtuelle Maschine.

Ihre Frage wäre also eher: "Warum funktionieren VirtualBox und VMware Workstation nicht in einer virtuellen Hyper-V-Maschine?" Man kann antworten, weil als VM die Intel VT-X-Anweisung nicht mehr von Ihrer virtuellen Maschine aus zugänglich ist, sondern nur der Host darauf zugreifen kann.

QEMU funktioniert, weil es keine Virtualisierung, sondern eine Emulation ausführt. Dies ist völlig anders und erklärt, warum QEMU schmerzhaft langsam ist. Virtualisierung ist der Vorgang, bei dem eine vollständig isolierte Maschine in einer anderen ausgeführt wird, jedoch mit Hilfe des Prozessors. Dies setzt voraus, dass die virtuelle Maschine und der Host befehlskompatibel sind.

Emulation ist der Prozess, mit dem jeder Computer in einem laufenden Betriebssystem ausgeführt werden kann. Es gibt keine Plattformbeschränkung. Aus diesem Grund kann QEMU einen ARM-Computer auf einer amd64-Plattform ausführen.

Hinweis: QEMU verfügt über 2 Betriebsarten:

  • Es kann als Emulator arbeiten. Dies ist der oben erläuterte Modus
  • es kann mit Hilfe von KVM als Virtualisierungssoftware arbeiten, wenn die Gastarchitektur mit der des Hosts kompatibel ist und natürlich die VT-Anweisung vorhanden ist.
Veovis
quelle
1
Die Virtualisierung erstellt ein komplettes "falsches" System, mit Ausnahme des Prozessors, bei dem der Hypervisor nur die Prozessorzeit begrenzt, die der VM verwenden kann. Sie können also Arm nur auf einem Arm-Host, x86 auf einem x86 / amd64-Host, amd64 auf einem amd64-Host usw. virtualisieren. Ein Emulator kompiliert jeden Befehl für eine Binärdatei neu, die für eine bestimmte Plattform kompiliert wurde, um auf einer anderen Plattform ausgeführt zu werden. QEMU gehört zur selben Familie wie beispielsweise Konsolenemulatoren (psx, dolphin, virtualboy, project64, MAME ...)
Veovis
Die Virtualisierung (ja, nicht die Emulation) war lange vor der Verfügbarkeit der hardwaregestützten Virtualisierung verfügbar. Es kann beliebig verschachtelt werden.
Daniel B
2
Warum kann VirtualBox "Nested VT-x / AMD-V" nicht nutzen? Ist das eine Einschränkung der Hardware? Von Hyper-V?
user643011
21

Ab dem Build von Windows Redstone 4 kann QEMU unter Hyper-V mithilfe der Windows Hypervisor Platform-API ausgeführt werden .

Der Windows Hypervisor Platform Accelerator (WHPX) wird in QEMU- Patches integriert, die zum Zusammenführen übermittelt werden .

Die Windows Hypervisor Platform API wird in Redstone 4 Build enthalten sein

Die experimentelle Unterstützung für WHPX ist in QEMU 2.12 enthalten

Update: Virtualbox 6.0 unterstützt das WHPX Virtualbox 6.0 Changelog .

Update 2: VMWare wird WHPX in der kommenden Version von VMWare Workstation und Fusion unterstützen. VMware Workstation und Hyper-V - arbeiten zusammen

nkef
quelle
3
Diese API könnte theoretisch auch von VMWare und VirtualBox verwendet werden.
Ramhound
@Ramhound Kann man das mit VirtualBox oder VMware machen? In diesem Artikel wird nur qemu erwähnt.
Biswapriyo
@ Biswapriyo Ich stellte fest, dass VMWare und VirtualBox direkt aus der Dokumentation möglich waren. VMWare und VirtualBox müssten jedoch die notwendigen Änderungen an ihrer Anwendung
vornehmen
Können Sie erklären, wie sich dies von Nested VT-x / AMD-V unterscheidet?
user643011
Die WHPX-Unterstützung für Virtualbox 6.0 ist von hoher Alpha-Qualität. Es funktioniert gerade kaum.
user643011