## page was renamed from Grub2/FileCartelle #format wiki #language it <> <
> <> = Introduzione = 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`.<
> '''Grub 2''' è modulare e tali file sono necessari al caricamento del programma stesso.<
> 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. <> == 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'''. {{{#!wiki important 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: {{{ ### BEGIN /etc/grub.d/nomefile ### }}} E dalla riga di fine sezione:{{{ ### 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. Da predefinito, a ogni esecuzione del comando '''update-grub''' o '''update-grub2''', questo file è impostato a sola lettura.<
> Questo viene fatto affinché il file __non sia modificabile__ manualmente dall'utente.<
> Se è proprio necessario modificare questo file, istruzioni su come procedere possono essere trovate nelle sezioni successive di questa pagina. 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 ### }}} <> == 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'''. {{{ # If you change this file, run 'update-grub' afterwards to update # /boot/grub/grub.cfg. GRUB_DEFAULT=0 GRUB_HIDDEN_TIMEOUT=3 GRUB_HIDDEN_TIMEOUT_QUIET=true GRUB_TIMEOUT=10 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` GRUB_CMDLINE_LINUX="" GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" GRUB_BACKGROUND=/home/topogigio/Immagini/Grub/gruviera.png # 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_LINUX_RECOVERY="true" }}} === Opzioni === Segue una tabella esplicativa delle principali opzioni del file. ||'''Opzione''' ||<:70%>'''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'''.<
>È anche possibile utilizzare l'opzione in questo modo: <
>'''GRUB_DEFAULT=saved'''<
>In questo caso l'ultimo sistema avviato sarà quello selezionato al boot. <
> In alternativa indicare il nome del sistema da avviare così come visto nel file `/boot/grub/grub.cfg`, ad esempio: <
> '''GRUB_DEFAULT=Microsoft Windows XP Home Edition (on /dev/sda1)'''<
>Per la gestione dei sottomenù vedere il [[#sottomenù|relativo paragrafo]].|| ||GRUB_TIMEOUT=10||Imposta il numero di secondi del conto alla rovescia dopo il quale sarà caricata la voce predefinita del menù.<
>Impostando il valore a '''-1''' verrà disabilitato il conto alla rovescia e il menù sarà visualizzato finché l'utente non effettuerà una scelta.|| ||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'''.<
>Se abilitata, la schermata iniziale '''05_debian_theme''' verrà visualizzata anche se il menu è nascosto|| ||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'''.<
>Sostituire l'opzione '''-i''' coll'opzione '''-d''' per impostare l'avvio automatico dall'ultimo sistema avviato.|| ||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`.<
>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_BACKGROUND=/percorso/file/immagine||In questa impostazione inserire il percorso all'immagine da mostrare nel caso nella precedente impostazione sia stata configurata lo '''splash'''.<
>I formati d'immagine supportati dal '''menu-grub''' sono `.jpg`, `.jpeg,` `.png` e `.tga`.|| ||#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_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|| <> == Sottomenù == 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: <> 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ù: 0. Aprire con i [[AmministrazioneSistema/PrivilegiDiAmministrazione/Sudo|privilegi di amministrazione]] e con un [[Ufficio/EditorDiTesto|editor di testo]] il file `/etc/default/grub`. 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. Salvare e chiudere il file. 0. Aggiornare il file `/boot/grub/grub.cfg` digitando nel [[AmministrazioneSistema/Terminale|terminale]] il comando:{{{ sudo update-grub }}} <> == 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`. 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. {{{#!wiki note [[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'''.}}} Segue una tabella esplicativa dei principali file di `/etc/grub.d/`. ||'''file''' ||<:70%>'''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ù|| = Ulteriori risorse = * [[https://help.ubuntu.com/community/Grub2/Submenus|Sottomenù di Grub nel wiki internazionale.]] ---- CategoryAmministrazione