Skip to navigationSkip to content
libvirtd docs
InteractiveCommands

Manual nav

Search `/` · tty `~` · g top · G bottom

Portal

  • Manual index
  • Interactive lab
  • Command explorer
Foundations5 sections
  • libvirtd Overview1
  • Host & Installation2
  • Architecture & Concepts6
  • Domains2
  • Domain XML2
Subsystems6 sections
  • Daemons3
  • virsh3
  • Virtual Networking5
  • Virtual Storage4
  • Virtualization Security3
  • Remote libvirt1
Operations5 sections
  • Migration2
  • Snapshots & Backup2
  • Performance3
  • Troubleshooting2
  • Reference2
guidetroubleshootingReviewed July 15, 2026

Guest start failure: evidence-first triage

Preserve the first error. Repeated start attempts can rotate logs, alter locks, and bury the original denial beneath secondary failures. Capture the failed transaction Check dependencies in order Classify the failure bef

start-failureqemuselinuxtriage

Preserve the first error. Repeated start attempts can rotate logs, alter locks, and bury the original denial beneath secondary failures.

Capture the failed transaction

BASH
virsh start guest01
virsh domstate guest01 --reason
journalctl -u virtqemud -u libvirtd --since -10m
tail -n 200 /var/log/libvirt/qemu/guest01.log

Check dependencies in order

BASH
virt-xml-validate /etc/libvirt/qemu/guest01.xml domain
virsh domblklist guest01 --details
virsh domiflist guest01
ls -lZ /var/lib/libvirt/images
ausearch -m AVC,USER_AVC -ts recent

Classify the failure before editing: unsupported capability, missing path, permission or label denial, occupied port, network absence, storage lock, malformed XML, or QEMU process failure.

Repair discipline

Fix the owning layer and retry once. Do not disable SELinux, broaden directory permissions globally, or delete lock files without proving they are stale and understanding ownership.

Related

  • Safe domain XML editing
  • SELinux, virtd_t, and common denials

On this page

  • Capture the failed transaction
  • Check dependencies in order
  • Repair discipline