|
Dimensione: 14198
Commento: +DaRevisionare
|
← Versione 20 del 28/11/2025 20.00.22 ⇥
Dimensione: 15768
Commento: portato e revisionato da corradoventu/prova1
|
| Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
| Linea 4: | Linea 4: |
| <<Indice(depth=2)>> | <<Indice(depth=1)>> |
| Linea 6: | Linea 6: |
| <<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=82907"; rilasci="20.04 18.04 16.04 14.04")>> | <<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=82907"; rilasci="20.04 22.04 24.04 25.04")>> |
| Linea 10: | Linea 10: |
| Questa guida illustra i contenuti basilari dei file di configurazione del [[https://it.wikipedia.org/wiki/Boot_loader|bootloader]] [[AmministrazioneSistema/Grub|Grub2]]. = File e cartelle = I file necessari al funzionamento di '''Grub''' continuano a risiedere nella directory `/boot/grub`, ma il file `menu.lst` è stato sostituito con `grub.cfg`, il nuovo file con le istruzioni per '''Grub 2'''. Questo file è generato da diversi script attraverso l'uso dei comandi '''update-grub''' o '''update-grub2'''. I file responsabili del contenuto di `grub.cfg` sono `/etc/default/grub` e gli script individuali allocati nella directory `/etc/grub.d/`. Molti dei file presenti in `/boot/grub` non saranno familiari agli utenti di '''Grub Legacy''', in particolar modo i file con estensione `.mod`.<<BR>> '''Grub 2''' è modulare e tali file sono necessari al caricamento del programma stesso.<<BR>> Nonostante l'aggiunta di questi file, la grandezza totale del contenuto di `/boot/grub` è abbastanza vicina a quella della vecchia versione del programma e non dovrebbe essere necessaria una [[Hardware/DispositiviPartizioni/Partizioni|partizione]] `/boot` più grande. |
Questa guida illustra i contenuti basilari dei file di configurazione del [[https://it.wikipedia.org/wiki/Boot_loader|bootloader]] [[AmministrazioneSistema/Grub|Grub]].<<BR>> Nella directory `/boot/grub` risede il file `grub.cfg`, il file principale, che però è generato in modo automatico attraverso il comando '''update-grub'''.<<BR>> I file responsabili del contenuto di `grub.cfg` sono: * `/etc/default/grub`; * gli script presenti nella directory `/etc/grub.d/`; * file con estensione `.mod` presenti in `/boot/grub`. |
| Linea 23: | Linea 18: |
| == Il file grub.cfg (/boot/grub/grub.cfg) == `grub.cfg` è il file principale di '''Grub 2''' che sostituisce il file `menu.lst` di '''Grub Legacy'''. |
= File /boot/grub/grub.cfg = |
| Linea 28: | Linea 21: |
| Questo file, al contrario del file `menu.lst`, __NON__ va assolutamente modificato.}}} Per generare e aggiornare automaticamente il file `grub.cfg`, digitare nel [[AmministrazioneSistema/Terminale|terminale]] e coi [[AmministrazioneSistema/PrivilegiDiAmministrazione/Sudo|privilegi di amministrazione]] il comando '''update-grub''' o '''update-grub2'''. Gli script usati per generare `grub.cfg` includono i file contenuti nella directory `/etc/grub.d` e le informazioni contenute nel file `/etc/default/grub`. Il file è diviso in diverse sezioni, ognuna deliminata dalla riga di intestazione: {{{ |
Il file `grub.cfg` __NON__ va assolutamente modificato. Viene generato e aggiornato in modo automatico. }}} * Per '''generare''' e '''aggiornare''' automaticamente il file `grub.cfg`, digitare nel [[AmministrazioneSistema/Terminale|terminale]]:{{{ sudo update-grub }}} * Il file `grub.cfg` è diviso in diverse sezioni, ognuna delimitata dalle righe di intestazione ''BEGIN'' ed ''END'':{{{ |
| Linea 36: | Linea 30: |
| }}} E dalla riga di fine sezione:{{{ |
... |
| Linea 39: | Linea 32: |
| }}} Il percorso `/etc/grub.d/nomefile` specifica a quale file presente nella directory `/etc/grub.d` si riferisce la sezione. Da predefinito, a ogni esecuzione del comando '''update-grub''' o '''update-grub2''', questo file è impostato a sola lettura.<<BR>> Questo viene fatto affinché il file __non sia modificabile__ manualmente dall'utente.<<BR>> Se è proprio necessario modificare questo file, istruzioni su come procedere possono essere trovate nelle sezioni successive di questa pagina. |
}}}Il percorso `/etc/grub.d/nomefile` specifica a quale file presente nella directory `/etc/grub.d` si riferisce la sezione. In modo predefinito `grub.cfg` non è direttamente modificabile. Eventuali modifiche avvengono su altri file, il comando '''update-grub''' andrà ad aggiornare in modo automatico il file `grub.cfg`.<<BR>> |
| Linea 48: | Linea 36: |
| * due kernel di '''Ubuntu''' * '''memtest86+''' * Windows * una voce personalizzata («41_srcd») importata da uno script in `/etc/grub.d` |
* due kernel di '''Ubuntu'''; * '''memtest86+'''; * Windows; * una voce personalizzata '''41_srcd''' importata da uno script in `/etc/grub.d`. |
| Linea 135: | Linea 123: |
| == Il file grub (/etc/default/grub) == Questo file contiene informazioni simili a quelle che si trovavano nella sezione più alta del vecchio file `menu.lst`. Contiene impostazioni che incidono sull'aspetto del menù del programma. Questo file può essere modificato con i [[AmministrazioneSistema/PrivilegiDiAmministrazione/Sudo|privilegi di amministrazione]] per modificare le impostazioni; modifiche che verranno importate nel file `grub.cfg` quando viene eseguito il comando '''update-grub''' o '''update-grub2'''. |
= File /etc/default/grub = Questo file contiene impostazioni che incidono sull'aspetto del menù del programma. Può essere modificato con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]] per modificare le impostazioni che verranno rese permanenti `grub.cfg` solo dopo aver dato il comando:{{{ sudo update-grub }}} Segue un esempio di file `/etc/default/grub`: |
| Linea 142: | Linea 131: |
| # If you change this file, run 'update-grub' afterwards to update # /boot/grub/grub.cfg. |
# If you change this file or any /etc/default/grub.d/*.cfg file, # run 'update-grub' afterwards to update /boot/grub/grub.cfg. # For full documentation of the options in these files, see: # info -f grub -n 'Simple configuration' |
| Linea 146: | Linea 137: |
| GRUB_HIDDEN_TIMEOUT=3 GRUB_HIDDEN_TIMEOUT_QUIET=true GRUB_TIMEOUT=10 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` |
GRUB_TIMEOUT_STYLE=hidden GRUB_TIMEOUT=0 GRUB_DISTRIBUTOR=`( . /etc/os-release && echo ${NAME} )` GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" |
| Linea 151: | Linea 142: |
| GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" GRUB_BACKGROUND=/home/topogigio/Immagini/Grub/gruviera.png # Uncomment to disable graphical terminal (grub-pc only) |
# If your computer has multiple operating systems installed, then you # probably want to run os-prober. However, if your computer is a host # for guest OSes installed via LVM or raw disk devices, running # os-prober can cause damage to those guest OSes as it mounts # filesystems to look for things. #GRUB_DISABLE_OS_PROBER=false # 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 |
| Linea 158: | Linea 159: |
| # 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' |
# note that you can use only modes which your graphic card supports via VBE/GOP/UGA # you can see them in real GRUB with the command `videoinfo' |
| Linea 166: | Linea 167: |
| #GRUB_DISABLE_LINUX_RECOVERY="true" }}} === Opzioni === |
#GRUB_DISABLE_RECOVERY="true" # Uncomment to get a beep at grub start #GRUB_INIT_TUNE="480 440 1" }}} == Opzioni == |
| Linea 174: | Linea 178: |
| ||GRUB_DEFAULT=0||Imposta la voce del menù selezionata in modo predefinito. L'assegnamento è numerico in base alla posizione della voce nel menù stesso. La '''prima voce''' ha sempre numero uguale a '''0'''.<<BR>>È anche possibile utilizzare l'opzione in questo modo: <<BR>>'''GRUB_DEFAULT=saved'''<<BR>>In questo caso l'ultimo sistema avviato sarà quello selezionato al boot. <<BR>> In alternativa indicare il nome del sistema da avviare così come visto nel file `/boot/grub/grub.cfg`, ad esempio: <<BR>> '''GRUB_DEFAULT=Microsoft Windows XP Home Edition (on /dev/sda1)'''<<BR>>Per la gestione dei sottomenù vedere il [[#sottomenù|relativo paragrafo]].|| | ||GRUB_DEFAULT=0||Imposta la voce del menù selezionata in modo predefinito. L'assegnamento è numerico in base alla posizione della voce nel menù stesso. La '''prima voce''' ha sempre numero uguale a '''0'''.<<BR>>È anche possibile utilizzare l'opzione in questo modo: <<BR>>'''GRUB_DEFAULT=saved'''<<BR>>In questo caso l'ultimo sistema avviato sarà quello selezionato al boot. Questa opzione va usata assieme a '''GRUB_SAVEDEFAULT=true'''<<BR>> In alternativa indicare il nome del sistema da avviare così come visto nel file `/boot/grub/grub.cfg`, ad esempio: <<BR>> '''GRUB_DEFAULT=Microsoft Windows XP Home Edition (on /dev/sda1)'''<<BR>>Per la gestione dei sottomenù vedere il [[#sottomenù|relativo paragrafo]].|| |
| Linea 176: | Linea 180: |
| ||GRUB_HIDDEN_TIMEOUT=3||Se commentata (presenza del simbolo '''#''' all'inizio riga), viene mostrato il menù, altrimenti il menù viene nascosto e viene lanciata la voce predefinita allo scadere dei secondi impostati (in questo esempio '''3'''). Se viene impostato un numero di secondi pari a '''0''', l'utente può forzare la visualizzazione del menù all'avvio del computer tenendo premuto il tasto '''Maiusc'''. Durante l'avvio, il sistema controlla lo stato del tasto '''Maiusc''' . Se non è possibile determinarne lo stato, un breve lasso di tempo permetterà all'utente di visualizzare il menù premendo il tasto '''ESC'''.<<BR>>Se abilitata, la schermata iniziale '''05_debian_theme''' verrà visualizzata anche se il menu è nascosto|| | ||GRUB_HIDDEN_TIMEOUT=3||Se commentata (presenza del simbolo '''#''' all'inizio riga), viene mostrato il menù, altrimenti il menù viene nascosto e viene lanciata la voce predefinita allo scadere dei secondi impostati (in questo esempio '''3'''). Se viene impostato un numero di secondi pari a '''0''', l'utente può forzare la visualizzazione del menù all'avvio del computer tenendo premuto il tasto '''Esc''' nei sistemi con UEFI o '''Maiusc''' su BIOS.<<BR>>Se abilitata, la schermata iniziale '''05_debian_theme''' verrà visualizzata anche se il menu è nascosto.|| |
| Linea 179: | Linea 183: |
| ||GRUB_CMDLINE_LINUX=""||Se esiste, questa impostazione inserisce delle opzioni alla fine della riga '''linux''' (in '''Grub Legacy''' era la riga '''kernel''') sia per il boot normale che per il '''recovery mode'''. Questa impostazione è simile ad '''altoptions''' del vecchio file `menu.lst`|| ||GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"||Il valore di questa impostazione viene inserito alla fine della riga '''linux''' (in '''Grub Legacy''' era la riga '''kernel''') solo con il boot normale. Questa impostazione è simile a '''defoptions''' del vecchio file `menu.lst`.<<BR>>Per esempio, per avere solo lo schermo nero con i messaggi di boot, rimuovere il valore '''quiet splash'''; per avere un'immagine di sfondo con limitati messaggi al di sotto del logo di Ubuntu, inserire solo '''splash''', premere il tasto '''Esc''' per passare dallo sfondo ai messaggi e viceversa. || |
||GRUB_CMDLINE_LINUX=""||Se esiste, questa impostazione inserisce delle opzioni alla fine della riga '''linux''' || ||GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"||Il valore di questa impostazione viene inserito alla fine della riga '''linux''' solo con il boot normale. .<<BR>>Per esempio, per avere solo lo schermo nero con i messaggi di boot, rimuovere il valore '''quiet splash'''; per avere un'immagine di sfondo con limitati messaggi al di sotto del logo di Ubuntu, inserire solo '''splash''', premere il tasto '''Esc''' per passare dallo sfondo ai messaggi e viceversa. || |
| Linea 184: | Linea 188: |
| ||GRUB_DISABLE_LINUX_RECOVERY=true||Non mostra le voci '''recovery mode''' nel menù|| ||GRUB_DISABLE_OS_PROBER=true||Abilita e disabilita un test sulle altre partizioni alla ricerca di altri sistemi operativi, inclusi Windows, Linux, OSX e Hurd|| |
||GRUB_DISABLE_RECOVERY=true||Non mostra le voci '''recovery mode''' nel menù|| ||GRUB_DISABLE_OS_PROBER=true||Abilita e disabilita un test sulle altre partizioni alla ricerca di altri sistemi operativi, inclusi Windows e OSX.|| = Esempio di update-grub = Qui viene mostrato un esempio di output del comando `sudo update-grub`:{{{ Sourcing file `/etc/default/grub' Sourcing file `/etc/default/grub.d/kdump-tools.cfg' Generating grub configuration file ... Found background image: puffin-n3.png Found linux image: /boot/vmlinuz-6.17.0-5-generic Found initrd image: /boot/initrd.img-6.17.0-5-generic Found memtest86+ 64bit EFI image: /boot/mt86+x64 Found memtest86+ 32bit EFI image: /boot/mt86+ia32 Found memtest86+ 64bit image: /boot/mt86+x64 Found memtest86+ 32bit image: /boot/mt86+ia32 Warning: os-prober will be executed to detect other bootable partitions. Its output will be used to detect bootable binaries on them and create new boot entries. Found Ubuntu 24.04.3 LTS (24.04) on /dev/nvme0n1p2 Found Ubuntu 25.10 (25.10) on /dev/nvme0n1p5 Found Ubuntu 25.04 (25.04) on /dev/nvme0n1p8 Found Debian GNU/Linux forky/sid on /dev/sda4 Found Fedora Linux 43 (Workstation Edition) on /dev/sdb2 Adding boot menu entry for UEFI Firmware Settings ... done }}}Si può notare come il comando vada a intercettare la presenza di altri sistemi operativi che saranno elencati nel menù di avvio. = Sistema predefinito all'avvio = In figura viene riportata la schermata di avvio di '''Grub''', nella quale sono presenti: * '''Ubuntu''' (sistema '''predefinito''' all'avvio) * '''Windows''' * '''Ubuntu 25.10''' Sono stati riportati dei numeri in giallo perchè al fine di impostare il sistema predefinito all'avvio sul file `/etc/default/grub`, è necessario sapere su quale riga si trova, contando '''da zero''' e partendo dall'alto. <<Immagine(./grub_menu.png,600,center)>> Si suppone di voler impostare come sistema predefinito '''Ubuntu 25.10''', cioè il sistema che nel menù appare nella '''riga 5'''. 0. Aprire con i [[AmministrazioneSistema/PrivilegiDiAmministrazione/Sudo|privilegi di amministrazione]] e con un [[Ufficio/EditorDiTesto|editor di testo]] il file `/etc/default/grub`. 0. Alla voce '''GRUB_DEFAULT''', solitamente impostata su zero:{{{ GRUB_DEFAULT=0 }}}impostare il numero riga di Ubuntu 25.10 individuato in precedenza, cioè '''5''':{{{ GRUB_DEFAULT=5 }}} 0. Salvare e chiudere il file. 0. Per rendere le impostazioni definitive digitare nel [[AmministrazioneSistema/Terminale|terminale]]:{{{ sudo update-grub }}} |
| Linea 190: | Linea 242: |
| In figura viene riportata la schemrmata di avvio di '''Grub''', nella quale in cima appare il kernel del sistema principale e di seguito (Previous Linux versions) il sottomenù contenente un kernel precedente: <<Immagine(./grub-menu.png)>> Nell'immagine sono stati aggiunti dei numeri in verde per facilitare la lettura di come vengono numerate le versioni. Per rendere predefinito uno dei kernel contenuti nel sottomenù: |
Nel '''grub menù''' si notano alcune righe indicate come '''Advanced option''' che permettono di avviare il sistema con un kernel Linux alternativo ed eventualmente accedere in modalità ''recovery mode''. Nell'esempio riportato prima in figura, selezionando la seconda riga '''Advanced options for Ubuntu''' appare: <<Immagine(./advanced_option.png,500,center)>> In figura sono stati riportati i numeri riga perchè torneranno nuovamente comodi per impostare un kernel alternativo per il sistema predefinito all'avvio.<<BR>> In questo esempio si suppone che al posto del kernel '''6.14.0-36''' ci sia la necessità di avviare la versione precedente '''6.14.0-35''' e la riga corrispondente è la '''riga 2'''. Ricapitolando: * nel '''grub menù''' interessa la '''riga 1''' per selezionare le opzioni avanzate; * nel menù delle opzioni avanzate interessa la '''riga 2''' per selezionare il kernel. Nel file `/etc/default/grub` alla voce `GRUB_DEFAULT` le righe saranno inserite seguendo la sintassi `"1>2"`. |
| Linea 199: | Linea 253: |
| 0. Ad esempio per rendere predefinito il '''Kernel 3.2.0-18-generic-pae''' è possibile modificare il parametro '''GRUB_DEFAULT''' a scelta con una delle seguenti sinossi: * GRUB_DEFAULT="Previous Linux versions>Ubuntu, with Linux 3.2.0-18-generic-pae" * GRUB_DEFAULT="Previous Linux versions>0" * GRUB_DEFAULT="2>0" * GRUB_DEFAULT="2>Ubuntu, with Linux 3.2.0-18-generic-pae" |
0. Impostare la voce '''GRUB_DEFAULT''' nel seguente modo:{{{ GRUB_DEFAULT="1>2" }}} |
| Linea 205: | Linea 257: |
| 0. Aggiornare il file `/boot/grub/grub.cfg` digitando nel [[AmministrazioneSistema/Terminale|terminale]] il comando:{{{ | 0. Per rendere le impostazioni definitive digitare nel [[AmministrazioneSistema/Terminale|terminale]]:{{{ |
| Linea 210: | Linea 262: |
| == La directory /etc/grub.d/ == I file presenti in questa directory sono letti durante l'esecuzione del comando '''update-grub''' o '''update-grub2'''. Gli script presenti in questi file esportano le informazioni che raccolgono nel file `/boot/grub/grub.cfg`. |
= Directory /etc/grub.d/ = I file presenti in questa directory sono letti durante l'esecuzione del comando '''update-grub'''. Gli script presenti in questi file esportano le informazioni che raccolgono nel file `/boot/grub/grub.cfg`. |
| Linea 219: | Linea 271: |
| [[AmministrazioneSistema/PermessiFile#Assegnare_i_permessi_di_esecuzione|Assegnare i permessi d'esecuzione]] al file creato per garantirne l'aggiunta nel file `grub.cfg` durante l'esecuzione del comando '''update-grub''' o '''update-grub2'''.}}} | [[AmministrazioneSistema/PermessiFile#Assegnare_i_permessi_di_esecuzione|Assegnare i permessi d'esecuzione]] al file creato per garantirne l'aggiunta nel file `grub.cfg` durante l'esecuzione del comando '''update-grub'''. }}} |
| Linea 224: | Linea 277: |
| ||00_header||Carica le impostazioni da `/etc/default/grub`, compresa la presentazione visiva, il conto alla rovescia e le opzioni del terminale || ||05_debian_theme||Imposta lo sfondo, il colore del testo e i temi|| ||10_hurd||Localizza eventuali kernel Hurd|| ||10_linux||Localizza i kernel basati sull'ID del distributore determinato dal risultato del comando '''lsb_release -is'''|| ||20_memtest86+||Se il file `/boot/memtest86+.bin` esiste, viene inclusa una voce per '''memtest86+'''|| ||30_os-prober||Va alla ricerca di altri sistemi operativi e li include nel menù|| ||40_custom||Rappresenta un modello per aggiungere voci personalizzate al menù|| |
||00_header||Carica le impostazioni da `/etc/default/grub`, compresa la presentazione visiva, il conto alla rovescia e le opzioni del terminale. || ||05_debian_theme||Imposta lo sfondo, il colore del testo e i temi.|| ||10_hurd||Localizza eventuali kernel Hurd.|| ||10_linux||Localizza i kernel basati sull'ID del distributore determinato dal risultato del comando '''lsb_release -is'''.|| ||20_memtest86+||Se il file `/boot/memtest86+.bin` esiste, viene inclusa una voce per '''memtest86+'''.|| ||30_os-prober||Va alla ricerca di altri sistemi operativi e li include nel menù.|| ||40_custom||Rappresenta un modello per aggiungere voci personalizzate al menù.|| |
| Linea 237: | Linea 290: |
| CategoryAmministrazione CategoryDaRevisionare | CategoryAmministrazione |
Guida verificata con Ubuntu: 22.04 24.04 25.04
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
Questa guida illustra i contenuti basilari dei file di configurazione del bootloader Grub.
Nella directory /boot/grub risede il file grub.cfg, il file principale, che però è generato in modo automatico attraverso il comando update-grub.
I file responsabili del contenuto di grub.cfg sono:
/etc/default/grub;
gli script presenti nella directory /etc/grub.d/;
file con estensione .mod presenti in /boot/grub.
File /boot/grub/grub.cfg
Il file grub.cfg NON va assolutamente modificato. Viene generato e aggiornato in modo automatico.
Per generare e aggiornare automaticamente il file grub.cfg, digitare nel terminale:
sudo update-grub
Il file grub.cfg è diviso in diverse sezioni, ognuna delimitata dalle righe di intestazione BEGIN ed END:
### BEGIN /etc/grub.d/nomefile ### ... ### END /etc/grub.d/nomefile ###
Il percorso /etc/grub.d/nomefile specifica a quale file presente nella directory /etc/grub.d si riferisce la sezione.
In modo predefinito grub.cfg non è direttamente modificabile. Eventuali modifiche avvengono su altri file, il comando update-grub andrà ad aggiornare in modo automatico il file grub.cfg.
Quello che segue è un semplice esempio di grub.cfg che comprende:
due kernel di Ubuntu;
memtest86+;
- Windows;
una voce personalizzata 41_srcd importata da uno script in /etc/grub.d.
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/update-grub using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
set default=0
set timeout=5
set root=(hd0,5)
search --fs-uuid --set b02e1934-12dd-418a
if font /usr/share/grub/ascii.pff ; then
set gfxmode=640x480
insmod gfxterm
insmod vbe
terminal gfxterm
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_hurd ###
### END /etc/grub.d/10_hurd ###
### BEGIN /etc/grub.d/10_linux ###
set root=(hd0,5)
search --fs-uuid --set b02e1934-12dd-418a-be3a-9ff7d3e7e7ea
menuentry "Ubuntu, linux 2.6.28-13-generic" {
linux /boot/vmlinuz-2.6.28-13-generic root=UUID=b02e1934-12dd-418a ro quiet splash vga800
initrd /boot/initrd.img-2.6.28-13-generic
}
menuentry "Ubuntu, linux 2.6.28-13-generic (single-user mode)" {
linux /boot/vmlinuz-2.6.28-13-generic root=UUID=b02e1934-12dd-418a ro single
initrd /boot/initrd.img-2.6.28-13-generic
}
menuentry "Ubuntu, linux 2.6.28-11-generic" {
linux /boot/vmlinuz-2.6.28-11-generic root=UUID=b02e1934-12dd-418a ro quiet splash vga800
initrd /boot/initrd.img-2.6.28-11-generic
}
menuentry "Ubuntu, linux 2.6.28-11-generic (single-user mode)" {
linux /boot/vmlinuz-2.6.28-11-generic root=UUID=b02e1934-12dd-418a ro single
initrd /boot/initrd.img-2.6.28-11-generic
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
linux /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
linux /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Microsoft Windows XP Home Edition (on /dev/sda1)" {
set root=(hd0,1)
chainloader +1
}
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ###
# This file is an example on how to add custom entries
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_srcd ###
menuentry "SystemRescue CD on hard drive" {
set root=(hd0,10)
linux /sysrcd/rescuecd subdir=sysrcd setkmap=us
initrd /sysrcd/initram.igz
}
### END /etc/grub.d/41_srcd ###
File /etc/default/grub
Questo file contiene impostazioni che incidono sull'aspetto del menù del programma. Può essere modificato con i privilegi di amministrazione per modificare le impostazioni che verranno rese permanenti grub.cfg solo dopo aver dato il comando:
sudo update-grub
Segue un esempio di file /etc/default/grub:
# If you change this file or any /etc/default/grub.d/*.cfg file,
# run 'update-grub' afterwards to update /boot/grub/grub.cfg.
# For full documentation of the options in these files, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`( . /etc/os-release && echo ${NAME} )`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
# If your computer has multiple operating systems installed, then you
# probably want to run os-prober. However, if your computer is a host
# for guest OSes installed via LVM or raw disk devices, running
# os-prober can cause damage to those guest OSes as it mounts
# filesystems to look for things.
#GRUB_DISABLE_OS_PROBER=false
# 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_TERMINAL=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE/GOP/UGA
# you can see them in real GRUB with the command `videoinfo'
#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"
Opzioni
Segue una tabella esplicativa delle principali opzioni del file.
Opzione |
Significato |
GRUB_DEFAULT=0 |
Imposta la voce del menù selezionata in modo predefinito. L'assegnamento è numerico in base alla posizione della voce nel menù stesso. La prima voce ha sempre numero uguale a 0. |
GRUB_TIMEOUT=10 |
Imposta il numero di secondi del conto alla rovescia dopo il quale sarà caricata la voce predefinita del menù. |
GRUB_HIDDEN_TIMEOUT=3 |
Se commentata (presenza del simbolo # all'inizio riga), viene mostrato il menù, altrimenti il menù viene nascosto e viene lanciata la voce predefinita allo scadere dei secondi impostati (in questo esempio 3). Se viene impostato un numero di secondi pari a 0, l'utente può forzare la visualizzazione del menù all'avvio del computer tenendo premuto il tasto Esc nei sistemi con UEFI o Maiusc su BIOS. |
GRUB_HIDDEN_MENU_QUIET=true |
Se impostata a true, non viene mostrato alcun conto alla rovescia, lo schermo sarà vuoto. Se imposta a false, viene mostrato un conto alla rovescia per la durata del valore GRUB_HIDDEN_TIMEOUT |
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` |
Determina il nome descrittivo della voce del menù, in caso di mancata identificazione predefinisce a Debian. |
GRUB_CMDLINE_LINUX="" |
Se esiste, questa impostazione inserisce delle opzioni alla fine della riga linux |
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" |
Il valore di questa impostazione viene inserito alla fine della riga linux solo con il boot normale. . |
GRUB_BACKGROUND=/percorso/file/immagine |
In questa impostazione inserire il percorso all'immagine da mostrare nel caso nella precedente impostazione sia stata configurata lo splash. |
#GRUB_TERMINAL=console |
Togliere il commento per disabilitare il terminale grafico (solo grub-pc) |
#GRUB_DISABLE_LINUX_UUID=true |
Togliere il commento per disabilitare la gestione degli UUID nei parametri del kernel |
GRUB_DISABLE_RECOVERY=true |
Non mostra le voci recovery mode nel menù |
GRUB_DISABLE_OS_PROBER=true |
Abilita e disabilita un test sulle altre partizioni alla ricerca di altri sistemi operativi, inclusi Windows e OSX. |
Esempio di update-grub
Qui viene mostrato un esempio di output del comando sudo update-grub:
Sourcing file `/etc/default/grub' Sourcing file `/etc/default/grub.d/kdump-tools.cfg' Generating grub configuration file ... Found background image: puffin-n3.png Found linux image: /boot/vmlinuz-6.17.0-5-generic Found initrd image: /boot/initrd.img-6.17.0-5-generic Found memtest86+ 64bit EFI image: /boot/mt86+x64 Found memtest86+ 32bit EFI image: /boot/mt86+ia32 Found memtest86+ 64bit image: /boot/mt86+x64 Found memtest86+ 32bit image: /boot/mt86+ia32 Warning: os-prober will be executed to detect other bootable partitions. Its output will be used to detect bootable binaries on them and create new boot entries. Found Ubuntu 24.04.3 LTS (24.04) on /dev/nvme0n1p2 Found Ubuntu 25.10 (25.10) on /dev/nvme0n1p5 Found Ubuntu 25.04 (25.04) on /dev/nvme0n1p8 Found Debian GNU/Linux forky/sid on /dev/sda4 Found Fedora Linux 43 (Workstation Edition) on /dev/sdb2 Adding boot menu entry for UEFI Firmware Settings ... done
Si può notare come il comando vada a intercettare la presenza di altri sistemi operativi che saranno elencati nel menù di avvio.
Sistema predefinito all'avvio
In figura viene riportata la schermata di avvio di Grub, nella quale sono presenti:
Ubuntu (sistema predefinito all'avvio)
Windows
Ubuntu 25.10
Sono stati riportati dei numeri in giallo perchè al fine di impostare il sistema predefinito all'avvio sul file /etc/default/grub, è necessario sapere su quale riga si trova, contando da zero e partendo dall'alto.
Si suppone di voler impostare come sistema predefinito Ubuntu 25.10, cioè il sistema che nel menù appare nella riga 5.
Aprire con i privilegi di amministrazione e con un editor di testo il file /etc/default/grub.
Alla voce GRUB_DEFAULT, solitamente impostata su zero:
GRUB_DEFAULT=0
impostare il numero riga di Ubuntu 25.10 individuato in precedenza, cioè 5:
GRUB_DEFAULT=5
- Salvare e chiudere il file.
Per rendere le impostazioni definitive digitare nel terminale:
sudo update-grub
Sottomenù
Nel grub menù si notano alcune righe indicate come Advanced option che permettono di avviare il sistema con un kernel Linux alternativo ed eventualmente accedere in modalità recovery mode. Nell'esempio riportato prima in figura, selezionando la seconda riga Advanced options for Ubuntu appare:
In figura sono stati riportati i numeri riga perchè torneranno nuovamente comodi per impostare un kernel alternativo per il sistema predefinito all'avvio.
In questo esempio si suppone che al posto del kernel 6.14.0-36 ci sia la necessità di avviare la versione precedente 6.14.0-35 e la riga corrispondente è la riga 2. Ricapitolando:
nel grub menù interessa la riga 1 per selezionare le opzioni avanzate;
nel menù delle opzioni avanzate interessa la riga 2 per selezionare il kernel.
Nel file /etc/default/grub alla voce GRUB_DEFAULT le righe saranno inserite seguendo la sintassi "1>2".
Aprire con i privilegi di amministrazione e con un editor di testo il file /etc/default/grub.
Impostare la voce GRUB_DEFAULT nel seguente modo:
GRUB_DEFAULT="1>2"
- Salvare e chiudere il file.
Per rendere le impostazioni definitive digitare nel terminale:
sudo update-grub
Directory /etc/grub.d/
I file presenti in questa directory sono letti durante l'esecuzione del comando update-grub. Gli script presenti in questi file esportano le informazioni che raccolgono nel file /boot/grub/grub.cfg.
I file vengono eseguiti in ordine sequenziale: prima i file il cui nome inizia con una cifra, poi quelli il cui nome inizia con una lettera. L'ordine con cui sono eseguiti i file determina la posizione degli elementi all'interno del menù di Grub.
Voci personalizzate possono essere aggiunte al file 40_custom o inserite in un nuovo file.
Assegnare i permessi d'esecuzione al file creato per garantirne l'aggiunta nel file grub.cfg durante l'esecuzione del comando update-grub.
Segue una tabella esplicativa dei principali file di /etc/grub.d/.
file |
Significato |
00_header |
Carica le impostazioni da /etc/default/grub, compresa la presentazione visiva, il conto alla rovescia e le opzioni del terminale. |
05_debian_theme |
Imposta lo sfondo, il colore del testo e i temi. |
10_hurd |
Localizza eventuali kernel Hurd. |
10_linux |
Localizza i kernel basati sull'ID del distributore determinato dal risultato del comando lsb_release -is. |
20_memtest86+ |
Se il file /boot/memtest86+.bin esiste, viene inclusa una voce per memtest86+. |
30_os-prober |
Va alla ricerca di altri sistemi operativi e li include nel menù. |
40_custom |
Rappresenta un modello per aggiungere voci personalizzate al menù. |


