cjk32 at cam.ac.uk
Wed Aug 22 04:27:54 PDT 2007
I've a machine with 3 SATA drives. The first (ad8) with a standard
FreeBSD install in a single slice with /boot/boot0 MBR. The remaining
two drives (ad10, ad12) are in a RAID1 mirror with 3 slices, and used
for storing data. They have the /boot/mbr MBR.
After booting off various USB flash drives to try and update the BIOS on
my machine, it got into a state where during startup, it would display
'Missing operating system' and hang. What seems to have been happening
is that it was trying to boot from one of my data store drives, despite
the boot order of the disks set in the BIOS.
The only solution that I found was to start booting from a USB flash
drive with a boot0 MBR, and to hit F5 to change to booting from my first
drive After this, the machine then reboots quite happily until I hit F5
again, in which case I get the same 'Missing operating behavior'. This
persists even while power cycling the machine.
I had imagined the boot process to be entirely stateless, certainly
across power cycles. The BIOS executes the MBR on the first drive in
its boot boot. The boot0 MBR then allowed you to either execute the
boot sector from any of the slices on the current drive, or to execute
the MBR from the next drive in the list.
However, this clearly isn't what's happening. Is it boot0 remembering
my F5 key stroke, or is it more likely that the BIOS is remembering
something? Does anyone have any recommendations to avoid this in the
future? Is putting boot0 on all three drives a good idea perhaps?
More information about the freebsd-questions