База знаний VMmanager

ПО не определяет UUID гостевой ОС

Проблема

Не передаётся UUID ВМ в гостевую ОС. В виртуальной машине с ОС Windows ПО не определяет UUID гостевой операционной системы. Программное обеспечение в гостевой ОС сообщает об ошибке:

Failed to resolve client id.
Machine doesn't have identifiers.

Причина ошибки — пустой UUID у виртуальной машины с загрузчиком BIOS. В таких случаях конфигурация ВМ требует доработки для корректного определения идентификатора гостевой операционной системой.

Решение

Чтобы решить проблему:

  1. Подключитесь к узлу кластера по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
  2. Определите внутреннее имя проблемной ВМ:
    sudo virsh list --all | grep <название_ВМ> 
  3. Остановите ВМ:
    sudo virsh shutdown <внутреннее_имя_ВМ>
    Пояснения
  4. Откройте конфигурационный файл ВМ:
    sudo virsh edit <внутреннее_имя_ВМ>
    Пояснения
  5. Определите значение UUID. Оно указано в третьей строке конфигурационного файла:
    Пример конфигурационного файла со строкой
    <domain type='kvm'>
      <name><внутреннее_имя_ВМ></name>
      <uuid>6003ea40-0ea2-492a-a8fe-66d0626b4034</uuid>
    Пояснения
  6. Перед секцией <os>...</os> добавьте следующие строки:
    <sysinfo type='smbios'>
      <system>
        <entry name='uuid'><значение UUID></entry>
      </system>
    </sysinfo>
    Пояснения
  7. В секцию <os>...</os> добавьте строку <smbios mode='sysinfo'/>
    <os>
      <type arch='x86_64' machine='pc-i440fx-7.2'>hvm</type>
      <bootmenu enable='yes'/>
      <smbios mode='sysinfo'/>
    </os>
  8. В конце файла конфигурации перед строкой </domain> добавьте следующие строки:
    <commandline xmlns="http://libvirt.org/schemas/domain/qemu/1.0">
      <arg value='-machine'/>
      <arg value='smbios-entry-point-type=32'/>
    </commandline>
  9. Сохраните и закройте файл.
  10. Запустите ВМ:
    sudo virsh start <внутреннее_имя_ВМ>
Дата последнего обновления статьи: 15.08.2025. Статья подготовлена техническими писателями ISPsystem