It is likely that your
/etc/default/grub file contains these two lines:
Can't understand why they leave these options there, since they are deprecated in favor of
GRUB_TIMEOUT_STYLE according to
info -f grub -n 'Simple configuration'.
Commenting out these two options make the grub menu appears right away when booting (idea taken from here). This leads to another problem that initially I didn't have: after choosing the option from grub, the system hangs in a black screen. To solve this one, go back to
/etc/default/grub and change the line:
Besides commenting out the two hidden timeout options mentioned, I also added
GRUB_TIMEOUT_STYLE=hidden and set
GRUB_TIMEOUT=2. This way the grub menu is hidden but if during the 2 seconds interval you press ESC you get the menu back. Otherwise you boot to your default option.
You might leave
quiet splash before
nomodeset to keep the good looking boot process:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"
nomodeset introduced a new problem for me: can't control brightness anymore with fn keys. Once I figure a solution I'll update this.