Die Tiefen der Windows-Virtualisierung (Teil 1) — Wo läuft Ihr Windows eigentlich? Hypervisor und Partitionen

· Aktualisiert am: · · Windows, Virtualisierung, Hyper-V, Hypervisor, SLAT, VMBus

Änderungsverlauf (Erstfassung, veröffentlicht am 22. Aug 2026)
Erstveröffentlichung
Diesen Artikel zitieren(DOI (registriertes Archiv): 10.5281/zenodo.22176833)

Die folgenden DOIs verweisen auf bereits archivierte Versionen, die vom aktuellen Text abweichen können. Verwenden Sie die URL dieser Seite, um auf den aktuellen Text zu verweisen.

Go Komura (2026). Die Tiefen der Windows-Virtualisierung (Teil 1) — Wo läuft Ihr Windows eigentlich? Hypervisor und Partitionen. KomuraSoft LLC. https://comcomponent.com/de/blog/windows-virtualization-internals-hypervisor/

DOI (registriertes Archiv)
10.5281/zenodo.22176833
DOI (zuletzt registrierte Version)
10.5281/zenodo.22176834

Sie haben nie eine einzige VM angelegt, und doch zeigt die Systeminformation (msinfo32) unter Windows 11 „Virtualisierungsbasierte Sicherheit: Wird ausgeführt“. Was bedeutet diese Anzeige?

Auf diesem PC läuft das Host-Windows selbst bereits auf einem Hypervisor. Unter Windows 11 ist VBS auf Konfigurationen, die die Bedingungen erfüllen — etwa eine Neuinstallation auf kompatibler Hardware —, standardmäßig aktiviert, und diese Grundlage wird genutzt, auch wenn Sie nie eine VM anlegen.1 WSL2 und Windows Sandbox nutzen denselben Windows-Hypervisor.

Teil 1 erklärt wo das Host-Windows landet, wenn Sie Hyper-V aktivieren, anhand der Rollenteilung bei CPU, Speicher und Geräte-E/A. Es ist die Folge, die zuerst die Sicht „VM-Software sitzt auf Windows“ zurechtrückt.

„Die Tiefen der Windows-Virtualisierung“ — Alle 3 Teile

Wir betrachten denselben Windows-Hypervisor in der Reihenfolge Grundlage → Sicherheitsisolierung → Anwendung auf leichte VMs.

Teil Zentrale Frage
Teil 1: Hypervisor und Partitionen (dieser Artikel) Wo läuft das Host-Windows?
Teil 2: VBS, HVCI und Credential Guard Wohin legt man ein Geheimnis, das selbst der Kernel nicht lesen kann?
Teil 3: WSL2, Windows Sandbox und Container Warum lässt es sich bei erhaltener Isolierung leicht machen?

Voraussetzungen für diesen Artikel

Punkt Inhalt
Zielgruppe Entwickler und Betreiber, die die Mechanismen unter Hyper-V, WSL2 und Windows Sandbox verstehen wollen
Umgebung x64-Windows 10/11 oder aktuelles Windows Server. Die Erläuterung von Ringen, VT-x/AMD-V und EPT/RVI setzt x64 voraus; Arm64 nutzt andere Mechanismen wie Exception Levels
Vorkenntnisse Die Unterscheidung von Kernelmodus und Benutzermodus. Weder Betriebserfahrung mit VMs noch Wissen über Hypervisor-Entwicklung ist nötig
Schwierigkeit und Umfang Mittelstufe. Behandelt den Begriff der CPU-Virtualisierungsunterstützung, ohne in Befehlssatzdetails zu gehen

Wie Sie diesen Artikel lesen

Was Sie wissen möchten Zu lesende Abschnitte
Die Lage von Windows und VMs, CPU-Ausführung und Rollenteilung Abschnitt 1, das Gesamtbild → Abschnitt 2, die CPU → Abschnitt 3, Partitionen
Wer Speicher und Geräte-E/A vermittelt Abschnitt 4, SLAT → Abschnitt 5, VMBus
Die Auswirkung auf PCs ohne VM, und wie Sie Ihren eigenen PC prüfen Abschnitt 6, Alltagsfunktionen und Koexistenz → Abschnitt 7, Prüfverfahren

Die folgende Wissenskarte ist eine Übersicht der Beziehungen. Beim ersten Lesen folgen Sie dem Text ab Abschnitt 1, das Gesamtbild.

In der Abbildung kennzeichnet eine durchgezogene Linie eine stets geltende Beziehung und eine gestrichelte Linie eine bedingte (die Bedingungen stehen bei jeder Beziehung auf der Detailseite). Die vollständige Liste der Beziehungen (22 insgesamt, mit Beleg und Sicherheitsgrad) und die Definitionen der wichtigsten Konzepte sind auf der Detailseite der Wissenskarte (auf Japanisch) zusammengestellt. Daten: JSON-LD / Turtle

1. Zuerst das Fazit

Wenn Leute Hyper-V hören, stellen sie sich vielleicht „VM-Software vor, die auf Windows sitzt“. Die tatsächliche Struktur ist umgekehrt.

Ab dem Moment, in dem Sie Hyper-V aktivieren und neu starten, steuert der Hypervisor die physischen CPUs und den Speicher, und das Host-Windows läuft darauf als erste, privilegierte Partition — die „Root-Partition“.

Ein Hypervisor ist eine dünne Softwareschicht zwischen Hardware und Betriebssystem. Er legt isolierte Ausführungsumgebungen namens „Partitionen“ an und vermittelt den Zugriff auf die Hardware.2 Das Host-Windows geht in die Root-Partition, VMs gehen in Child-Partitionen.

Die Root-Partition wird besonders behandelt (sie hat direkten Zugriff auf physische Geräte und hält den Verwaltungsstack), aber insofern sie die physischen CPUs nicht direkt steuert, steht sie an derselben Stelle wie eine Child-Partition.

Gesamtstruktur nach aktiviertem Hyper-VDer Hypervisor sitzt direkt auf der physischen Hardware, und darüber sitzen die Root-Partition, die das Host-Windows hält, und die Child-Partitionen, die VMs haltenPhysische HardwareHypervisorRoot-Partition (Host-Windows)Child-Partitionen (VMs)Hält den Virtualisierungs-Verwaltungsstack und Gerätetreiber

