La risposta di Jackkobec descrive un metodo di visualizzazione grub.cfg
e scorrimento del codice sorgente per trovare un numero di menu. Un modo più semplice è con questo script :
Grub Version: 2.02~beta2-36ubuntu3.22
┌───────────┤ Use arrow, page, home & end keys. Tab toggle option ├────────────┐
│ Menu No. ----------- Menu Name ----------- │
│ │
│ 1>3 Ubuntu, with Linux 4.15.0-55-generic ↑│
│ 1>6 Ubuntu, with Linux 4.15.0-54-generic ▒│
│ 1>9 Ubuntu, with Linux 4.14.134-0414134-generic ▒│
│ 1>12 Ubuntu, with Linux 4.14.120-0414120-generic ▮│
│ 1>15 Ubuntu, with Linux 4.14.114-0414114-generic ▒│
│ 1>18 Ubuntu, with Linux 4.14.110-0414110-generic ▒│
│ 1>21 Ubuntu, with Linux 4.14.98-041498-generic ▒│
│ 1>24 Ubuntu, with Linux 4.14.89-041489-generic ▒│
│ 1>27 Ubuntu, with Linux 4.14.78-041478-generic ▒│
│ 1>30 Ubuntu, with Linux 4.14.70-041470-generic ▒│
│ 1>33 Ubuntu, with Linux 4.4.0-157-generic ▒│
│ 1>36 Ubuntu, with Linux 3.16.60-031660-generic ▒│
│ 1>36 Ubuntu, with Linux 3.16.60-031660-generic ▒│
│ 2 Ubuntu 18.04.1 LTS (18.04) (on /dev/nvme0n1p10) ▒│
│ 3 Advanced options for Ubuntu 18.04.1 LTS (18.04) (on /dev/nvme0n1p10) ▒│
│ 3>0 Ubuntu (on /dev/nvme0n1p10) ↓│
│ │
│ │
│ [Display Grub Boot] Exit │
│ │
└──────────────────────────────────────────────────────────────────────────────┘
Nota: in questo esempio è grub-menu.sh short
stato utilizzato per chiamare lo script. Il short
parametro elimina queste righe:
│ 1>10 Ubuntu, with Linux 4.14.134-0414134-generic (upstart) ▒│
│ 1>11 Ubuntu, with Linux 4.14.134-0414134-generic (recovery mode) ▒│
Tasti di controllo
Dopo aver fatto scorrere le voci (è possibile utilizzare la rotellina del mouse o i tasti freccia) premere Escapeper tornare alla riga di comando.
Se si premono Enteri comandi grub associati per la voce vengono visualizzati:
menuentry 'Ubuntu, with Linux 4.14.134-0414134-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.14.134-0414134-generic-advanced-b40b3925-70ef-447f-923e-1b05467c00e7' {
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 b40b3925-70ef-447f-923e-1b05467c00e7
else
search --no-floppy --fs-uuid --set=root b40b3925-70ef-447f-923e-1b05467c00e7
fi
echo 'Loading Linux 4.14.134-0414134-generic ...'
linux /boot/vmlinuz-4.14.134-0414134-generic root=UUID=b40b3925-70ef-447f-923e-1b05467c00e7 ro noplymouth fastboot acpiphp.disable=1 pcie_aspm=force vt.handoff=7 i915.fastboot=1 nopti nospectre_v2 nospec mem_sleep_default=deep
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-4.14.134-0414134-generic
}
Press <Enter> to continue
Aggiornamento di grub per l'avvio del kernel precedente
Esiste una serie di comandi grub per ciascuna voce di menu. Le voci compilate sono tutte archiviate nel /boot/grub/grub.cfg
file.
In questo esempio vogliamo che il numero di menu `1> 9> sia impostato come predefinito, quindi usiamo:
sudo -H gedit /etc/default/grub
e trova questa linea:
GRUB_DEFAULT=0
e cambiarlo in questo:
GRUB_DEFAULT="1>9"
Quindi salva il file ed esegui
sudo update-grub
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
Ho commentatoGRUB_HIDDEN_TIMEOUT
e impostatoGRUB_TIMEOUT=0