Guida a GRUB 2: differenze tra le versioni

m
Nessun oggetto della modifica
Riga 25: Riga 25:
:- <code>grub-common</code>
:- <code>grub-common</code>


=Configurazione=
== Configurazione ==
==I file principali==
=== I file principali ===
I file per la vostra configurazione dovrebbero trovarsi nei seguenti tre percorsi:
I file per la vostra configurazione dovrebbero trovarsi nei seguenti tre percorsi:
* <code>/etc/default/grub</code>: contiene configurazioni generali, autogenerate da grub-set-default, che generalmente non richiedono cambiamenti (secondi al boot, dimensione schermata...).
* <code>/etc/default/grub</code>: contiene configurazioni generali, autogenerate da grub-set-default, che generalmente non richiedono cambiamenti (secondi al boot, dimensione schermata...).
Riga 32: Riga 32:
* <code>/boot/grub/</code>: qui il bootloader cerca i file di configurazione (grub.conf). N.B.: questi sono generati dagli script contenuti in <code>/etc/grub</code>, modificare quindi questi ultimi se non si vuole che le modifiche vengano sovrascritte.
* <code>/boot/grub/</code>: qui il bootloader cerca i file di configurazione (grub.conf). N.B.: questi sono generati dagli script contenuti in <code>/etc/grub</code>, modificare quindi questi ultimi se non si vuole che le modifiche vengano sovrascritte.


===Osservazioni===
==== Osservazioni ====
Pertanto si può osservare una separazione da quello che è il bootloader proprio (<code>/boot/grub</code>) e quelle che sono le utility necessarie alla sua configurazione (/etc/grub.d e script di configurazione). Inoltre con <code>/etc/grub.d</code> il menù ha assunto una forma modulare, disponendo di uno script di configurazione per ogni voce del menù.
Pertanto si può osservare una separazione da quello che è il bootloader proprio (<code>/boot/grub</code>) e quelle che sono le utility necessarie alla sua configurazione (/etc/grub.d e script di configurazione). Inoltre con <code>/etc/grub.d</code> il menù ha assunto una forma modulare, disponendo di uno script di configurazione per ogni voce del menù.


Si sottolinea che la directory <code>/boot/grub</code> è modificata, o creata ex novo, tramite il comando <code>grub-install</code>, lo stesso comando che provvede inoltre all'installazione di GRUB sul punto di boot.
Si sottolinea che la directory <code>/boot/grub</code> è modificata, o creata ex novo, tramite il comando <code>grub-install</code>, lo stesso comando che provvede inoltre all'installazione di GRUB sul punto di boot.


==/etc/grub.d/==
=== /etc/grub.d/ ===
In questa directory ci sono i file con cui viene costruita la configurazione di GRUB2.
In questa directory ci sono i file con cui viene costruita la configurazione di GRUB2.
Infatti la configurazione vera e propria si trova nel file <code>/boot/grub/grub.cfg</code>, e viene scritta tramite un comando apposito della shell (<code>grub-mkconfig</code>), che prende il contenuto dei file che si trovano in <code>/etc/grub.d</code> e lo scrive in grub.cfg: per verificare, usare il comando <code>$ less /boot/grub/grub.cfg</code>.
Infatti la configurazione vera e propria si trova nel file <code>/boot/grub/grub.cfg</code>, e viene scritta tramite un comando apposito della shell (<code>grub-mkconfig</code>), che prende il contenuto dei file che si trovano in <code>/etc/grub.d</code> e lo scrive in grub.cfg: per verificare, usare il comando <code>$ less /boot/grub/grub.cfg</code>.
I file vengono aggiunti a <code>grub.cfg</code> in ordine alfabetico (ciò spiega il nome con un numero iniziale), e vengono aggiunti solo se sono eseguibili (per renderli tali, si usa il comando <code># chmod +x nomefile</code>).
I file vengono aggiunti a <code>grub.cfg</code> in ordine alfabetico (ciò spiega il nome con un numero iniziale), e vengono aggiunti solo se sono eseguibili (per renderli tali, si usa il comando <code># chmod +x nomefile</code>).
I nomi dei file sono abbastanza esplicativi. Probabilmente i più interessanti per gli utenti sono <code>05_debian_theme</code> e <code>40_custom</code>, come si vede qui di seguito.
I nomi dei file sono abbastanza esplicativi. Probabilmente i più interessanti per gli utenti sono <code>05_debian_theme</code> e <code>40_custom</code>, come si vede qui di seguito.
===Impostare uno sfondo===


==== Impostare uno sfondo ====
La prima cosa da sottolineare è che il metodo per impostare lo sfondo di grub2 può cambiare nel tempo col rilascio di nuove versioni. Il lettore pertanto deve per prima cosa individuare la sua versione di grub2:
La prima cosa da sottolineare è che il metodo per impostare lo sfondo di grub2 può cambiare nel tempo col rilascio di nuove versioni. Il lettore pertanto deve per prima cosa individuare la sua versione di grub2:
<pre># grub-install -v</pre>
<pre># grub-install -v</pre>
Riga 54: Riga 54:
}}
}}


