Boot Options

How to access boot options when needed, but also have a quick and seamless boot experience when they're not needed.

Objectives

  • Accommodate modern "designed for Window 10" hardware
  • Accommodate legacy "quick boot" BIOS settings
  • As much as possible, don't delay startup, and don't add extra visual steps. Boot should be quick, smooth and seamless.
  • The boot options menu needs to be accessible from bootable live sessions, since editing the Linux boot command is necessary to get some hardware to work.
  • Boot options menu needs to allow:
    • Booting into multiple operating systems
    • Accessing the BIOS settings (accessing these by pressing a key during boot isn't always available, UEFI allows rebooting into the BIOS settings as an alternative)
    • Booting into different recovery options for installed operating systems (for Linux distributions this is typically booting old versions of the kernel that are still around, and booting into "rescue mode")
    • Editing boot command for Linux distributions

Constraints

USB enumeration takes considerable amount of time and is therefor turned off for something called "fast boot". That prevents us from capturing a keyboard press during boot to bring up a selection menu. This implies a different path for entering BIOS options and recovery for fast boot.

Relevant Art

Windows 10

How to access boot options on Windows 10.

Method 1: hold shift and click restart

Hold shift while clicking restart in the shut down menu. This shows the options screen after reboot:

https://rivernetcomputers.com/wp-content/uploads/2017/01/best-ways-access-windows-10-boot.jpg

Method 2: press F11 during boot

Pressing F11 during boot will show an advanced options screen on many computers:

https://img.purch.com/o/aHR0cDovL3d3dy5sYXB0b3BtYWcuY29tL2ltYWdlcy93cC9wdXJjaC1hcGkvaW5jb250ZW50LzIwMTcvMDIvMTQ4NjE1MDA0NS02NzB4Mzk3LnBuZw==

Method 3: use the recovery settings

Select restart under "advanced startup" in the settings:

https://img.purch.com/o/aHR0cDovL3d3dy5sYXB0b3BtYWcuY29tL2ltYWdlcy93cC9wdXJjaC1hcGkvaW5jb250ZW50LzIwMTcvMDIvMTQ4NjE1MDc2MV82MDMuNzY3MjcyNzI3Mjc0MDMucG5n

Method 4: boot from install media

Booting off install media allows accessing the options screen shown under method 1.

Mac

https://support.apple.com/library/content/dam/edam/applecare/images/en_US/macos/macos-sierra-startup-disk.png

Discussion

  • On most newer "designed for Windows 8" EFI machines the BIOS does not initialize USB anymore at boot time, and the first time USB is set up is in the operating system. This means input is not available until then, and you cannot get into the BIOS setup anymore or the boot loader menu without the OS asking for it. Pressing F2 to get into BIOS is not available, because F2 is not read...
  • Some older (pre windows 8) EFI desktop machines have a big "quick boot" switch in the BIOS setup that gets rid of USB during boot as well. With that mode enabled one cannot get back into the Firmware nicely at all currently, because we have no tool that sets the EFI flag to reenable the BIOS setup stuff. (But Peter Jones actually has a systemd patch which adds that). The only way back into the BIOS setup is to press the power button for 5s when the machine is off which disables the "quick boot" mode, but that appears to be a manufacturer hack, and other machines do this differently if at all. (The mainboard vendor is Intel.)
  • Other older (pre windows 8) EFI machines have the same feature, with a different way out, but it's not as problematic there, since the keyboard is connected via AT bus and that is still initialized and works. There you can just press a key and get in the BIOS like always.
  • Microsoft claims that because firmware boot times can be so quick now that there is no time to hit any firmware key. There's a long blog story about that: https://blogs.msdn.com/b/b8/archive/2012/05/22/designing-for-pcs-that-boot-faster-than-ever-before.aspx?Redirected=true

Tentative Design

https://gitlab.gnome.org/Teams/Design/os-mockups/raw/master/boot/boot-menu.png?inline=false

Comments

See Also

Design/OS/BootOptions (last edited 2019-01-11 10:37:43 by AllanDay)