Проблема с виртуальной машиной KVM/QEMU после обновления до Ubuntu 24.

Вопрос или проблема

На Ubuntu 22 я создал виртуальную машину Windows на KVM/QEMU с помощью Virtual Machine Manager.

После обновления до Ubuntu 24 я больше не могу запустить эту машину. Пишет “shutoff”, и когда я пытаюсь запустить ее (используя кнопку “play”), я получаю сообщение об ошибке

Ошибка запуска домена:
неподдерживаемая конфигурация:
конфигурация домена не поддерживает видео модель 'qxl'

Когда я открываю виртуальную машину, у меня есть элементы конфигурации слева (Обзор, информация о ОС, и т.д.), и также есть элемент “Video QXL”. Справа я могу выбрать значение для параметра “Model” с вариантами “Bochs”, “None”, “QXL”, “Ramfb”, “VGA” и “Virtio”.

Изменение на другой вариант и нажатие “Применить” приводит к другой ошибке:

Ошибка изменения конфигурации ВМ:
неподдерживаемая конфигурация:
chardev 'spicevmc' не поддерживается без графики spice

В разделе “подробности” ниже говорится:

Ошибка изменения конфигурации ВМ: неподдерживаемая конфигурация: chardev 'spicevmc' не поддерживается без графики spice
Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/addhardware.py", line 342, in change_config_helper
    define_func(devobj=devobj, do_hotplug=False, **define_args)
  File "/usr/share/virt-manager/virtManager/object/domain.py", line 923, in define_video
    self._process_device_define(editdev, xmlobj, do_hotplug)
  File "/usr/share/virt-manager/virtManager/object/domain.py", line 534, in _process_device_define
    self._redefine_xmlobj(xmlobj)
  File "/usr/share/virt-manager/virtManager/object/libvirtobject.py", line 391, in _redefine_xmlobj
    self._redefine_xml_internal(origxml, newxml)
  File "/usr/share/virt-manager/virtManager/object/libvirtobject.py", line 374, in _redefine_xml_internal
    self._define(newxml)
  File "/usr/share/virt-manager/virtManager/object/domain.py", line 1137, in _define
    self.conn.define_domain(xml)
  File "/usr/share/virt-manager/virtManager/connection.py", line 554, in define_domain
    return self._backend.defineXML(xml)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/libvirt.py", line 4543, in defineXML
    raise libvirtError('virDomainDefineXML() failed')
libvirt.libvirtError: unsupported configuration: chardev 'spicevmc' not supported without spice graphics

У меня была установлена графика spice в версии 22, кто-нибудь знает, изменилось ли название пакета? Есть ли способ изменить конфигурацию, чтобы я мог запустить существующую виртуальную машину?

(Когда я нажимаю правой кнопкой на пункте “Video QXL”, я могу выбрать Добавить оборудование, но не могу удалить сам элемент “Video QXL” — я думал, это было бы самое простое решение).

ОБНОВЛЕНИЕ

Я последовал совету @petercatania и установил qemu-system-modules-spice, который добавил libspice-server1, но ошибка все еще остается.

“sudo apt install qemu-system-modules-spice”
решило проблему для меня после обновления до 24.04

Мне пришлось добавить графику spice изнутри Virtual Machine Manager, чтобы исправить ошибку. Теперь у меня в списке оборудования два дисплея: VNC и SPICE.

Ответ или решение

Теория

После обновления системы могут возникнуть проблемы с виртуальными машинами на KVM/QEMU из-за изменений в пакетах или конфигурациях. В вашей ситуации проблема связана с поддержкой видеомодели "qxl" и отсутствием необходимых графических модулей, таких как SPICE, после обновления Ubuntu до версии 24. В Ubuntu 22, вероятно, была установлена определенная конфигурация, учитывающая использование SPICE для графического вывода, которая не корректно переместилась на новую версию.

Пример

В вашей ситуации конкретная ошибка возникает при попытке запустить виртуальную машину с использованием видеомодели "qxl", которая требует наличия SPICE-графики. После обновления поддержка этой конфигурации оказалась недоступной из-за отсутствия необходимых модулей или их несовместимости с новой версией KVM/QEMU. Это приводит к ошибке:

chardev 'spicevmc' not supported without spice graphics

Применение

Для решения данной проблемы вам следует выполнить следующие шаги:

  1. Установите необходимые пакеты SPICE:
    Убедитесь, что на вашей системе установлены все необходимые пакеты для SPICE. Выполните команду:

    sudo apt install qemu-system-modules-spice

    Важно проверить, были ли установлены также сопутствующие пакеты, такие как libspice-server1.

  2. Измените конфигурацию VMM:
    Добавьте графику SPICE в настройках вашей виртуальной машины через Virtual Machine Manager:

    • Откройте Virtual Machine Manager.
    • Перейдите в настройки вашей ВМ.
    • Перейдите в раздел "Видео" и выберите "Добавить оборудование".
    • Выберите SPICE в качестве графического вывода и сохраните изменения.
  3. Перезапустите систему:
    Рекомендуется перезапустить вашу систему, чтобы все изменения корректно вступили в силу.

  4. Проверьте видеомодель:
    В настройках вашей ВМ убедитесь, что видеомодель установлена в одно из поддерживаемых значений, таких как "Virtio" или "VGA", если "qxl" по-прежнему вызывает ошибки.

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

Оцените материал
Добавить комментарий

Капча загружается...