How to force Startup Manager menu to appear at every boot?

Solution 1:

I'm not sure this is possible by default without holding down the key at startup. You can make the Boot Camp partition always boot by selecting it in System Preferences → Startup Disk, but it sounds like this isn't what you want.

However, if you're not adverse to installing additional software, I think rEFIt may do what you need. The section on Getting into the rEFIt menu says:

If you have installed rEFIt on your Mac OS X volume, it will be loaded automatically when the Mac starts up.

You should then be able to select whichever OS you want to boot from there.

Solution 2:

You don't without modifying things on a low level or adding custom software like the awesome Boot Runner. When a mac can't find the first viable image to boot, it's programmed to get the prohibitory icon - not the boot picker.

Intel Macs have the following basic behavior at boot time when the chime indicates a successful POST. This is the hardware behavior and unless you rewrite the code / replace the hardware, you are bound by this functionality.

  1. read the value of the startup disk from NVRAM
  2. try to find that volume
  3. launch mach_kernel (or EFI on Windows / Linux side of things) and exit
  4. if that volume is not present (or NVRAM is reset to defaults), find the first viable boot volume in the local device tree and hand things off to mach_kernel (et. al.) so the boot process can exit

The only deviations from this are when you press one of the startup key combinations to alter this list.

  • Startup key combinations for Intel-based Macs

So, you can:

  • press a key each time
  • introduce only the volume you want to boot (which bypasses the screen you wanted to see - but might get you the end result)
  • set an alternate bootable image like rEFIt in NVRAM
  • get into hardware / firmware hacking to make this the default

I don't know of a good guide to the last bullet point, but internet fame awaits someone (perhaps you!) that figures a nice way to hack a mac to show the boot screen as you ask.