25.10.4 (kernel 6.12.91) fails to boot in Proxmox VM - virtio-scsi disk not detected

Environment:

- Proxmox VE 9.1.9, kernel 6.17.9-1-pve

- TrueNAS 25.10.3 working fine, upgraded to 25.10.4

- VM config: Q35, OVMF (UEFI), VirtIO-SCSI-PCI controller, 8GB RAM, 2 cores (host type)

- QEMU version: 10.1.2 (pve-qemu-kvm_10.1.2-7)

Problem:

After updating to 25.10.4, the system drops to initramfs shell with:

“cannot import ‘boot-pool’: no such pool available”

Root cause identified:

- Kernel 6.12.91 appears to not initialize virtio-scsi subsystem during early boot in QEMU/KVM environment

- Inside initramfs, /dev/ has NO disk devices (no /dev/sda, /dev/vda, etc.)

- zpool import returns “no pools available”

- The virtio-scsi disk is completely invisible to the kernel 6.12.91 initramfs

- Reverting to 25.10.3 (kernel 6.12.33) boots perfectly with identical VM config

Investigation:

- initrd contains virtio_scsi.ko module - Regenerating initrd via chroot did not resolve the issue

- Tried virtio-scsi-pci, virtio-scsi-single controllers - same result

- Tried SATA and IDE controllers - disk still not visible

- initrd format is plain cpio (not compressed), modules present but not loaded

- /dev/ contains only ttys, mem, random, urandom - no block devices whatsoever

- Problem persists regardless of SCSI controller type or disk bus type

- Similar issue reported with 25.10.2 on Proxmox: Upgrade to 25.10.2 fails on Proxmox VM

Workaround:

- zectl activate 25.10.3 from initramfs (after manually importing pool)

- OR revert boot environment from Proxmox host

Expected: 25.10.4 should boot with the same VM hardware config as 25.10.3

1 Like

Try adding modules_load=virtio-scsi to the TrueNAS kernel command line via midclt call system.advanced.update '{ "kernel_extra_options": "modules_load=virtio-scsi" }'. You may also need to include the other virtio drivers, like virtio-mem and virtio-net.

I had the same issue while updating from 25.10.3.1 to 25.10.4.

I was missing the iommu command in Proxmox Grub.
"GRUB_CMDLINE_LINUX_DEFAULT=“quiet intel_iommu=on iommu=pt”

Strangely, I had them on before. A Proxmox update must have removed it.

Since rebooting Proxmox, TrueNAS has updated successfully.

Hi, done this but did not solve the issue. It was just a configuration setting on the VM machine, thank you for the reply anyway.

1 Like

Hi, I was missing those lines there, but it did not fix the issue. It made me recheck some settings on the VM and I had vIOMMU: VirtIO and changed it to Default and now it works. Thank you for your time.

1 Like

Correct, you do not need vIOMMU when you enable IOMMU on the Proxmox host. So, vIOMMU set to default(none) is the correct choice. Same as my setup. Glad that it is all working!

1 Like

I ran into the exact same issue after updating to 25.10.4 on a TrueNAS SCALE VM in Proxmox.

The system would drop into initramfs during boot, and zpool import showed no pools, even though everything was fine before the update.

After reading your post, I removed viommu=virtio by setting the machine to q35 in the VM config (qm set <vmid> -machine q35), and the system booted normally again.

fun fact: AI was completely lost, luckily there are still people in forums who take the time to share their solutions :waving_hand: Thank you guys :heart: