I have a system that consistently forgets hard drive boot order. I specify it in the BIOS, and after the next reboot, it's gone. My primary boot drive is on an addon card (SAS HBA). The motherboard BIOS setup utility picks up drives on that card just fine. But, however I arrange them in the BIOS's HD boot order is reset on the next power cycle. The drive that actually has my OS on it is never at the top, so the system never boots.
One thing I can count on is that my amnesiac server will always try to boot from optical and USB media before trying any hard drives. Also, the ordering of hard drives that it resets itself to is always the same (unless I rearrange cabling).
What I've Tried:
I've tried updating/resetting the BIOS to fix the root problem, to no avail. I've updated/reset/reconfigured the firmware on my SAS HBA. I've tried contacting the motherboard manufacturer re: the apparent bug, and have been told that there are no free support options available to me. The SAS HBA manufacturer's support line told me to get a different motherboard. I've tried writing a chain-loading bootloader to the beginning of the drive that is always at the top of the list, which broke my RAID setup. I've tried plugging the SAS HBA into different PCIe slots and mucking about with the connection order of drives on the native motherboard SATA links, and on the HBA itself. Unless I physically disconnect all of the motherboard SATA links, the problem persists, and I need those links connected.
I've pretty much given up on solving the root of the problem (the BIOS forgetting HD boot order). Given that I can count on the system trying to boot from USB or optical media first, and that the hard drive I want to boot from is always in the same place in the BIOS order (and presumably device enumeration in most operating systems), is there a boot CD I can configure to make the system boot from an arbitrarily-numbered hard drive automatically?
My ideal solution would go something like this:
- I download an auto-boot CD/USB image.
- I configure its parameters (something like "after a 5 second timeout, autoboot from HDD 04"). This has to be able to select a hard drive other than the BIOS' default boot drive.
- I put the image on USB or optical media, and plug it into the system.
- Every subsequent time I reboot the system, the new loader is run, and automatically tells the system to boot from the correct drive.
I'm technically competent, but have no experience manually configuring GRUB or similar. Where should I start?