==== 1.98-1 ====
===== 1.98-1 =====
 
Bisogna modificare la variabile <code>WALLPAPER</code> del file <code>05_debian_theme</code>.<br />
Bisogna modificare la variabile <code>WALLPAPER</code> del file <code>05_debian_theme</code>.<br />
A questo punto si può intervenire in 2 modi: o modificando direttamente il file <code>05_debian_theme</code>, oppure copiando <code>05_debian_theme</code> in un nuovo file, ad esempio <code>07_mio_debian_theme</code> (lo scrivente preferisce il secondo metodo, allo scopo di tenere una copia intatta del file originale), ricordando di renderlo eseguibile con <code># chmod +x 07_mio_debian_theme</code> e di disattivare il file originale con <code># chmod a-x 05_debian_theme</code>.
A questo punto si può intervenire in 2 modi: o modificando direttamente il file <code>05_debian_theme</code>, oppure copiando <code>05_debian_theme</code> in un nuovo file, ad esempio <code>07_mio_debian_theme</code> (lo scrivente preferisce il secondo metodo, allo scopo di tenere una copia intatta del file originale), ricordando di renderlo eseguibile con <code># chmod +x 07_mio_debian_theme</code> e di disattivare il file originale con <code># chmod a-x 05_debian_theme</code>.
Riga 61: Riga 60:
L' output del comando <code>grub-mkconfig</code> ci dirà se l' immagine sarà impostata correttamente tramite il messaggio <code>Found background image: nome_file</code>.
L' output del comando <code>grub-mkconfig</code> ci dirà se l' immagine sarà impostata correttamente tramite il messaggio <code>Found background image: nome_file</code>.


==== 1.98-5 e successivi ====
===== 1.98-5 e successivi =====
 
Esistono diverse possibilità, che in ordine gerarchico sono:
Esistono diverse possibilità, che in ordine gerarchico sono:


Riga 77: Riga 75:
Se per un motivo o per un altro nessuno dei precedenti restituisce un immagine valida grub2 opta per lo sfondo di default.
Se per un motivo o per un altro nessuno dei precedenti restituisce un immagine valida grub2 opta per lo sfondo di default.


=== Personalizzare i colori del menù ===
==== Personalizzare i colori del menù ====
 
La procedura varia leggermente a seconda che si sia o meno definito uno sfondo personalizzato e/o si abbia installato un ambiente grafico come gnome.
La procedura varia leggermente a seconda che si sia o meno definito uno sfondo personalizzato e/o si abbia installato un ambiente grafico come gnome.


==== Nessuna immagine di sfondo ====
===== Nessuna immagine di sfondo =====
 
