[FIX] TrueNAS 26 Beta stuck in initramfs / “Failed to import boot-pool” — VFIO was grabbing my boot NVMe
I originally installed HexOS, then I personally decided to upgrade the underlying TrueNAS install to 26.0.0-BETA.1. Looking back, running my actual server on an unsupported beta was probably not my best idea.
It worked fine for quite a while, until one normal reboot suddenly dropped me into (initramfs) because TrueNAS couldn’t import boot-pool.
BIOS still saw every drive, and my older 25.10.3 boot environment still worked, so the NVMe itself wasn’t dead.
The actual problem turned out to be VFIO grabbing my boot NVMe.
On working 25.10.3, my boot controller 0000:04:00.0 used:
.../drivers/nvme
On broken 26 Beta it was using:
.../drivers/vfio-pci
I found that TrueNAS had generated:
/etc/initramfs-tools/scripts/init-top/truenas_bind_vfio.sh
and the device list inside it actually included my boot NVMe.
The source was an old GPU isolation/passthrough setting. I cleared that setting in the 26 config, then booted once with break=top in GRUB so I could temporarily disable the bad VFIO script before it ran.
Once 26 successfully booted, I rebuilt the initramfs with:
python3 /usr/local/bin/truenas-initrd.py / --database /data/freenas-v1.db
After that, the VFIO script was gone from the rebuilt initramfs and a normal reboot worked.
Everything is back: all pools online, apps running, and the boot NVMe is using the correct nvme driver again.
In short:
Boot into an older working TrueNAS boot environment.
Remove the GPU isolation setting that caused the boot NVMe to be included in the VFIO device list.
Boot 26 once with break=top, disable truenas_bind_vfio.sh for that boot, then rebuild the 26 initramfs from inside 26:
python3 /usr/local/bin/truenas-initrd.py / --database /data/freenas-v1.db
Reboot normally
TL;DR: if TrueNAS 26 Beta suddenly says Failed to import boot-pool, BIOS still sees your drives, and an older boot environment works, check whether vfio-pci has grabbed your boot controller.
In my case, GPU isolation caused TrueNAS 26 Beta to include the boot NVMe in its VFIO device list.
If anyone hits the exact same issue, I have the full troubleshooting process and commands.