Abbildung 1: Hyper-V ist nicht „VM-Software auf Windows“, sondern eine Schicht, die unter Windows geht, und das Host-Betriebssystem selbst läuft in der Root-Partition.

Sie könnten denken: „Wenn sich vor und nach dem Aktivieren nichts anders anfühlt, hat eine so große Umkehrung wirklich stattgefunden?“ Sie hat. Genau deshalb fällt diese Struktur meist nicht auf. In diesem Artikel zerlegen wir dieses eine Diagramm von drei Seiten: CPU, Speicher und Geräte-E/A.

2. Von der CPU — Noch ein Privileg unter den Ringen

In der CPU-Diskussion unterscheiden wir die Ringe, die Kernel und Anwendungen trennen, von den Ausführungsmodi, die Hypervisor und Gäste trennen. Die Frage dieses Abschnitts lautet: Der Gastkernel läuft ebenfalls auf Ring 0 — warum kommt es nicht zum Zusammenstoß?

2.1. Eine Wiederholung des Ringschutzes

x64-CPUs haben Privilegstufen (Ringe), und Windows führt den Kernelmodus auf Ring 0 und den Benutzermodus auf Ring 3 aus. Anwendungen können Hardware nicht direkt berühren, weil privilegierte Befehle von Ring 3 aus nicht ausführbar sind.

Wie also bringen Sie mehrere Betriebssystemkerne, die jeweils auf Ring 0 laufen, sicher auf derselben physischen CPU unter? Jeder Kernel ist unter der Annahme geschrieben, „ich steuere die CPU“. Geben Sie allen Ring 0, stoßen sie zusammen; verweigern Sie ihn, laufen sie nicht.

Das Problem mehrerer Betriebssystemkerne, die Ring 0 verlangenSowohl Host- als auch Gastkernel sind unter der Annahme voller Autorität auf Ring 0 geschrieben, sodass die herkömmliche Ringleiter allein sie nicht sicher auf derselben physischen CPU unterbringen kannHost-Kernel (nimmt Ring 0 an)Verlangt die Steuerung der physischen CPUGastkernel (nimmt Ring 0 an)Herkömmliche Ringe allein können das nicht versöhnenEin Vermittler über Ring 0 ist nötig

Abbildung 2: Die Ringleiter wurde unter der Annahme eines einzigen Betriebssystems gebaut; mehrere Kernel unterzubringen braucht ein weiteres Privileg darüber.

2.2. Virtualisierungsunterstützung — Ein Modus, der dem Hypervisor vorbehalten ist

Was dieses Problem löst, ist die Virtualisierungsunterstützung der CPU (Intel VT-x/AMD-V). Hyper-V verlangt einen Prozessor, der dieses Merkmal hat.2 Die Virtualisierungsunterstützung fügt auf einer Achse getrennt von den herkömmlichen Ringen einen „Ausführungsmodus für den Hypervisor“ und einen „Ausführungsmodus für Gäste“ hinzu. Es ist ein noch stärkeres Privileg als Ring 0, manchmal mit dem Spitznamen „Ring −1“.

  • Der Gastkernel läuft weiterhin auf Ring 0, wie bisher. Keine Umschreibung ist nötig.
  • Dieser Ring 0 ist jedoch „Ring 0 innerhalb des Gastmodus“ und steuert nicht die physische CPU als Ganzes.
  • Trifft der Gast auf eine bestimmte Operation, die Eingreifen des Hypervisors verlangt (ein als Intercept konfigurierter Befehl oder eine Ausnahme oder Verletzung), übergibt die CPU die Steuerung automatisch an den Hypervisor (ein VM Exit). Wenn der Hypervisor die Behandlung beendet, kehrt er zum Gast zurück (ein VM Entry). Gewöhnliche Speicherzugriffe gehen ohne VM Exit durch, solange die SLAT-Übersetzung gelingt.

Unterbrechungen funktionieren genauso. Partitionen berühren physische Prozessoren nicht direkt; der Hypervisor empfängt Unterbrechungen und leitet sie an jede Partition.2

Der Ablauf von Gastausführung und VM ExitDer Gastkernel und Apps laufen auf Ring 0 und Ring 3 im Gastmodus; gewöhnliche Speicherzugriffe gehen über SLAT-Übersetzung durch, während als Intercept konfigurierte Operationen und Ausnahmen einen VM Exit auslösen, der die Steuerung an den Hypervisor übergibt, der dann über VM Entry zum Gast zurückkehrtNeinJaAusführung im Gastmodus (inkl. Ring-0-Kernel)Eingriff nötig? (konfigurierte Intercepts/Ausnahmen)Weiter ausführenVM Exit (CPU übergibt die Steuerung)Hypervisor behandelt esRückkehr zum Gast über VM Entry

Abbildung 3: Das Gastbetriebssystem läuft weiter auf Ring 0 ohne Umschreibung, und die CPU ruft den Hypervisor nur bei Bedarf.

Dieses Hin und Zurück ähnelt stark dem Ablauf, den wir in der Speicherreihe verfolgt haben — „beim Seitenfehler in den Kernel eintreten, dann zum selben Befehl zurückkehren“. Die CPU fängt die Steuerung über einen Ausnahme- oder Übergangsmechanismus ab, lässt einen höherstufigen Verwalter entscheiden und kehrt dann zurück. In den Tiefen von Windows erscheint diese Form immer wieder.

2.3. Typ 1 und Typ 2 — Der Unterschied ist, wo es sitzt

Hypervisoren werden grob in Typ 1 (Bare-Metal), der direkt auf der Hardware läuft, und Typ 2 (hosted), der auf einem Host-Betriebssystem läuft, geteilt. Hyper-V ist Typ 1.3 VirtualBox und VMware Workstation (wenn eigenständig ausgeführt) werden als Typ 2 eingeordnet.

Bei Typ 1 neigen Leute dazu, sich „eine nur für Server gedachte Konfiguration ohne Host-Betriebssystem“ vorzustellen, aber Hyper-V ist anders. Das Host-Windows verschwindet nicht — es „zieht um“ in die Root-Partition. Wenn Sie Hyper-V aktivieren und neu starten, startet der Hypervisor beim Booten zuerst, und das Host-Windows kommt dann als Root-Partition darauf hoch.

