Published 2025-12-23 by Josue Valentin
After upgrading to QEMU 8.1 or newer, Windows virtual machines running on KVM/libvirt may no longer expose their SMBIOS UUID to the guest operating system. As a result, Windows WMI queries return no UUID.
The Problem
This issue affects software that relies on UUID values, including:
- Veeam Backup and Replication
- Veeam VSPC (Service Provider Console)
- Veeam Agents
- SQL-backed applications that bind configuration or licensing to UUID values
The Solution
To fix this issue, you need to explicitly set the SMBIOS UUID in your VM configuration. Edit the libvirt XML configuration:
<sysinfo type="smbios">
<system>
<entry name="uuid">YOUR-UUID-HERE</entry>
</system>
</sysinfo>
Replace YOUR-UUID-HERE with a valid UUID. You can generate one using:
uuidgen
Verification
After applying the change, verify the UUID is visible in Windows:
wmic csproduct get uuid
Or using PowerShell:
Get-WmiObject -Class Win32_ComputerSystemProduct | Select-Object UUID
This should now return the UUID you configured in the libvirt XML.