Qualora non si sia definita alcuna immagine di sfondo per grub è necessario editare il file <code>/etc/grub.d/05_debian_theme</code> e cercare il seguente pezzo di codice:
Qualora non si sia definita alcuna immagine di sfondo per grub è necessario editare il file <code>/etc/grub.d/05_debian_theme</code> e cercare il seguente pezzo di codice:
<pre>
<pre>
Riga 117: Riga 113:
Si noti che usare black come colore di sfondo significa di norma imporre uno sfondo trasparente.
Si noti che usare black come colore di sfondo significa di norma imporre uno sfondo trasparente.


==== Con immagine di sfondo ====
===== Con immagine di sfondo =====
 
Per quanto riguarda i colori vale quanto detto al punto precedente. Si fa notare che il nome delle variabili relative al testo contenuto all'interno della cornice di grub cambia, mentre la terza variabile diviene inutilizzabile (non c'è più cioè distinzione tra colore interno ed esterno alla cornice di grub).
Per quanto riguarda i colori vale quanto detto al punto precedente. Si fa notare che il nome delle variabili relative al testo contenuto all'interno della cornice di grub cambia, mentre la terza variabile diviene inutilizzabile (non c'è più cioè distinzione tra colore interno ed esterno alla cornice di grub).


===== GNOME NON installato =====
====== GNOME NON installato ======
 
Cercare in <code>/etc/grub.d/05_debian_theme</code> il seguente pezzo di codice
Cercare in <code>/etc/grub.d/05_debian_theme</code> il seguente pezzo di codice
<pre>
<pre>
Riga 139: Riga 133:
dove ovviamente l'utente dovrà mettere la combinazione di colori da lui desiderata.
dove ovviamente l'utente dovrà mettere la combinazione di colori da lui desiderata.


===== GNOME installato =====
====== GNOME installato ======
 
Nel caso sia stato installato un ambiente grafico come gnome è sufficiente editare il file <code>/usr/share/desktop-base/grub_backgorund.sh</code> e cambiare i colori specificati dalle variabili <code>COLOR_NORMAL</code> e <code>COLOR_HIGHLIGHT</code>.
Nel caso sia stato installato un ambiente grafico come gnome è sufficiente editare il file <code>/usr/share/desktop-base/grub_backgorund.sh</code> e cambiare i colori specificati dalle variabili <code>COLOR_NORMAL</code> e <code>COLOR_HIGHLIGHT</code>.


===Cambiare la risoluzione del terminale===
==== Cambiare la risoluzione del terminale ====
La risoluzione del terminale successiva alla schermata di scelta del kernel si imposta semplicemente inserendo il parametro <code>set gfxpayload</code> nel file <code>/etc/grub.d/40_custom</code>; nel caso il suddetto file non sia mai stato modificato il risultato dovrebbe essere simile a quanto segue (posto di aver scelto una risoluzione di 1024x768):
La risoluzione del terminale successiva alla schermata di scelta del kernel si imposta semplicemente inserendo il parametro <code>set gfxpayload</code> nel file <code>/etc/grub.d/40_custom</code>; nel caso il suddetto file non sia mai stato modificato il risultato dovrebbe essere simile a quanto segue (posto di aver scelto una risoluzione di 1024x768):
<pre>
<pre>
Riga 162: Riga 155:
per rendere attive le modifiche.
per rendere attive le modifiche.


=== Scegliere il kernel di default ===
==== Scegliere il kernel di default ====
Per scegliere un [[kernel]] di avvio presente nel sotto-menù "Opzioni avanzate per Debian GNU/Linux", è necessario modificare il file "/etc/default/grub". Ad esempio:
Per scegliere un [[kernel]] di avvio presente nel sotto-menù "Opzioni avanzate per Debian GNU/Linux", è necessario modificare il file "/etc/default/grub". Ad esempio:
<pre>
<pre>
Riga 180: Riga 173:
Prestare attenzione al fatto che la numerazione dei sotto-menù inizia da 1 mentre quella della rispettive voci inizia da 0. Inoltre i doppi apici sono obbligatori.
Prestare attenzione al fatto che la numerazione dei sotto-menù inizia da 1 mentre quella della rispettive voci inizia da 0. Inoltre i doppi apici sono obbligatori.