Der Unterschied zwischen Typ-1- und Typ-2-HypervisorenBei Typ 2 sitzt das Host-Betriebssystem auf der Hardware und der Hypervisor und die VMs sitzen auf dem Host-Betriebssystem, während bei Typ-1-Hyper-V der Hypervisor direkt auf der Hardware sitzt und das Host-Betriebssystem selbst in die Root-Partition darüber gehtTyp 1 (Hyper-V)Typ 2 (hosted)HypervisorHardwareRoot-Partition (Host-OS)VMHost-OSHardwareHypervisorVM

Abbildung 4: Bei Typ 2 sitzt der Hypervisor auf dem Host-Betriebssystem, bei Typ-1-Hyper-V ist die Reihenfolge umgekehrt und das Host-Betriebssystem selbst sitzt auf der Schicht eine Stufe darunter.

Auf einer Boot-Zeitachse sieht die Änderung beim Aktivieren so aus.

Boot-Reihenfolge nach aktiviertem Hyper-VNach dem Einschalten startet der Hypervisor beim Booten zuerst, das Host-Windows kommt dann als Root-Partition darauf hoch, und VMs, VBS und dergleichen starten danachEinschalten und Boot-BeginnHypervisor startet zuerstHost-Windows startet als Root-PartitionVMs, VBS, WSL2 und so weiter starten darüberDie Nutzererfahrung bleibt unverändert

Abbildung 5: Die Umkehrung der Reihenfolge ist schon vor dem Anmeldebildschirm abgeschlossen, und das Host-Betriebssystem kommt von Anfang an auf dem Hypervisor hoch.

3. Partitionen — Die Einheit der Isolierung

Schauen wir uns Partitionen genauer an, die „Kästen“ im Gesamtbild. Was wir hier trennen wollen, ist die Vermittlung von CPU und Speicher, die der Hypervisor direkt übernimmt, von der Geräte-E/A, die normalerweise die Root-Partition vermittelt.

3.1. Rollen, die nur die Root-Partition hat

Eine Partition ist eine logische Isolierungseinheit, die der Hypervisor bereitstellt.2 Nicht jede Partition ist jedoch gleich. Es gibt Dinge, die nur die Root-Partition hat.

Direkter Zugriff auf physische Geräte

Gerätetreiber für Datenträger, NICs, GPUs und dergleichen leben im Windows innerhalb der Root-Partition, nicht im Hypervisor. Hyper-V auf Windows Server hat eine Konfiguration, die ein bestimmtes PCIe-Gerät direkt einer Child-Partition zuweist (Discrete Device Assignment); in dem Fall gibt die Root dieses Gerät ab (unter Client-Windows ist das nicht verfügbar).4

Der Virtualisierungs-Verwaltungsstack

VMMS (Virtual Machine Management Service), der das Anlegen, Starten und Stoppen von VMs steuert, und der Worker-Prozess, der für jede VM startet (vmwp.exe), laufen im Benutzermodus in der Root-Partition.5 Das sind Teile der VM-Verwaltung von Hyper-V, sie können also auf einem Host fehlen, auf dem nur der Hypervisor für VBS oder WSL2 läuft.

Das Recht, Child-Partitionen anzulegen

Die Root-Partition legt Child-Partitionen über die Hypercall-API an (die Aufrufschnittstelle in den Hypervisor).2

Dieses Design hat einen Grund. Würden Sie jeden Gerätetreiber in den Hypervisor selbst stecken, würde der Hypervisor riesig und die Zahl der Fehler und Angriffsflächen wüchse. Der Hypervisor beschränkt sich auf die minimale Arbeit, CPUs und Speicher zu vermitteln, und überlässt die Betreuung der Geräte dem Windows in der Root-Partition. Diese Rollenteilung hält Hyper-V dünn.

Rollenteilung zwischen Root-Partition und Child-PartitionenDie Root-Partition hält den Virtualisierungs-Verwaltungsstack und physische Gerätetreiber und legt Child-Partitionen über Hypercalls an; eine Child-Partition sieht in der üblichen Konfiguration nur virtuelle Geräte, und unter Discrete Device Assignment auf Windows Server greift sie direkt auf das zugewiesene Gerät zuRoot-PartitionPer Hypercall anlegen und verwaltenChild-PartitionGast-OSIn der üblichen Konfiguration sind nur virtuelle Geräte sichtbarVMMS und Worker-ProzessePhysische GerätetreiberHypervisor (beschränkt sich auf die Vermittlung von CPU und Speicher)

Abbildung 6: Gerätetreiber und Verwaltungsstack auf die Seite der Root-Partition zu legen hält den Hypervisor selbst dünn.

3.2. Die Welt, wie sie eine Child-Partition sieht

Das Gastbetriebssystem in einer Child-Partition kann physische Hardware in der üblichen virtuellen Gerätekonfiguration nicht direkt sehen (die einzige Ausnahme ist ein über Discrete Device Assignment auf Windows Server zugewiesenes Gerät, wie im vorigen Abschnitt beschrieben). Was es sehen kann, sind virtuelle Prozessoren, ein Speicherraum, der ihm eigen zu gehören scheint, und virtuelle Geräte. Anforderungen an virtuelle Geräte werden über VMBus oder den Hypervisor an die Root-Partition weitergeleitet.2

Die Zuteilung von CPU-Zeit und die Speicherübersetzung über SLAT übernimmt dagegen der Hypervisor direkt, ohne den Umweg über die Root. Was die Root vermittelt, ist Geräte-E/A, nicht jede physische Ressource.

Die Welt, wie sie eine Child-Partition siehtWas das Gastbetriebssystem sieht, sind virtuelle Prozessoren, ein der Partition privater Speicherraum und virtuelle Geräte; Anforderungen an virtuelle Geräte werden über VMBus und dergleichen an die Root-Partition weitergeleitet, CPU-Zeit und Speicherübersetzung übernimmt der Hypervisor direkt, und in einer Discrete-Device-Assignment-Konfiguration auf Windows Server wird nur auf die zugewiesenen Geräte direkt zugegriffenÜber VMBus und dergleichenNicht direkt sichtbarGast-OS in der Child-PartitionVirtuelle ProzessorenPrivater SpeicherraumVirtuelle GeräteWeiterleitung an die Root-PartitionPhysische CPUs, RAM und echte GeräteIn einer DDA-Konfiguration (Windows Server) nur direkter Zugriff auf zugewiesene Geräte

