Speed up booting time without losing choosing capability in grub

Yes you can. the timing and other attributes can be edited in the file /etc/default/grub.

Just do the following:

  1. sudo nano /etc/default/grub

  2. Change GRUB_TIMEOUT=10 to GRUB_TIMEOUT=0 for fastest loading without waiting for the Grub menu to appear. Now the thing is, if you want to see the menu again, when the pc is starting press ESC like crazy until the Menu appears. The Grub menu will always appear when you press ESC, does not matter if the time is at 0.

  3. After changing the timeout, save it with the command Ctrl+O and you'll be asked for the file name to be saved. Just hit enter which will replace the grub. You can exit the editor by pressing Ctrl+X

  4. Update grub by running (you guessed it): sudo update-grub so the changes can be active after the next boot up.

For the customized power and reset buttons for what I know is not possible "yet" to assign it to the Grub Menu.


 GRUB_TIMEOUT=0

and edit /etc/grub.d/40_custom/, append

if keystatus -s ; then
    timeout=10
else
    boot
fi

rebuild:

 config grub-mkconfig -o /boot/grub/grub.cfg