[Bug 425979] Re: [UEFI boot only] Holding shift fails to display grub2 menu

Mate Kukri 425979 at bugs.launchpad.net
Mon Feb 26 08:31:22 UTC 2024


I believe this is intended behavior of GRUB on UEFI, and has been like
this for years:

> "During boot, the system will check the SHIFT key status. If it cannot
determine the key status, a short delay will enable the user to display
the menu by pressing the ESC key."

As "cjwatson" said on the Debian #902928, I also don't believe UEFI
allows us to easily check modifier state, as such I am not sure if any
course of action is appropriate here.

Setting this to "Incomplete" to leave time for people to propose any
action items, and downgrading severity to "Wishlist" (seems appropriate
given this was open for 15 years).

** Changed in: grub2 (Ubuntu)
   Importance: High => Wishlist

** Changed in: grub2 (Ubuntu)
       Status: In Progress => Incomplete

** Changed in: grub2 (Ubuntu)
     Assignee: TJ (tj) => (unassigned)

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to grub2 in Ubuntu.
https://bugs.launchpad.net/bugs/425979

Title:
  [UEFI boot only] Holding shift fails to display grub2 menu

Status in grub2 package in Ubuntu:
  Incomplete

Bug description:
  Binary package hint: grub2

  Ubuntu added a patch on top of mainline GRUB and Debian such that holding down the Shift modifier key during boot will cause it to display
  the hidden boot menu.

  In the original IBM PC/AT design the modifier keys (Shifts, Ctrls, Alts) are handled separately to all other keys. Instead of reporting state transitions there is an I/O port register that is read by the software where each bit position represents the current state of the associated
  modifier key.

  The functionality to read this I/O port register works correctly for
  BIOS systems or UEFI systems starting in Legacy/CSM mode.

  On UEFI systems this does not work. The reasons are:

  1. At the time this Ubuntu-specific functionality was added to Ubuntu
  the UEFI specification, and UEFI implementations by manufacturers, did
  not provide a way to detect the state of the modifier keys.

  2. UEFI only provides the same mechanism as for all other keys: detect
  a transition of state (key_down or key_up).

  3. When GRUB timeout is set to 0 (zero) there is no way to detect a
  key press transition.

  It appears that UEFI specification version 2.4 may now support the
  required reading of modifier key state so I shall be investigating
  whether we can now add support for UEFI systems that implement the
  v2.4 specification.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/425979/+subscriptions




More information about the foundations-bugs mailing list