Abbildung 7: In der üblichen virtuellen Gerätekonfiguration ist alles, was der Gast sieht, ein virtuelles Fenster, und der Weg zum Physischen geht durch einen Vermittler; nur ein über DDA auf Windows Server zugewiesenes Gerät ist die Ausnahme.

Was hier zählt: Für eine App, die auf dem Host-Windows läuft, ist diese Struktur fast durchsichtig. Win32-API-Aufrufe und die Behandlung von Seitenfehlern verarbeitet weiterhin der Windows-Kernel in der Root-Partition, wie bisher. Der Hypervisor greift nur ein, wenn ein konfigurierter Intercept oder eine Ausnahme getroffen wird.

4. Vom Speicher — Die Adressübersetzung bekommt eine weitere Stufe

Beim Speicher trennen wir die Adresse, die der Gast für „physisch“ hält, von der tatsächlichen Lage im RAM. Behalten Sie die Reihenfolge GVA → GPA → SPA und wer jede Übersetzung verwaltet.

4.1. Drei Arten von Adressen

In Teil 1 der Speicherreihe haben wir den Ablauf verfolgt, mit dem eine virtuelle Adresse über die Seitentabelle in eine physische Adresse übersetzt wird („Der Moment, in dem eine virtuelle Adresse zu physischem RAM wird“). In einer virtualisierten Umgebung kommt unter dieser Übersetzung eine weitere Stufe hinzu, und es gibt drei Arten von Adressen.

Adresse Kürzel Wer verwaltet sie
Gast-Virtuelladresse GVA Die Seitentabelle des Gastbetriebssystems
Gast-Physikadresse GPA Die Adresse, die das Gastbetriebssystem für „physisch“ hält
System-Physikadresse SPA Der Hypervisor (die tatsächliche Lage im RAM)

Das Gastbetriebssystem übersetzt GVA nach GPA mit der eigenen Seitentabelle. Die GPA, die der Gast sieht, ist jedoch keine echte physische Adresse; sie ist ein privater Speicherraum, der jeder Partition zugeordnet ist.2 GPA auf die tatsächliche Lage im RAM (SPA) abzubilden ist Aufgabe des Hypervisors.

4.2. SLAT — Zweistufige Übersetzung in Hardware

Würde diese zweite Übersetzungsstufe allein in Software erledigt, müsste der Hypervisor jede Aktualisierung der Gast-Seitentabelle einzeln verfolgen, was aus Leistungssicht nicht realistisch ist. Deshalb stellt die CPU einen Mechanismus bereit, der die Übersetzungstabellen der zweiten Stufe in Hardware durchläuft. Das ist SLAT (Second Level Address Translation); Intel EPT (Extended Page Tables) und AMD RVI sind die Umsetzungen.

Aktuelles Hyper-V verlangt einen SLAT-fähigen 64-Bit-Prozessor.4

Zweistufige Adressübersetzung über SLATEine Gast-Virtuelladresse wird von der Seitentabelle des Gastbetriebssystems in eine Gast-Physikadresse übersetzt, dann weiter von SLAT, das der Hypervisor verwaltet, in eine System-Physikadresse, und erreicht den tatsächlichen RAMSeitentabelle des Gast-OSSLAT (EPT/RVI-Übersetzungstabellen)Gast-Virtuelladresse (GVA)Gast-Physikadresse (GPA)System-Physikadresse (SPA)Physischer RAMEine Schicht, die der Gast lediglich für physisch hält

Abbildung 8: Unter der Seitentabelle des Gastes sitzt eine weitere, vom Hypervisor verwaltete Übersetzungstabelle, und die CPU durchläuft beide in Hardware.

SLAT ist kein Merkmal, das nur der Ausführungseffizienz von VMs dient. Das VBS, das wir in Teil 2 sehen, nutzt die Eigenschaft, „pro Privilegstufe eine andere SLAT-Übersetzungstabelle haben zu können“, als Material für eine Sicherheitsgrenze. Der Grund, warum Sie Speicher anlegen können, den selbst der Kernel nicht sieht, ist, dass der Hypervisor diese zweite Übersetzungsstufe hält. Das ist ein roter Faden der ganzen Reihe, merken Sie sich daher nur einen Punkt: „Der Verwalter der Übersetzungstabellen ist der Hypervisor“.

5. Von der Geräte-E/A — VMBus und zwei Arten von Geräten

Geräte-E/A nimmt einen anderen Weg als CPU-Zeit und Speicherübersetzung. Wir vergleichen die Methode, die echte Hardware nachahmt, mit der Methode, die einen eigens für die Virtualisierung gedachten Pfad nutzt.

5.1. Die Grenzen emulierter Geräte

Der klassische Weg, einer Child-Partition ein Gerät zu zeigen, besteht darin, echte Hardware (etwa einen alten IDE-Controller) vollständig in Software nachzuahmen. Die Kompatibilität ist hoch, weil die mitgelieferten Treiber des Gastbetriebssystems unverändert funktionieren, aber bei jedem Zugriff des Gastes auf einen E/A-Port entsteht ein VM Exit, und die Leistung skaliert nicht.

Warum E/A zu einem emulierten Gerät langsam istJedes Mal, wenn der Gast einen E/A-Port bedient, geht die Steuerung über einen VM Exit auf die Hypervisor-Seite, das Gerät wird in Software nachgeahmt, und die Steuerung kehrt zum Gast zurück, sodass sich der Hin-und-zurück-Weg wiederholt und langsam istWiederholt sich bei der nächsten PortoperationGast bedient einen E/A-PortEin VM Exit tritt aufDas Gerät wird in Software nachgeahmtRückkehr zum Gast über VM Entry

Abbildung 9: Dieser Hin-und-zurück-Weg läuft hinter einem einzigen Datenträgerzugriff viele Male, und der Preis der Kompatibilität wird in Leistung bezahlt.

5.2. VMBus und VSP/VSC — Ein schneller Pfad, der Virtualisierung voraussetzt

