Gerätezuweisung für PCIe-Passthrough
In diesem Abschnitt lernst du, wie man PCIe-Geräte (z. B. GPU, Netzwerkkarte, USB-Controller) korrekt an eine virtuelle Maschine (VM) durchreicht.
1. Ziel der Gerätezuweisung
Bestimmte Hardware-Komponenten sollen direkt von der VM kontrolliert werden, z. B.:
- Grafikkarte (GPU)
- Netzwerkadapter
- USB-Controller für Maus/Tastatur
Das Hostsystem verliert dabei den Zugriff auf diese Geräte.
2. Geräteadresse ermitteln
Verwende folgenden Befehl zur Identifikation der Geräte:
lspci -nn
Beispielausgabe:
03:00.0 Ethernet controller [0200]: Intel Corporation X540-AT2 [8086:1528]
01:00.0 VGA compatible controller: NVIDIA Corporation GP102 [10de:1b06]
01:00.1 Audio device: NVIDIA GP102 HDMI Audio Controller [10de:10ef]
3. XML-Konfiguration der VM bearbeiten
Öffne die Konfiguration mit:
sudo virsh edit win11
Füge im Abschnitt <devices> folgenden Block für jedes Gerät ein:
<hostdev mode='subsystem' type='pci' managed='yes'>
<source>
<address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</source>
</hostdev>
Passe bus, slot und function gemäß der Ausgabe von lspci an.
Wiederhole dies für:
- Funktion
0x1(z. B. HDMI-Audio) - Weitere PCI-Geräte
4. Wichtige Hinweise
- Fehler beim Start der VM deuten oft auf doppelt belegte Geräte oder falsche IDs hin.
- VM lässt sich nicht starten: Prüfe mit:
sudo virsh dumpxml win11 | grep hostdev
- Host verliert Zugriff: Die durchgereichte Hardware ist für den Host nicht mehr verfügbar. Stelle sicher, dass du z. B. eine zweite GPU oder Netzwerkkarte hast.
5. Test in der VM
Starte die VM und öffne den Geräte-Manager unter Windows. Die Geräte sollten korrekt erkannt und ggf. Treiber automatisch installiert werden.
Für NVIDIA-Grafikkarten installiere die offiziellen Windows-Treiber manuell.
Fazit
Die direkte Gerätezuweisung ist einer der leistungsfähigsten Mechanismen in QEMU/libvirt. Sie erfordert jedoch präzise Vorbereitung (VFIO, IOMMU) und exakte Konfiguration auf XML-Ebene.
Weiter mit: Windows-VM: Einrichtung und Installation