SystemdDoctor
служба не работает виртуализация устройства

Гипервизор не получает ответ от гостевого агента

Гостевой агент даёт гипервизору корректное выключение, снимки с согласованной файловой системой и сведения о машине. Без него выключение превращается в отключение питания. Причина отсутствия ответа обычно проще, чем кажется: нет устройства связи или служба не запущена.

Вероятные причины

По порядку: сверху то, что встречается чаще.

  1. Устройство связи с гипервизором отсутствует

    Агент общается через специальное устройство. Если оно не добавлено в описание виртуальной машины, служба не запускается.

  2. Служба не включена в автозапуск

    Агент установлен, но не включён. После перезагрузки гостя управление снова не работает.

  3. Изоляция unit-файла закрывает доступ к устройству

    Параметры приватного каталога устройств прячут устройство связи от процессов службы.

Диагностика

Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.

Есть ли устройство связи с гипервизором.

ls -l /dev/virtio-ports/ 2>/dev/null

Состояние службы агента.

systemctl status qemu-guest-agent --no-pager | head -8

Сообщения агента при запуске.

journalctl -u qemu-guest-agent -n 20 --no-pager

Решение

Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.

1. Устройство связи с гипервизором отсутствует
Почему происходит
Агент общается через специальное устройство. Если оно не добавлено в описание виртуальной машины, служба не запускается.
Как проверить
Посмотрите устройство и состояние службы.
ls -l /dev/virtio-ports/ 2>/dev/null || echo устройства нет
systemctl status qemu-guest-agent --no-pager 2>/dev/null | head -6
Как исправить
Добавьте устройство связи в описание виртуальной машины на стороне гипервизора. Без него агент внутри бесполезен.
2. Служба не включена в автозапуск
Почему происходит
Агент установлен, но не включён. После перезагрузки гостя управление снова не работает.
Как проверить
Посмотрите состояние включения.
systemctl is-enabled qemu-guest-agent 2>/dev/null; systemctl is-active qemu-guest-agent 2>/dev/null
Как исправить
Включите службу в автозапуск. Установка пакета не всегда включает её автоматически.
sudo systemctl enable --now qemu-guest-agent
3. Изоляция unit-файла закрывает доступ к устройству
Почему происходит
Параметры приватного каталога устройств прячут устройство связи от процессов службы.
Как проверить
Посмотрите параметры изоляции службы.
systemctl show qemu-guest-agent -p PrivateDevices -p DeviceAllow 2>/dev/null
Как исправить
Разрешите устройство связи в списке устройств службы. Отключать изоляцию целиком не требуется.

Пример вывода

Устройство связи не добавлено в описание машины. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.

systemd[1]: qemu-guest-agent.service: Main process exited, code=exited, status=1/FAILURE
qemu-ga[8500]: critical error: error opening channel: No such file or directory
systemd[1]: qemu-guest-agent.service: Failed with result 'exit-code'.

Связанные ошибки

Источники

  • Документация QEMU: гостевой агент документация программы
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Воспроизведено запуском агента в машине без устройства связи.
    собственная проверка, systemd 255
    сверено 15 сентября 2026