Deshalb hat Hyper-V einen Mechanismus „synthetischer Geräte“, der unter der Annahme von Virtualisierung entworfen ist. Es gibt drei Akteure.2

  • VMBus: ein logischer Kommunikationskanal zwischen Partitionen. Er stellt schnelle Kommunikation zwischen Partitionen bereit, die gemeinsamen Speicher nutzt.3
  • VSP (Virtualization Service Provider): ein Dienst, der auf der Seite der Root-Partition sitzt, Geräteanforderungen vom Child entgegennimmt und sie an den Geräte-/Backend-Stack der Root-Seite weiterreicht. Eine Anforderung kann ein physisches Gerät erreichen oder von einem hostseitigen Backend wie einer virtuellen Festplatte oder einem virtuellen Switch behandelt werden.
  • VSC (Virtualization Service Consumer): ein synthetischer Gerätetreiber, der ins Gastbetriebssystem auf der Child-Seite geht. Er sendet Anforderungen über VMBus an den VSP.

Beispiel: Wie WriteFile eines Gastes den Host erreicht

Eine Speicheranforderung des Gastbetriebssystems fließt in dieser Reihenfolge.

  1. Das WriteFile der Gast-App steigt den E/A-Stapel des Gastkernels hinab.
  2. Unten erreicht es den VSC statt echter Hardware.
  3. Der VSC legt die Anforderung auf VMBus und übergibt sie dem VSP in der Root-Partition.
  4. Der VSP lässt die Anforderung in den E/A-Stapel der Root-Seite fließen. In einer Konfiguration mit virtueller Festplatte (VHDX) wird sie als Schreiben in die VHDX-Datei auf dem Host behandelt und erreicht schließlich den physischen Datenträger.

Dieser Ansatz heißt Enlightened I/O (E/A, die um Virtualisierung weiß) und steigert die Effizienz, indem er die Geräteemulationsschicht umgeht.2

E/A-Pfad eines synthetischen GerätsEine E/A-Anforderung einer App in der Child-Partition erreicht den VSC über den Gastkernel, überquert VMBus zum VSP in der Root-Partition, und auf dem E/A-Stapel der Root-Seite, in den der VSP weiterreicht, kann sie über einen physischen Gerätetreiber ein echtes Gerät erreichen oder von einem hostseitigen Backend wie einer virtuellen Festplatte oder einem virtuellen Switch behandelt werdenVMBusApp in der Child-PartitionE/A-Stapel des GastkernelsVSC (synthetischer Gerätetreiber)VSP (Seite der Root-Partition)E/A-Stapel der Root-SeitePhysischer GerätetreiberHostseitiges Backend (virtuelle Festplatte, virtueller Switch und so weiter)Physisches Gerät

Abbildung 10: Bei einem synthetischen Gerät überquert die E/A des Gastes über VMBus zur Root-Partition und erreicht über den Stack der Root-Seite ein echtes Gerät oder ein hostseitiges Backend.

Ob die Datenträger-E/A oder das Netzwerk einer VM schnell ist, hängt also nicht nur von der Gastseite ab, sondern auch vom Zustand des E/A-Stapels und der Gerätetreiber auf der Seite der Root-Partition. Der Grund, warum hostseitige Beobachtung bei der Untersuchung eines Leistungsproblems einer VM unverzichtbar ist, liegt darin, dass der Pfad tatsächlich über den Host geht.

Emulierte Geräte gegenüber synthetischen GerätenEin emuliertes Gerät ahmt echte Hardware nach, sodass die mitgelieferten Treiber des Gastes funktionieren, ist aber langsam; ein synthetisches Gerät ist ein eigens gebauter Treiber, der VMBus voraussetzt und schnell istDer Child-Partition gezeigtes GerätEmuliertes GerätSynthetisches GerätAhmt echte Hardware nach; Kompatibilität zuerstBraucht bei jeder E/A einen Eingriff; langsamUm VMBus herum entworfen; schnellVerlangt einen passenden Treiber im Gast

Abbildung 11: Von den zwei Arten virtueller Geräte tragen emulierte Geräte die Kompatibilität direkt nach der Betriebssysteminstallation, und synthetische Geräte tragen die Leistung im Alltag.

6. Warum das auch ohne VM niemanden fremd angeht

6.1. VBS, WSL2 und Sandbox nutzen dieselbe Grundlage

Die Struktur bisher mag wie „eine Geschichte für Leute, die VMs aufsetzen“ wirken. Wie die Einleitung sagte, ist der Hypervisor unter heutigem Windows jedoch Teil des Alltags.

  • Virtualisierungsbasierte Sicherheit (VBS). Sie nutzt den Windows-Hypervisor, um eine isolierte Umgebung anzulegen, und nimmt dort Sicherheitsfunktionen auf. Unter Windows 11 ist sie standardmäßig aktiviert, wenn Bedingungen wie eine Neuinstallation auf kompatibler Hardware erfüllt sind.1 Einzelheiten stehen in Teil 2.
  • WSL2. Es führt einen echten Linux-Kernel in einer leichten Utility-VM aus.6
  • Windows Sandbox. Eine wegwerfbare Windows-Umgebung, isoliert durch den Hypervisor.7 Beides behandeln wir in Teil 3.
Alltagsfunktionen, die auf demselben Hypervisor sitzenNicht nur Hyper-V-VMs, sondern auch VBS, das auf Geräten mit Bedingungen wie einer Neuinstallation standardmäßig aktiviert ist, plus WSL2 und Windows Sandbox, bauen alle auf demselben Windows-Hypervisor aufWindows-HypervisorHyper-V-VMsVBS (bei Neuinstallation und Ähnlichem standardmäßig aktiviert)WSL2Windows SandboxWarum es auch auf PCs ohne VM läuft

Abbildung 12: Es gibt eine Grundlage, und an diesem Diagramm zerfällt die Annahme „Virtualisierung ist eine Geschichte für Leute, die VMs nutzen“.

6.2. Koexistenz mit Virtualisierungssoftware von Drittanbietern

Noch etwas, das in der Praxis oft vorkommt, ist die Koexistenz mit Virtualisierungssoftware von Drittanbietern. Weil der Hypervisor die Virtualisierungsunterstützung der CPU ausschließlich nutzt, können VirtualBox und dergleichen in einer Umgebung, in der der Windows-Hypervisor läuft, nicht auf die herkömmliche Weise laufen (die Weise, die selbst die Virtualisierungsunterstützung der CPU nutzt).

