Ok I figured it out sharing for someone else that might run into this. It appears that the VM somehow (maybe mis-clicking in the PCI checkboxes?) was configured to grab the SATA controller (specifically device 09:00.1 which doesn't exist for passthrough. When the VM attempted to start (it is set to auto-start), it tried to detach the SATA controller from Unraid to give it to the VM. This caused the controller to reset, dropping the disks (sdf and sdg). Because the VM fails to boot (due to the missing 09:00.1 device error), the controller eventually re-initializes, and Unraid sees the disks again but assigns them new letters (sdh, sdi). Here is how to fix it: 1. Stop the VM Service: Go to Settings > VM Manager. Set Enable VMs to No. Click Apply. This stops the boot loop and disk drops while you fix the config. 2. Edit the Ubuntu VM: Set Enable VMs back to Yes (but do not start the Ubuntu VM yet). Go to the Vms tab. Click the icon for the Ubuntu VM and select Edit. Switch to XML View (toggle usually in the top right) or look at the "Other PCI Devices" section in the Form View. Look for a <hostdev> section that references bus='0x09' and slot='0x00'. It will look something like this: XML <hostdev mode='subsystem' type='pci' managed='yes'>
<source>
<address domain='0x0000' bus='0x09' slot='0x00' function='0x0'/>
</source>
...
</hostdev>Remove this entire entry (and any for function='0x1' if present). These entries are telling the VM to steal your SATA card. Ensure only your GPU (like0a:00.0 and 0a:00.1) and USB controller (if applicable) are selected. 3. Save and Boot: Click Update to save the VM template. Try starting the VM. It should now boot without resetting your disk controller. If the array is stopped, you may need to start it and stop/start the VM service once more to clear the "missing disk" errors if Unraid temporarily marked them as red 'x'. Why this happened: The logs showed libvirt failing to find device 0000:09:00.1 and failing to autostart the Ubuntu VM.