Contribute
Register

How Does The Booting Mechanism Work?

Status
Not open for further replies.
Joined
Jan 29, 2014
Messages
24
Mac
  1. 0
Classic Mac
  1. 0
Mobile Phone
  1. 0
How does the booting mechanism work? What's going on "behind the scenes"?

As a Mac user, I have always had multiple bootable drives in my tower Macs. Switching to a different boot drive was as easy as using the Startup Disk control panel or holding [Option] at boot to select a temporary alternative.

My Frakentosh also has multiple, internal bootable drives, plus a hot swap cage to potentially boot from non-permanent drives as well. Switching boot volumes is iffy at best and disastrous at worst.

My GigaByte BIOS boot mode is set to legacy only. If this is wrong, or there are other boot-related BIOS settings for my situation, please say so.

For this discussion I'll call my bootable drives 'A', 'B' and 'C'. 'A' is the normal boot drive, a Samsung EVO SSD. 'B' and 'C' are spinning disks of different sizes (larger than 'A') that started life as clones of 'A' once 'A' was bootable.

If I always just boot to 'A', there is usually no booting problem, despite EBIOS read errors in the process.

If I have new drives in the hot swap cage when booting, I usually get a kernel panic when booting. (I suspect that the configuration doesn't match cached drive data.) If I boot first, then insert drives into the hot swap slots, no crashes or anything. (But hot swap does not work no matter what I do; I always have to reboot to use different drives in the hot swap slots. That's a discussion for another day.)

If I use the boot loader to select 'B' at startup, it is often unresponsive. That is, the screen blinks then the boot loader returns. Selecting 'B' does not work. Sometimes there a very brief message in the upper-left corner saying it could not find \e drive.

Sometimes, when selecting 'C', it boots to 'B' instead. Sometimes to 'C'. It's a crap shoot.

So, how does booting work? Where does the machine keep track of which drive is the designated boot drive? Is this written to one of the drives? (On Mac is goes into parameter RAM.) What changes it? Does it use drive UUID, SATA port ID or some other parameter? Can this become corrupted?

What's the correct way to change the boot drive temporarily, the boot loader or F-12? It *appears* that F-12 just changes the order of the drives presented by the boot loader, so is F-12 necessary to change the boot disk or should I rely strictly on the boot loader?

One boot loader offers a drive choice every time, another continues automatically without the selector but offers the chance to press a key to call up a selector. Where are these behaviors documented so I can make the best boot loader choice for my needs?

What is in the boot1h file that goes into the first sectors of s2? Is it the same no matter what boot loader is used? Or is it a part of the particular boot loader selected in Multibeast?

For switching boot drives, is one or another of the boot loaders better than the others?

When 'A' goes south, I'm not sure what fixes it, whether it's dd'ing a fresh boot1h or re-running Multibeast for a fresh boot loader. Sometimes nothing fixes it; it just starts working again (no kernel panic) inexplicably after a while.

I'd like to really, really understand the booting mechanism. Someone, please either explain how it works or direct me to where I can read up on it. I'd like to be able to make booting reliable, swap to a different boot volume and back when desired and keep everything working.

TIA.
 
C'mon, guys, I know that someone knows how booting works! I need to understand.

The first step in solving a problem is understanding it. Without knowing how the booting mechanism works, and its limitations, I can not solve the kernel panics I get when switching to another boot volume.

Someone, anyone, please point me to an explanation of what goes on behind the scenes when booting. It would be much appreciated.
 
Status
Not open for further replies.
Back
Top