Dafür steht eine öffentliche API namens Windows Hypervisor Platform bereit, und ein Virtualisierungsstack eines Drittanbieters kann laufen, indem er auf dem Windows-Hypervisor sitzt.8 Aktuelles VirtualBox/VMware kann dank dieses Mechanismus mit WSL2 koexistieren, aber die Leistungs- und Funktionsunterschiede beim Wechsel der Betriebsart werden manchmal als „nachdem ich Hyper-V (oder VBS) aktiviert habe, verhält sich die Virtualisierungssoftware anders“ beobachtet.

Wer die CPU-Virtualisierungsunterstützung besitzt, und der Pfad für Virtualisierungssoftware von DrittanbieternWährend der Windows-Hypervisor läuft, besitzt er die CPU-Virtualisierungsunterstützung ausschließlich; Virtualisierungssoftware von Drittanbietern, die WHP unterstützt, läuft über die Windows Hypervisor Platform darauf, während Implementierungen ohne WHP-Unterstützung nicht laufen oder funktionsbeschränkt sindNeinJaCPU-Virtualisierungsunterstützung (VT-x/AMD-V)Läuft der Windows-Hypervisor?Software von Drittanbietern kann sie direkt nutzenDer Hypervisor hat die ausschließliche NutzungWindows Hypervisor PlatformWHP-fähige Software von Drittanbietern läuft daraufNicht fähige Implementierungen laufen nicht oder sind beschränkt

Abbildung 13: Es gibt einen Besitzer der Virtualisierungsunterstützung, und die einzige Software von Drittanbietern, die koexistieren kann, während der Hypervisor läuft, ist Software, die die öffentliche API (WHP) unterstützt.

7. Selbst nachschauen

Ob auf Ihrem PC ein Hypervisor läuft, können Sie selbst prüfen.

7.1. Hypervisor und VBS mit PowerShell prüfen

Zuerst eine Prüfung, die Sie ohne Administratorrechte ausführen können.

# Ob wir auf einem Hypervisor laufen
(Get-CimInstance Win32_ComputerSystem).HypervisorPresent

