Boot SSD not recognized in BIOS after reboot — drive visible under SystemRescue via LSI 9305-16i (IT mode)

Running the latest version of TrueNAS SCALE. The system was working perfectly until a normal reboot — after restarting, the boot drive no longer appears in the BIOS boot menu.

I’m using an LSI 9305-16i HBA flashed in IT mode, connected to multiple SAS 2.5" drives (data + boot).

To troubleshoot, I booted a Ventoy USB and loaded SystemRescue Linux.

  • All drives connected to the HBA are detected correctly with lsblk, including the boot SSD.
  • The boot SSD shows its ZFS “boot-pool” and an EFI partition.
  • All drives spin up normally when the server powers on.

Despite that, the BIOS doesn’t list the SSD as a bootable option anymore.
The system only sees my USB boot device; the SAS boot drive is completely absent from the boot menu.

Things I’ve already checked:

  • Verified all drives appear in Linux
  • LSI controller detected and functioning properly
  • EFI partition intact (mounted and readable)
  • BIOS updated to latest version
  • “Storage Boot Option Control” and “PCIe ROM Priority” both set to UEFI Only
  • All drives spin up at power-on

Hardware:

  • Motherboard: Gigabyte B550 Gaming X V2
  • CPU: AMD Ryzen 5 5650G Pro
  • HBA Controller: LSI 9305-16i (IT mode)
  • SAS 2.5" SSD as TrueNAS boot drive

At this point, I’m completely out of ideas. The drive works fine under Linux, but the BIOS refuses to recognize it as a bootable device.


Have you tried a reset CMOS? Have you tried to disable fast boot/quick boot and secure boot?

I have faced a similar problem where a PC could load the device until a reboot, then it detect correctly the disk, but as you facing wasn’t listed anymore on boot devices.
After digging into It, i seen that manually deleting the line with efibootmgr or clearing CMOS repair the boot until a reboot. I had to reflash the BIOS (not update) to fix this

Thanks for the suggestions.
Fast Boot was already disabled, and I tried disabling Secure Boot as well, but that didn’t make any difference. I then performed a CMOS reset — however, after that, I can’t even access the bootloader anymore.

The server powers on (fans are spinning, lights are on), but I can’t get into the boot menu no matter how many times I restart. Now I’m stuck and not sure what to do next. Is my motherboard now completely dead?

Edit
So I did manage to get the BIOS back reflashing the BIOS using quickflash. Boot SSD still doesnt show up unfortunately.

I’m sorry but i don’t have quite understand what happens: the clear CMOS shouldn’t prevent you to access the BIOS, unless some fancy settings disable USB device on startup (sometimes Is called Legacy USB support) giving that sensation.
What efibootmgr -v shows?

I assume the BIOS got corrupted during the CMOS reset. The server was starting but it just gave me a blackscreen I couldnt get back into the BIOS Menu and i didnt even get a start up screen. But I fixed it with a fresh install of the newest BIOS version so thats fine now.
efibootmgr -v unfortunately doesnt show anything. My truenas ssd is not shown and I dont know why as it worked fine the months before. I am unsure if I can manually add it with a command like efibootmgr -c -d /dev/sdj -p 2 -L "TrueNAS" -l '\EFI\BOOT\BOOTX64.EFI' or if this just breaks more.

very odd, do you have changed the CMOS battery? sometimes mainboard act weird if the voltage Is not good, already on 2.8~2.9v

I was suggesting that. Shouldn’t be critical, but i’m not 100% sure about the specific command

Yes it happened after I removed the CMOS battery to reset and then put it back in.

A command would be really useful though, I found very little on it and don’t want to use the wrong one. I am a bit worried that manually adding the drive with the wrong command might break something else in the system.
As far as I understand it only gives the drive a custom name in the bios and puts it as boot priority in the list however since the drive isn’t recognized by the bios I am not sure that would do the trick.

I was thinking of perhaps copying or cloning the boot drive onto a new Sata drive or USB Stick to try and boot from that. I am not sure if that would cause UUID errors or if I would have to reconfigure grub. Would that be a viable solution at all?

Really stupid question; does the drive work on any other system you have? If so, you can copy the config & at least you have something to play with now.

The manual add afaik shouldn’t impact anything else in the system, that can’t be recovered with a good clear cmos (or deleting the added entry), but i don’t wanna say you is 100% safe because the only one time i have tried those stuff was on non-important data, and i could go quite deep with attempt without the fear to lose anything.
Following this guide your command seems correct to me.
Also @Fleshmauler point to something that should be verified, but don’t know if you can test this disk in another system easily

What does that mean exactly?

This suggests that the HBA may lack the UEFI code to operate as a boot device.
sas3flash -list to check.

Is there any reason to boot from a SAS drive rather than from a plain SATA or NVMe drive attached directly to the motherboard?

Unfortunately I dont have any other system with a HBA controller so I cant connect my SAS drive anywhere. I was thinking about copying the config and doing a fresh install on a standard SATA drive but I am not entirely sure how or if that would even work.
Does the config have all the important data of my os drive or will I still loose all my settings, pools, tasks and datasets?

Yea sadly I cant test it on another system. I will try adding the entry manually, hopefully it wont impact the BIOS in any way. Besies a separate system I dont think there is another proper way to test if my drive is working fine. I can only assume it is fine from what I tested until now.

I meant that the drive and its partitions are recognized just fine in a linux live os when I boot from a USB stick to check (as seen in the screenshots). So I assumed the drive itself is working fine, however it does not appear as a bootable device in my BIOS menu.

Is there any way to add the UEFI code or why the HBA lost it in the first place as I didnt remove it? I will check once I get back to my server

No, not really. It was just how I set up my server when I first installed it and I dont know how to get all the data of my drive now to put it on a simple SATA drive from the motherboar directly. I have been told that I should never clone OS drives so I am not sure if there are other ways.

If you have a backup of the config you’d just install truenas on the new drive & then import config from the gui. It’d basically import everything - done it several times myself, no issues.

Same as falshing the HBA to IT mode: The UEFI firmware is an auxiliary file in this process in this process.
Although there’s no reason why the card would have lost it if it had been working for months…

I think that there’s a way to recover the configuration from the system dataset, if you can boot to a ZFS-enabled OS and access the pool, at least read-only.

Unfortunately I dont have the recent config. That does sound like a good option though if I can find a way to get my config of the os drive.

Yea thats whats perplexing to me as well. It just seems very unlikely to just disappear like that. I’ll still be checking once I can get back to my server just in case.

While I can boot into a live linux os like systemrescue from a ventoy usb I havent fully figured out how to access or even find the config with just a command line.

I am not entirely sure how it fixed it but after testing something out in the BIOS and changing the boot settings for storage and PCI from “UEFI only” to “Legacy only” it suddenly was able to recognize the boot drive in the HBA controller again and started up normally.
The server did have a different IP now although I was fairly confident in having given it a static IP-Adress but otherwise seems to work. I already ordered a new SATA SSD and I’ll probably do a fresh TrueNAS install on it and import my config since I now have access to it again.