Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Subject: Unraid 7.2.3: UEFI VM Cloning Produces Non‑Bootable Guests (Missing NVRAM, Inherited Hostdevs, Incorrect XML)

Hi folks, this issue has taken me an inordinate amount of time to identify.

My environment:

  • Unraid OS: 7.2.3

  • VM Type: UEFI (OVMF)

  • Guest OS: Debian 12 (but issue is hypervisor‑level, not guest‑specific)

  • Hypervisor: KVM/QEMU via libvirt

  • Storage: vdisk1.img on /mnt/user/domains/<vmname>/

UEFI VMs are the default for most modern OSes.

Cloning is essential for:

  • staging changes

  • testing upgrades

  • templating

  • disaster recovery

  • snapshot‑style workflows

At present, cloning a UEFI VM requires manual intervention in multiple areas of the XML and filesystem, which is error‑prone and not discoverable.

Summary of the Problem

Cloning a UEFI VM via the Unraid VM Manager produces a VM definition that is not bootable, even when:

  • The vdisk is valid

  • The vdisk path is correct

  • No passthrough devices are assigned

  • No ISO is attached

  • Boot order is correct

  • BIOS type matches the source VM

The cloned VM always drops into OVMF BIOS and cannot locate a bootloader.

This behaviour is fully reproducible.

Root Cause Analysis

After detailed inspection of the generated XML and libvirt runtime state, the following issues are present in every clone:

1. Missing NVRAM (VARS) file for the cloned VM

The source VM has:

Code

<nvram>/etc/libvirt/qemu/nvram/<UUID>_VARS-pure-efi.fd</nvram>

The cloned VM’s XML references a different UUID, but no corresponding VARS file is created in:

Code

/etc/libvirt/qemu/nvram/

As a result, OVMF has:

  • no EFI variables

  • no boot entries

  • no BootOrder

  • no saved boot manager state

This alone is sufficient to cause a drop into BIOS.

Manual fix (works):

Code

cp /etc/libvirt/qemu/nvram/<sourceUUID>_VARS-pure-efi.fd \

/etc/libvirt/qemu/nvram/<cloneUUID>_VARS-pure-efi.fd

Then update the <nvram> path in the clone’s XML.

2. Inherited passthrough <hostdev> blocks

The clone inherits all <hostdev> entries from the source VM, including GPU audio functions, USB controllers, NVMe devices, etc.

If the source VM is running, the clone cannot start because the PCI devices are already bound to vfio-pci by the source domain.

Even when removed in the GUI, the XML may still contain stale <hostdev> blocks.

3. Inherited ISO <disk device='cdrom'> block

Even when the GUI shows “None” for OS Install ISO, the cloned XML still contains:

Code

<disk type='file' device='cdrom'>

<source file='/mnt/user/isos/<installer>.iso'/>

</disk>

This causes QEMU to prioritize the CD-ROM device unless boot order is explicitly overridden.

4. Boot order is not reset

The clone inherits the source VM’s boot order, which may prioritize:

  • CD-ROM

  • Network boot

  • Nonexistent devices

Combined with missing NVRAM, this guarantees a BIOS drop.

5. vdisk path is correct, but clone still fails to boot

Even when pointing the clone directly at the source VM’s known‑good vdisk, the clone still drops into BIOS.

This confirms the issue is not related to:

  • vdisk corruption

  • block‑commit

  • snapshot chain

  • copy failure

The failure is entirely in the VM definition (XML + missing NVRAM).

Steps to Reproduce (Minimal)

  1. Create a UEFI VM (OVMF)

  2. Shut it down

  3. Use Clone in VM Manager

  4. Manually copy the vdisk to the clone’s folder

  5. Start the cloned VM

Result: VM enters OVMF BIOS and cannot boot.

Expected Behaviour

Cloning a VM should:

  1. Generate a new NVRAM (VARS) file

  2. Remove passthrough devices unless explicitly selected

  3. Remove ISO references

  4. Reset boot order to vdisk first

  5. Produce a bootable clone without manual XML editing

Actual Behaviour

Cloning produces a VM that:

  1. Has no NVRAM file

  2. Contains stale passthrough hostdevs

  3. Contains stale ISO references

  4. Has incorrect boot order

  5. Cannot boot even with a known‑good vdisk

Questions for Lime Technology:

  1. Is the absence of automatic NVRAM generation for cloned UEFI VMs a known limitation in 7.2.3?

  2. Is there an officially supported method to clone UEFI VMs without manual XML/NVRAM intervention?

  3. Is automatic NVRAM creation planned for a future 7.x release?

  4. Should the VM Manager remove inherited hostdev and ISO blocks when cloning?

  5. Is the VM Manager rewrite (mentioned in prior forum posts) expected to address these issues?

sagittarius-diagnostics-20260107-2100.zip

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.