Fixing Missing SMBIOS UUID in Windows VMs on KVM/QEMU 8.1+

Technical guide to addressing UUID exposure issues affecting backup and virtualization software after QEMU upgrades.

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:

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.