Problem
The guest operating system in a Windows-based virtual machine cannot retrieve the VM's UUID. This failure occurs because the UUID is not passed through to the guest OS. The software in the guest OS reports an error:
Failed to resolve client id.
Machine doesn't have identifiers.

The cause of the error is an empty UUID field for the virtual machine with the BIOS boot loader. In such cases, the virtual machine's configuration needs to be modified so the guest operating system can correctly detect the UUID.
Решение
To solve the problem:
- Connect to the cluster node via SSH. For more information about connecting via SSH, see Workstation setup.
- Determine the internal name of the problem VM:
sudo virsh list --all | grep <VM_name>
- Stop the VM:
sudo virsh shutdown <VM_internal_name>
Comment - Open the VM configuration file:
sudo virsh edit <VM_internal_name>
Comment - Determine the value of UUID. It is specified in the third line of the configuration file:
Example configuration file with theline <domain type='kvm'> <name><VM_internal_name></name> <uuid>6003ea40-0ea2-492a-a8fe-66d0626b4034</uuid>
Comment - Before the section <os>...</os>, add the following strings:
<sysinfo type='smbios'> <system> <entry name='uuid'><UUID_value></entry> </system> </sysinfo>
Comment -
In the section <os>...</os>, add the string <smbios mode='sysinfo'/>
<os> <type arch='x86_64' machine='pc-i440fx-7.2'>hvm</type> <bootmenu enable='yes'/> <smbios mode='sysinfo'/> </os>
- At the end of the configuration file, before the string </domain>, add the following strings:
<commandline xmlns="http://libvirt.org/schemas/domain/qemu/1.0"> <arg value='-machine'/> <arg value='smbios-entry-point-type=32'/> </commandline>
- Save and close the file.
- Start the VM:
sudo virsh start <VM_internal_name>
Comment