# VBS-Status (dieselbe Quelle wie „Virtualisierungsbasierte Sicherheit“ in msinfo32)
Get-CimInstance -Namespace root/Microsoft/Windows/DeviceGuard `
    -ClassName Win32_DeviceGuard |
    Select-Object VirtualizationBasedSecurityStatus

VirtualizationBasedSecurityStatus gibt den Laufzustand von VBS als Zahl zurück (2 ist „Wird ausgeführt“).9

Eine Warnung. HypervisorPresent sagt nur „ob wir auf einem Hypervisor laufen“; Root und Child unterscheidet es nicht. Führen Sie es auf Windows in einer VM aus, kommt trotzdem True zurück, als Child-Partition. Ist es auf Windows auf einem physischen PC True, sitzt dieses Windows in der Root-Partition; Sie lesen es zusammen mit der Ausführungsumgebung.

7.2. In systeminfo „läuft“ von „Voraussetzungen“ unterscheiden

Als Nächstes der Klassiker aus der Eingabeaufforderung.

systeminfo

Schauen Sie am Ende der Ausgabe auf „Hyper-V-Anforderungen“. Auf einem Rechner, auf dem der Hypervisor noch nicht läuft, werden die einzelnen Anforderungen wie SLAT-Unterstützung und ob die Virtualisierungsunterstützung aktiviert ist einzeln aufgelistet. Auf einem Rechner, auf dem der Hypervisor bereits läuft, steht statt der Anforderungen eine einzige Zeile: „Ein Hypervisor wurde erkannt. Features, die für Hyper-V erforderlich sind, werden nicht angezeigt.“4

Diese eine Zeile ist daher die Aussage, dass Ihr Windows auf irgendeinem Hypervisor läuft. Wie bei HypervisorPresent müssen Sie sie auf einem physischen PC als „in der Root-Partition“ und in einer VM als „als Child-Partition“ lesen.

Selbst wenn jede systeminfo-Anforderung „Ja“ ist, heißt das nur, dass die Hardware-Seite bereit ist. Das Hyper-V-Feature selbst ist auf den Editionen Pro, Enterprise und Education verfügbar und fehlt auf Home.10

7.3. Wenn Sie auf dem Bildschirm prüfen, unterscheiden Sie, welchen Punkt Sie prüfen

In der GUI prüfen Sie in msinfo32 unter „Systemübersicht“ die Zeile „Virtualisierungsbasierte Sicherheit“. Beachten Sie, dass „Virtualisierung: Aktiviert“ im CPU-Bereich des Task-Managers nur zeigt, ob die Virtualisierungsunterstützung in der Firmware aktiviert ist, was von der Frage, ob ein Hypervisor läuft, getrennte Information ist.

Wie Sie prüfen, ob der Hypervisor läuftSagt systeminfo, ein Hypervisor wurde erkannt, laufen Sie auf einem Hypervisor (auf einem physischen PC in der Root-Partition); erscheint die Liste der Hyper-V-Anforderungen, läuft er noch nicht, also prüfen Sie jede Anforderung wie SLAT, VM-Monitor-Mode-Erweiterungen und DEP, aber lauter Ja heißt nur, dass die Hardware-Seite bereit ist, und das Hyper-V-Feature hat zusätzlich eine EditionsanforderungEin Hypervisor wurde erkanntDie Anforderungen werden aufgelistetAlle JaEinige Neinsysteminfo ausführenWas zeigt das Feld Hyper-V-Anforderungen?Hypervisor läuft (auf einem physischen PC in der Root)Hypervisor läuft noch nichtAlle Anforderungen Ja?Die Hardware-Seite ist bereitHyper-V braucht außerdem Pro/Enterprise/EducationDie betreffenden Punkte in UEFI/BIOS und dergleichen prüfen

Abbildung 14: Das Feld „Hyper-V-Anforderungen“ in systeminfo dient zugleich als Prüfung des Laufzustands und als Prüfung der Voraussetzungen.

8. Drei Fehldeutungen, die Sie in der Praxis vermeiden sollten

8.1. „Wir haben Hyper-V nicht aktiviert, also hat Virtualisierung mit unseren PCs nichts zu tun“

Auch wenn Sie das Hyper-V-Feature (die Verwaltungswerkzeuge und die VM-Ausführungsumgebung) nicht aktiviert haben, läuft der Windows-Hypervisor, wenn VBS aktiviert ist. Wenn Sie ein Treiberkompatibilitätsproblem, eine Leistungsprüfung oder Ärger mit Virtualisierungssoftware von Drittanbietern untersuchen, prüfen Sie HypervisorPresent und den Laufzustand von VBS, nicht ob das Feature aktiviert ist.

8.2. „Der Task-Manager sagt ‚Virtualisierung: Aktiviert‘, also läuft Hyper-V“

Diese Anzeige betrifft die Firmware-Einstellung (ob VT-x/AMD-V verfügbar ist). Den Laufzustand des Hypervisors beurteilen Sie anhand von „Ein Hypervisor wurde erkannt“ in systeminfo. Umgekehrt: Sagt der Task-Manager „Deaktiviert“, können Sie auch Hyper-V und WSL2 nicht aktivieren, prüfen Sie also zuerst die UEFI/BIOS-Einstellungen.

Drei Prüfungen, die leicht zu verwechseln sindDas Virtualisierungsfeld des Task-Managers zeigt die Firmware-Einstellung, die Liste der Windows-Funktionen den Installationszustand, und systeminfo oder HypervisorPresent den Laufzustand; jedes beantwortet eine andere FrageWas möchten Sie wissen?Ist die Virtualisierungsunterstützung in der Firmware aktiviert?Wurde das Hyper-V-Feature installiert?Läuft der Hypervisor gerade?CPU-Bereich des Task-ManagersDer Dialog Windows-Funktionensysteminfo und HypervisorPresent

Abbildung 15: Das sind drei unabhängige Fragen, und die anderen zwei aus einer beliebigen Anzeige zu folgern ist eine Fehldeutung.

8.3. „Wenn die VM langsam ist, ist es ein Problem des Gastbetriebssystems“

E/A synthetischer Geräte überquert VMBus zum VSP in der Root-Partition und geht durch den Geräte-/Backend-Stack der Root-Seite (physische Treiber plus Verarbeitung von virtuellem Switch und virtueller Festplatte). Beobachten Sie nur Zähler innerhalb des Gastes, finden Sie einen Engpass nicht, der in hostseitigem Speicher oder einer NIC sitzt. Das Prinzip bei Leistungsproblemen von VMs ist, von beiden Seiten zu beobachten: dem Gast und dem Host (der Root-Partition).

9. Zusammenfassung

  • Wenn Sie Hyper-V aktivieren, läuft der Hypervisor direkt auf der Hardware und das Host-Windows als Root-Partition.2
  • Der Kernel des Gastbetriebssystems läuft weiter auf Ring 0, und nur als Intercept konfigurierte Operationen plus Ausnahmen werden über einen VM Exit an den Hypervisor übergeben. Gewöhnliche Speicherzugriffe gehen über SLAT-Übersetzung durch.
  • Nur die Root-Partition hält physische Gerätetreiber und den Virtualisierungs-Verwaltungsstack und legt Child-Partitionen über Hypercalls an.2
  • Speicher wird zu einer zweistufigen Übersetzung GVA→GPA→SPA, und die zweite Stufe behandelt SLAT (EPT/RVI) in Hardware. Aktuelles Hyper-V verlangt SLAT.4
  • Geräte-E/A wird vom Pfad synthetischer Geräte VSC→VMBus→VSP beherrscht, und die Leistung hängt auch vom E/A-Stapel der Host-Seite ab.2
  • Unter Windows 11 ist es, weil VBS auf Geräten, die Bedingungen wie eine Neuinstallation erfüllen, standardmäßig aktiviert ist, nicht ungewöhnlich, dass der Hypervisor auch auf einem PC läuft, der nie eine VM nutzt.1 Den Laufzustand können Sie mit HypervisorPresent und systeminfo prüfen.

Das Gesamtbild von Teil 1 verdichtet sich in dieses eine Diagramm.

Das Gesamtbild von Teil 1Der Hypervisor sitzt unter der Root-Partition und den Child-Partitionen; CPUs werden durch Planen virtueller Prozessoren zugeteilt (VM Exits nur bei konfigurierten Intercepts und Ausnahmen), Speicher wird durch zweistufige SLAT-Übersetzung vermittelt, E/A synthetischer Geräte wird über VMBus weitergeleitet und vom VSP der Root-Partition behandelt, und emulierte Geräte und Discrete Device Assignment haben andere PfadeRoot-Partition und Child-PartitionenHypervisorCPU: teilt virtuelle Prozessoren zuSpeicher: zweistufige Übersetzung über SLATGeräte: synthetische E/A über VMBus weitergeleitetVM Exit nur bei EingriffBehandelt vom VSP der Root-SeiteEmulierte Geräte und DDA nehmen andere Pfade

Abbildung 16: CPU-Planung und Speicherübersetzung übernimmt der Hypervisor direkt (VM Exits nur bei Eingriff), und E/A synthetischer Geräte vermittelt die Root-Partition (der VSP) jenseits von VMBus.

Weiter in Teil 2, „Speicher, den selbst der Kernel nicht sieht — VBS, HVCI und Credential Guard“.

Wir nehmen den roten Faden dieses Artikels auf, dass der Hypervisor die SLAT-Übersetzungstabellen hält, und verfolgen, wie Windows „Speicher anlegt, den weder ein Administrator noch der Kernel lesen kann“.

Weiterführende Artikel

Zugehörige Beratungsfelder

KomuraSoft LLC übernimmt den Entwurf von Validierungsumgebungen für Windows-Anwendungen, Leistungsuntersuchungen in virtualisierten Umgebungen sowie die Analyse von Kompatibilitätsproblemen bei Treibern und Peripherie.

Quellen

  1. Microsoft Learn, Silicon assisted security. Dazu, dass VBS Hardware-Virtualisierung nutzt, um den Secure Kernel vom gewöhnlichen Betriebssystem zu isolieren, und dazu, dass VBS und HVCI auf Geräten, die die Voraussetzungen erfüllen, bei einer Neuinstallation von Windows 11 standardmäßig aktiviert sind. ↩ ↩2 ↩3

  2. Microsoft Learn, Hyper-V Architecture. Dazu, dass der Hypervisor Partitionen als Isolierungseinheit bereitstellt; dazu, dass die Root-Partition Child-Partitionen über die Hypercall-API anlegt; dazu, dass Partitionen in einem privaten virtuellen Speicherraum ohne direkten Zugriff auf physische Prozessoren laufen; zu den Rollen von VMBus, VSP, VSC und Enlightened I/O; sowie dazu, dass Hardware-Virtualisierungsunterstützung (Intel VT/AMD-V) erforderlich ist. ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10 ↩11 ↩12

  3. Microsoft Learn, Hyper-V architecture (Performance Tuning). Dazu, dass Hyper-V ein Typ-1-Hypervisor ist, die Root-Partition physische E/A-Geräte besitzt und VMBus leistungsfähige Kommunikation zwischen Partitionen bereitstellt, die gemeinsamen Speicher nutzt. ↩ ↩2

  4. Microsoft Learn, System requirements for Hyper-V on Windows and Windows Server. Dazu, dass ein 64-Bit-Prozessor mit SLAT und VM Monitor Mode Extensions erforderlich sind; dazu, dass Sie die Erfüllung der Anforderungen im Feld „Hyper-V-Anforderungen“ von systeminfo bestätigen können; dazu, dass „Ein Hypervisor wurde erkannt“ angezeigt wird, während ein Hypervisor läuft; sowie dazu, dass Discrete Device Assignment ein bestimmtes Gerät direkt einer Child-Partition zuweisen kann. ↩ ↩2 ↩3 ↩4

  5. Microsoft Learn, Appendix B: Hyper-V Architecture and Feature Overview. Dazu, dass VMMS (Virtual Machine Management Service) den Zustand von VMs in Child-Partitionen verwaltet und für jede VM ein Worker-Prozess (VMWP) im Benutzermodus in der Root-Partition startet. ↩

  6. Microsoft Learn, Comparing WSL Versions. Dazu, dass WSL2 einen echten Linux-Kernel in einer leichten Utility-VM ausführt, und zu Vorsichtshinweisen zur gemeinsamen Nutzung mit aktuellem VMware und VirtualBox. ↩

  7. Microsoft Learn, Windows Sandbox architecture. Dazu, dass Windows Sandbox eine leichte Windows-Umgebung ist, die Containertechnik mit Isolierung durch den Hypervisor verbindet. ↩

  8. Microsoft Learn, Windows Hypervisor Platform. Dazu, dass eine Benutzermodus-API bereitsteht, damit ein Virtualisierungsstack eines Drittanbieters Partitionen auf dem Windows-Hypervisor anlegen und verwalten kann. ↩

  9. Microsoft Learn, Enable Hotpatch for Azure Arc-enabled servers. Dazu, dass Sie den Laufzustand von VBS (virtual secure mode) über VirtualizationBasedSecurityStatus auf der Klasse Win32_DeviceGuard prüfen können. ↩

  10. Microsoft Learn, Install Hyper-V. Dazu, dass Hyper-V unter Windows 10/11 Pro oder Enterprise und Ähnlichem aktivierbar ist und auf der Home-Edition nicht installierbar ist. ↩

Aktuelle Artikel mit denselben Schlagwörtern führen zu verwandten Themen weiter.

Diese Seiten ordnen den Artikel in einen größeren Leistungs- und Entscheidungskontext ein.

Dieser Artikel ist direkt mit den folgenden Leistungen verbunden.

Häufige Fragen

Fragen, die in Beratungen zu diesem Artikelthema häufig gestellt werden.

Wenn Sie Hyper-V aktivieren, wo läuft das Host-Windows eigentlich?
Der Hypervisor steuert unmittelbar, wie physische CPUs und Speicher zugeteilt werden, und das Host-Windows läuft in einer besonderen Partition, der Root-Partition. Die Steuerung physischer Geräte übernehmen normalerweise Treiber auf der Seite der Root-Partition. Die Root-Partition hält die Gerätetreiber und den Virtualisierungs-Verwaltungsstack, aber die Herrschaft über die physischen CPUs liegt beim Hypervisor.
Bedeutet „Virtualisierung: Aktiviert“ im Task-Manager, dass Hyper-V läuft?
Nein. Diese Anzeige zeigt, ob die Virtualisierungsunterstützung der CPU (Intel VT-x/AMD-V) in der Firmware aktiviert ist. Ob tatsächlich ein Hypervisor läuft, sehen Sie an der Meldung „Ein Hypervisor wurde erkannt“ in systeminfo oder an HypervisorPresent von Win32_ComputerSystem.
Warum läuft der Hypervisor, obwohl ich nie eine VM angelegt habe?
Unter Windows 11 ist virtualisierungsbasierte Sicherheit (VBS) auf Geräten, die die Bedingungen erfüllen — etwa eine Neuinstallation auf kompatibler Hardware — standardmäßig aktiviert, und VBS baut auf dem Windows-Hypervisor auf. Dasselbe gilt, wenn Sie WSL2 oder Windows Sandbox nutzen. Es ist nicht ungewöhnlich, dass der Hypervisor unabhängig davon läuft, ob jemand VMs nutzt.
Was ist SLAT, und warum ist es für Hyper-V erforderlich?
SLAT (Second Level Address Translation) ist der Mechanismus, mit dem die CPU Gast-Physikadressen in tatsächliche Physikadressen übersetzt; Intel EPT und AMD RVI sind die Umsetzungen. Ohne ihn müsste der Hypervisor die Übersetzungstabellen in Software pflegen, was aus Leistungssicht nicht realistisch ist; aktuelles Hyper-V behandelt es daher als harte Anforderung.
Wenn ich Hyper-V aktiviere, hören VirtualBox und VMware auf zu funktionieren?
Weil der Hypervisor die Virtualisierungsunterstützung der CPU ausschließlich nutzt, kann ein Hypervisor eines Drittanbieters auf die herkömmliche Weise nicht mehr laufen. Aktuelles VirtualBox und VMware haben jedoch einen Modus, der auf dem Windows-Hypervisor läuft (über die Windows Hypervisor Platform), sodass aktuelle Versionen beider koexistieren können.

Autorenprofil

Profilseite des Artikelautors.

Go Komura

Geschäftsführer von KomuraSoft LLC

Spezialisiert auf Windows-Softwareentwicklung, technische Beratung und Fehleranalyse, insbesondere bei bestehenden Systemen und schwer reproduzierbaren Störungen.

Zurück zum Blog