Boot Options

Introduction

How to select non-standard boot options.

Designers

Objectives

  • Accommodate modern "designed for Window 8" hardware
  • Accommodate legacy "quick boot" BIOS settings
  • Don't delay startup
  • Allow
    • Boot into Windows
    • Boot a USB stick
    • Change settings in BIOS
    • Use Recovery options
    • Change boot options

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 8

Method 1: Shift+Restart

You can also hold Shift while clicking Restart in the Shut Down menu to restart your computer into the boot options menu.

Method 2: Startup Settings

settings

Method 3: Commandline

shutdown /r /o

Method 4: Install media

Boot Menu

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

Simple by default

Main use case - single OS, no boot menu, no OS boot options. Just boot. Fast. Optimize for this scenario.

https://www.youtube.com/watch?v=Ho_bHUhB7uE

FIXME: To enter bios settings/system menu, the only way is through an easter egg.

https://gitlab.gnome.org/Community/Design/settings-mockups/raw/master/boot/boot-options.png

Multiple OS installed

Selecting from multiple operating systems is best to happen when powering the machine on. When multiple OSes are installed, the USB is enumerated and keyboard is available at boot time. This adds some extra time, but allows to hold a key at boot time to select to access a different OS/allows to use a timeout to enter the OS selection menu.

Recovery

Atomic future: We do not present a list of older kernels to boot from. Every non-successful boot is tracked and upon the next boot, if detected, an option to boot the last known bootable system revision is presented.

FIXME: mockup

The painful present: When an unsuccessful previous boot is detected, previously installed and recovery kernels are presented to boot.

FIXME: mockup

Encrypted single user

Major platform for GNOME are notebooks. There is a clear desire to use encrypted flesystem on those in case it gets stolen/lost. We should not require to authorize again after unlocking the filesystem.

https://raw.githubusercontent.com/gnome-design-team/gnome-mockups/master/system-lock-login-boot/boot-luks-password.png

Offline Updates

When offline updates are to be performed, the boot selection is not shown, even on a multiboot system. Whether it is performed in the current session before the reboot, or a reboot is performed (twice), is irrelevant, as long as the process communicates well hat updates are being installed and you shouldnt turn off the machine.

https://raw.githubusercontent.com/gnome-design-team/gnome-mockups/master/system-lock-login-boot/boot-updates-installing.png

Comments

See Also

Design/OS/BootOptions (last edited 2018-06-15 14:57:55 by JakubSteiner)