Виртман – Ошибка с ВМ – Хост не поддерживает тип домена

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

Я использовал Ubuntu, пока недавно не перешел на Arch (Manjaro). Однако, переустановив Virt-Manager, я захотел запустить старые виртуальные машины. Конфигурация не изменилась, но я столкнулся с ошибками:

Машина больше не может быть запущена, и я получаю следующее сообщение об ошибке:

Error launching details: Host does not support domain type kvm 
with machine 'pc-i440fx-focal' for virtualization type 'hvm' with
architecture 'x86_64'

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/vmwindow.py", line 40, in get_instance
    cls._instances[key] = vmmVMWindow(vm)
  File "/usr/share/virt-manager/virtManager/vmwindow.py", line 83, in __init__
    self._details = vmmDetails(self.vm, self.builder, self.topwin,
  File "/usr/share/virt-manager/virtManager/details/details.py", line 389, in __init__
    self._init_details()
  File "/usr/share/virt-manager/virtManager/details/details.py", line 807, in _init_details
    vmmAddHardware.build_video_combo(self.vm, video_dev)
  File "/usr/share/virt-manager/virtManager/addhardware.py", line 816, in build_video_combo
    default = DeviceVideo.default_model(vm.xmlobj)
  File "/usr/share/virt-manager/virtinst/devices/video.py", line 47, in default_model
    if (guest.lookup_domcaps().supports_video_virtio() and
  File "/usr/share/virt-manager/virtinst/guest.py", line 656, in lookup_domcaps
    if not self._domcaps or not _compare(self._domcaps):
  File "/usr/share/virt-manager/virtinst/guest.py", line 646, in _compare
    if self.os.machine and not _compare_machine(domcaps):
  File "/usr/share/virt-manager/virtinst/guest.py", line 633, in _compare_machine
    capsinfo = self.lookup_capsinfo()
  File "/usr/share/virt-manager/virtinst/guest.py", line 674, in lookup_capsinfo
    self._capsinfo = self.conn.caps.guest_lookup(
  File "/usr/share/virt-manager/virtinst/capabilities.py", line 319, in guest_lookup
    raise ValueError(msg)
ValueError: Host does not support domain type kvm with machine 'pc-i440fx-focal' 
for virtualization type 'hvm' with architecture 'x86_64'

Я не вносил никаких изменений в настройки BIOS или что-то еще. Так что виртуализация в целом должна работать нормально.

Есть идеи?

Ах, наконец-то я разобрался.

Когда я посмотрел на конфигурацию, она содержала строку:

<type arch="x86_64" machine="pc-i440fx-focal">hvm</type>

тогда как новая настроенная машина содержит слегка другую строку:

<type arch="x86_64" machine="pc-i440fx-7.0">hvm</type>

Так что, похоже, некоторые пакеты для машины отличаются между Ubuntu и Arch, я так думаю.

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

Проблема, с которой вы столкнулись при запуске виртуальных машин в Virt-Manager на Arch (Manjaro) после перехода с Ubuntu, заключается в различиях в конфигурации виртуальных машин на этих двух дистрибутивах. Ошибка, которую вы наблюдаете, связана с несовместимостью типа домена и машинного типа pc-i440fx-focal с вашим текущим окружением на Arch. Давайте разберем это подробнее.

Формулирование ситуации

При переезде с Ubuntu на Arch, вместо того чтобы создавать виртуальные машины с нуля, вы попытались использовать уже существующие конфигурации. Это вполне логично, учитывая, что стандартные форматы конфигураций предполагают переносимость. Однако в вашем случае возникло несовпадение версии машины между дистрибутивами Ubuntu и Arch.

Объективное описание проблемы

Конфигурация виртуальной машины, созданной в Ubuntu, использует машинный тип pc-i440fx-focal, который отсутствует в списке поддерживаемых на Arch. Ubuntu предоставляет специфические для дистрибутива настройки и пакеты, которые могут не быть доступны или известны другим дистрибутивам, таким как Arch. Машинный тип pc-i440fx-focal, по-видимому, входит именно в такую категорию.

Решение и вдохновение

Чтобы решить эту проблему, необходимо изменить конфигурацию виртуальной машины в соответствии с поддерживаемыми параметрами вашей текущей платформы. Вы уже заметили различие в конфигурации между вашей старой машиной и новой, специально созданной на Arch:

Найдите в вашей конфигурации строку:

<type arch="x86_64" machine="pc-i440fx-focal">hvm</type>

И замените её на:

<type arch="x86_64" machine="pc-i440fx-7.0">hvm</type>

Эта правка обновит машинный тип, используемый виртуальной машиной, на версию, поддерживаемую в вашем текущем окружении.

Обобщение

Таким образом, ключ к решению данной проблемы кроется в адаптации конфигурации старой виртуальной машины под новый дистрибутив. Обновление значения машинного типа устранит несовместимость, и ваша виртуальная машина сможет корректно запускаться в Virt-Manager на Arch (Manjaro). Это также подчеркивает важность учета различий в окружениях виртуализации, которые могут существовать между разными дистрибутивами Linux.

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

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