I had the same problem, but just hitting ESC would show me a so called GRUB CLI. It's not a menu but rather a console.
I don't think there is a way to change timeout settings from that GRUB CLI, however, there is a way to instruct it to load specific kernel with specific options.
So, the first thing I did is I printed the current grub config.
cat /etc/default/grub
It can print too much, so we need some kind of pagination:
set pager=1
Once we do that, you can find something similar in that output:
menuentry 'Ubuntu, with Linux 4.14.27-041427-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.14.27-041427-generic-advanced-f3f8e7bc-b337-4194-88b8-3a513f6be55b' {
recordfail
savedefault
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root f3f8e7bc-b337-4194-88b8-3a513f6be55b
else
search --no-floppy --fs-uuid --set=root f3f8e7bc-b337-4194-88b8-3a513f6be55b
fi
echo 'Loading Linux 4.14.27-041427-generic ...'
linux /boot/vmlinuz-4.14.27-041427-generic root=UUID=f3f8e7bc-b337-4194-88b8-3a513f6be55b ro quiet splash loglevel=0 vga=current udev.log-priority=3 fastboot kaslr acpiphp.disable=1 crashkernel=384M-2G:128M,2G-:256M $vt_handoff
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-4.14.27-041427-generic
So, what I did next was I took a photo of everything in that entry, finished pagination until I get back to GRUB CLI.
And started to copy over the commands ignoring 'if' anc 'echo' statements:
recordfail
savedefault
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod part_gpt
insmod ext2
search --no-floppy --fs-uuid --set=root f3f8e7bc-b337-4194-88b8-3a513f6be55b
linux /boot/vmlinuz-4.14.27-041427-generic root=UUID=f3f8e7bc-b337-4194-88b8-3a513f6be55b ro quiet splash loglevel=0 vga=current udev.log-priority=3 fastboot kaslr acpiphp.disable=1 crashkernel=384M-2G:128M,2G-:256M $vt_handoff
initrd /boot/initrd.img-4.14.27-041427-generic
Note: TAB will help you to choose the right linux and initrd, type /boot/vmlinuz and then TAB, you will be prompted with options. Same for initrd, type /boot/initrd and TAB.
The root uuids are very important, make sure you typed them correctly. Also, since I lost my root password I wanted to start a single user recovery mode in order to set the password, so to the end of the linux xxx
I have added recovery single
.
The last thing you need to do is to execute in the GRUB CLI:
boot
That will load the linux using the data provided above. In my case I got to recovery and changed the user password using passwd
command.
Hope that helps.