=== Tastiera italiana ===
==== Tastiera italiana ====
Poiché il layout predefinito della tastiera, durante l'editing all'interno di Grub, è quello americano, ci si trova nella situazione di andare un po' alla cieca per "indovinare" alcuni tasti.<br/>
Poiché il layout predefinito della tastiera, durante l'editing all'interno di Grub, è quello americano, ci si trova nella situazione di andare un po' alla cieca per "indovinare" alcuni tasti.<br/>
Per fare in modo da utilizzare il layout della tastiera italiana, bisogna innanzitutto creare il layout all'interno della directory "/boot/grub/":
Per fare in modo da utilizzare il layout della tastiera italiana, bisogna innanzitutto creare il layout all'interno della directory "/boot/grub/":
Riga 205: Riga 198:
* Il primo comando è valido solo per [[Jessie]] e versioni di Debian superiori. Per [[Wheezy]] bisognerà affidarsi al comando "ckbcomp" per la creazione del layout della tastiera italiana:<pre># ckbcomp it | grub-mklayout -o /boot/grub/tastieraitaliana.gkb</pre>
* Il primo comando è valido solo per [[Jessie]] e versioni di Debian superiori. Per [[Wheezy]] bisognerà affidarsi al comando "ckbcomp" per la creazione del layout della tastiera italiana:<pre># ckbcomp it | grub-mklayout -o /boot/grub/tastieraitaliana.gkb</pre>


==/etc/default/grub==
=== /etc/default/grub ===
In questo file ci sono altri parametri da configurare, ben commentati.
In questo file ci sono altri parametri da configurare, ben commentati.
Un parametro interessante è <code>GRUB_GFXMODE</code>: serve ad impostare la risoluzione di grub2 (non del terminale, che viene impostata con <code>set gfxpayload</code>). Attenzione ad inserire dei valori compatibili con l' hardware in uso: entrando nella command-line di grub2, usare il comando <code>vbeinfo</code> per vedere quali risoluzioni sono supportate.<br />
Un parametro interessante è <code>GRUB_GFXMODE</code>: serve ad impostare la risoluzione di grub2 (non del terminale, che viene impostata con <code>set gfxpayload</code>). Attenzione ad inserire dei valori compatibili con l' hardware in uso: entrando nella command-line di grub2, usare il comando <code>vbeinfo</code> per vedere quali risoluzioni sono supportate.<br />
Riga 213: Riga 206:
<br>Per scrivere effettivamente la configurazione è necessario usare il comando <code># update-grub</code>. Questo ultimo comando è necessario anche in caso di modifica del file <code>/etc/default/grub</code>.
<br>Per scrivere effettivamente la configurazione è necessario usare il comando <code># update-grub</code>. Questo ultimo comando è necessario anche in caso di modifica del file <code>/etc/default/grub</code>.


==Altri file rilevanti==
=== Altri file rilevanti ===
In questa sezione si riportano alcuni file che, seppure non essenziali alla configurazione di GRUB, possono essere d'aiuto nella sua configurazione o nella risoluzione di eventuali problematiche.
In questa sezione si riportano alcuni file che, seppure non essenziali alla configurazione di GRUB, possono essere d'aiuto nella sua configurazione o nella risoluzione di eventuali problematiche.


: /boot/grub/device.map: qui è riportata la corrispondenza tra i nomi degli Hard Disk secondo Debian (/dev/sdX... /dev/hdX...) rispetto alla nomenclatura di GRUB.
: <code>/boot/grub/device.map</code>, qui è riportata la corrispondenza tra i nomi degli Hard Disk secondo Debian (/dev/sdX... /dev/hdX...) rispetto alla nomenclatura di GRUB.


==Modificare il menù di GRUB==
=== Modificare il menù di GRUB ===


=Comandi shell per la gestione e l'installazione di GRUB=
=Comandi shell per la gestione e l'installazione di GRUB=
3 155

contributi