I have this in my old notes:
Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
And one user a long time ago posted this:
Solved by editing the grub file. GRUB_HIDDEN_TIMEOUT_QUIET was =true. Setting it to =false gave me the boot options at startup and can now freely boot into windows or ubuntu.
My grub.cfg, I typically run a small script to edit it with a new install to my preferred settings.
And timeout is 3 seconds, I have to be quick if I want to change to a different grub entry.
Code:
fred@z170-focal-k:~$ cat /etc/default/grub
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=3
#GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="noplymouth"
GRUB_CMDLINE_LINUX=""
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
GRUB_DISABLE_OS_PROBER=true
GRUB_DISTRIBUTOR=kubuntu
With old BIOS, system powered on and read the code on the chip. Your basic choices were to choose a hard drive (if newer BIOS and drives with cable select) or jumper pins to choose which drive.
With UEFI, you have both old BIOS as CSM and newer UEFI. It has more graphics and choices, but still loads from EEROM and using choices you have selected loads boot files from the ESP. You can have on each drive an ESP, so it uses the GUID of the partition to know which ESP to use. And then find file to load. That is end of UEFI and start of grub2 or any other boot loader you may use.
I have set in UEFI to boot entry 0002 as default. Using the GUID/partUUID to find shimx64.efi
Code:
fred@z170-focal-k:~$ sudo efibootmgr -v
[sudo] password for fred:
BootCurrent: 0002
Timeout: 1 seconds
BootOrder: 0002,0000,0012,0013,0014,0005,0010,0001
Boot0000* ubuntu HD(1,GPT,e58602b1-8fc4-46d1-991f-1d6511d9cdf4,0x800,0xff1b9)/File(\EFI\UBUNTU\SHIMX64.EFI)
Boot0001* bionic_18_04 VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)
Boot0002* focal HD(1,GPT,c90a60b4-dbf4-4ab4-af2c-e2c7c03eeed1,0x800,0x100000)/File(\EFI\FOCAL\SHIMX64.EFI)
B
Code:
nvme0n1 465.8G
├─nvme0n1p1 /boot/efi ESP_NVME 512M vfat 4954-C122 c90a60b4-dbf4-4ab4-af2c-e2c7c03eeed1
├─nvme0n1p2 focal_0 29.3G ext4 b913e1bc-6f08-4984-b653-9a604d95470a 043d0f2a-48f1-4bcd-8d8b-df02a242436c
├─nvme0n1p3 / focal_k 29.3G ext4 54029c4f-0cbe-413e-80ce-78a4995b0551 c4d96c9e-eebb-43e6-b1b0-7ece2306cfee
├─nvme0n1p4 29.3G ext4 dd5925b4-0250-4f6d-b59e-165f85365721 a4d9289a-6beb-4e64-b11e-65aba5ddb884
└─nvme0n1p5 /mnt/data nvme_data 195.3G ext4 1a44f4af-6780-4bbd-ad0b-6385ed30830b dfd49ef3-46a6-4cad-8f64-7b1696fba6fb
Shimx64.efi requires /EFI/ubuntu/grub.cfg which is a configfile into the full grub.cfg in your install.
Code:
fred@z170-focal-k:~$ sudo cat /boot/efi/EFI/ubuntu/grub.cfg
search.fs_uuid 54029c4f-0cbe-413e-80ce-78a4995b0551 root
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg
And that finds my full grub.cfg in my Ubuntu install.
Bookmarks