Symptome und Geltungsbereich
- QEMU meldet failed to initialize KVM.
- Gastausführung ist bei ausdrücklich erlaubtem TCG-Rückfall unerwartet langsam.
Betroffene Umgebung
QEMU unter Linux mit KVM, direkt oder durch libvirt; verschachtelte Gäste hängen von Hostfreigaben ab.
Erkennbare Meldungen (synthetische Beispiele)
qemu-system-x86_64: failed to initialize kvm: No such file or directoryPrüfe errno und Hostprüfung; fehlendes Gerät und verweigerter Zugriff brauchen andere Maßnahmen.
qemu-system-x86_64: Could not access KVM kernel module: Permission deniedPrüfe tatsächliche QEMU-Identität und Geräteregel statt nur Firmwareunterstützung.
Mögliche Ursachen
Das sind mögliche Erklärungen, keine bestätigte Diagnose. Mehrere unabhängige Fehler können gleichzeitig vorliegen.
- Das KVM-Gerät kann wegen fehlendem Modul, Firmwarefreigabe oder verschachtelter Virtualisierung fehlen.
- Die tatsächliche QEMU-Identität oder Sandbox kann /dev/kvm nicht öffnen; Benutzerrechte allein beweisen den Dienstzugriff nicht.
Sicher prüfen
Führe jeweils einen Befehl in der passenden Sitzung aus. Lies zuerst die Erklärung. Großgeschriebene Platzhalter brauchen deine Werte; Werkzeuge und Rechte unterscheiden sich je nach Distribution. Die Website zeigt Befehle an und führt sie niemals aus.
Prüfschritt 1
Liest libvirt-Hostprüfungen mit vorhandenem Werkzeug; vollständige Sichtbarkeit kann berechtigte administrative Leserechte brauchen.
virt-host-validate qemuErgebnis einordnen: Unterscheide Virtualisierungsfähigkeit, KVM-Geräteexistenz und Zugriff. Hinweise zu optionalen fremden Geräten beweisen keine fehlende KVM-Funktion.
Prüfschritt 2
Liest KVM-Geräteeigentümer und Rechte; es wird keine VM erzeugt.
ls -l /dev/kvmErgebnis einordnen: Ein fehlender Knoten unterscheidet sich von verweigertem Öffnen. Vergleiche den tatsächlichen QEMU-Dienst statt nur die Shell.
Prüfschritt 3
Ersetze example-vm durch den Gastnamen; liest die Definition mit vorhandenem libvirt-Zugriff.
virsh -c qemu:///system dumpxml example-vmErgebnis einordnen: Domaintyp kvm verlangt Hardwarebeschleunigung; qemu bezeichnet Softwareemulation. Bei direktem QEMU prüfe stattdessen die Startargumente.
Nächste Schritte nach Befund
Unterstützte KVM-Freigabe herstellen
Wenn die Hostprüfung fehlende Hardwarefreigabe nennt, aktiviere die dokumentierte Plattformfunktion oder korrigiere KVM-Module. Konfiguriere bei verschachtelten Gästen die Freigabe im tatsächlichen Eltern-Hypervisor.
Vorsicht: Firmware- oder Moduländerungen können Neustart erfordern und bestehende VMs betreffen. Bewahre die vorherige Bootkonfiguration auf.
Wiederherstellung / Rücknahme: Stelle Firmware-/Modul- oder Eltern-Hypervisor-Werte zurück und starte nur im geplanten Wartungsablauf neu.
Hat dir dieser Hinweis geholfen?
QEMU-Zugriff und Beschleunigerwahl korrigieren
Wenn /dev/kvm existiert, QEMU aber abgelehnt wird, erteile Zugriff über vorgesehene Gruppe oder enge Geräteregel und erneuere den Identitätskontext. Wähle KVM bei benötigter Beschleunigung ausdrücklich.
Vorsicht: Mache nicht alle Hostgeräte schreibbar und starte QEMU nicht als root gegen eine einzelne Ablehnung. Domaintypwechsel kann einen ganz gestoppten Gast benötigen.
Wiederherstellung / Rücknahme: Stelle Gruppen-/Geräteregel und Beschleuniger- oder Domaintyp zurück und starte den Gast durch seine Verwaltung.
Hat dir dieser Hinweis geholfen?
Quellen und Prüfung
Diese Anleitung basiert auf Originalquellen von Projekten oder Distributionen und wurde am genannten Datum redaktionell geprüft. Das ist eine Quellenprüfung, kein Nachweis einer auf deiner Hardware reproduzierten Lösung. Log-Beispiele sind synthetische Testdaten. Versionsabhängige Details müssen zur installierten Ausgabe passen.
- QEMU — accelerators and invocation (Projekt- oder Distributionsdokumentation)
- Linux kernel — KVM /dev/kvm API (Projekt- oder Distributionsdokumentation)
- libvirt — host validation (Projekt- oder Distributionsdokumentation)
- QEMU — upstream KVM device-open implementation (Upstream-Implementierung; Verhalten ist versionsabhängig)
- QEMU — upstream accelerator initialization failure implementation (Upstream-Implementierung; Verhalten ist versionsabhängig)