Questa guida segue e completa quella per l'installazione di GRUB 2: Come aggiornare a GRUB 2 in Jaunty.
In particolare verrà spiegato come configurare l'immagine di sfondo, i colori del testo dello splash e la sua dimensione, il kernel di avvio di default e il timeout, che poi sono le uniche cose che mi interessava cambiare.
Chi sapeva configurare il vecchio GRUB editando il file
Chiarissimo: per configurare GRUB 2 bisogna prima editare i vari file contenuti nella directory
Per inciso, lo stesso comando viene lanciato dal sistema ogni volta che si aggiunge o che si rimuove una versione del kernel: infatti, così com'era in
Settare il kernel di avvio e il timeout:
bisogna editare il file
Questo ad esempio è estratto dal mio:
Alla voce '
Ora che questo file è stato editato, bisogna rendere effettive queste modifiche, caricandole in
! Qualsiasi modifica fatta a qualunque dei file editabili di cui parlavo prima e di cui parlerò in seguito (qui è
Dimensioni, sfondo e colori del testo dello splash:
E veniamo ai file nella directory
qui, alla riga 46, si può settare la risoluzione dello splash di GRUB, facendola ad esempio uguale a quella del monitor
o comunque mai più grande. Attenzione: ho riscontrato che non tutte le risoluzioni sono accettate; ad esempio quella del mio portatile, 1280x800, non lo è. Si provi comunque ad settare la propria, ma assicurandosi, prima, che il kernel di default sia funzionante. Si potrà così tornare ad editare il file di cui sopra, ripristinare il valore al default che è 640x480, ed aggiornare grub. Ricordarsi di salvare e andiamo all'altro file:
Qui c'è bisogno di qualche spiegazione. Guardiamo il file, così come io l'ho modificato:
Ho modificato la riga con le sottolineature per far sì che grub cerchi il file fiesta con estensione png, tga o jpeg nelle cartelle /boot/grub/splashimages e /usr/share/images/grub. La prima delle due cartelle è la dir di default degli splashimages del vecchio grub; è un posto ragionevole e voglio continuare a tenerci gli sfondi. Lì dove invece ho sottolineato jpeg, beh: lì originariamente non c'è. E fintanto che non lo si aggiungerà, non si potranno usare immagini jpeg; che però, come si capisce leggendo poco sotto (!), sono supportate.
Come è facile notare, è altrettanto facile creare ambiguità (esempio di battuta ricorsiva), mettando due file con uguale nome e diversa estensione, anche in cartelle diverse. Io ho fatto in modo di non crearne, e non so cosa succeda. Se si è modificata la dimensione dello splash di grub (
Poco più sotto alle righe dello screenshot qui sopra, si può settare il colore del testo delle stringhe in evidenza (
È tutto, non dimenticarsi
...'grugnare' o 'grugnire' si traducono invece con 'to grunt', mentre 'rugliare' è 'to growl'. But the pig more often grub!
In particolare verrà spiegato come configurare l'immagine di sfondo, i colori del testo dello splash e la sua dimensione, il kernel di avvio di default e il timeout, che poi sono le uniche cose che mi interessava cambiare.
Chi sapeva configurare il vecchio GRUB editando il file
/boot/grub/menu.lst
, avrà probabilmente tentato di fare lo stesso col corrispettivo in GRUB 2, cioè /boot/grub/grub.cfg
. Questo file però non può essere editato direttamente, e infatti nelle prime righe dello stesso è riportato il seguente commento:#
# 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
#
...
Chiarissimo: per configurare GRUB 2 bisogna prima editare i vari file contenuti nella directory
/etc/grub.d
e/o il file /etc/default/grub
, e poi lanciare il comando /usr/sbin/update-grub
, che genererà il nuovo file /boot/grub/grub.cfg
contenente le modifiche apportate. Per inciso, lo stesso comando viene lanciato dal sistema ogni volta che si aggiunge o che si rimuove una versione del kernel: infatti, così com'era in
menu.lst
per GRUB, anche il file grub.cfg
in GRUB 2 contiene la lista di tutte le versioni del kernel installate e avviabili, disposte il modo che la più recente stia sopra. Detto questo, iniziate e pensare allo '0' e andiamo avanti.Settare il kernel di avvio e il timeout:
bisogna editare il file
/etc/default/grub
. Per questo, come per tutti i (pochi) comandi a seguire, sono necessari i privilegi di amministratore (sudo
ma godo!). L'editor qui usato è gedit, default di Gnome e quindi di Ubuntu. Aprire il file così~$ sudo gedit /etc/default/grub
Questo ad esempio è estratto dal mio:
...
GRUB_DEFAULT=0
GRUB_TIMEOUT=3
...
Alla voce '
GRUB_TIMEOUT=...
' si può settare il valore, in secondi, del tempo che GRUB 2 attende prima di lanciare il kernel di default. In questo caso, che è poi il default di Ubuntu, il kernel che verrà lanciato all'avvio è quello che corrisponde alla prima riga (riga 0). Sto parlando delle righe su cui GRUB dispone i vari kernel nella schermata di avvio: la prima riga corrisponde al numero '0' nell'impostazione 'GRUB_DEFAULT=...
'. Anche il vecchio GRUB contava le righe partendo da 0: la seconda corrisponde ad 1 e così via. Il default è 0 in modo che sia lanciato il più recente kernel installato. Credo che chiunque abbia avuto più di un kernel contemporaneamente, o magari un dual boot, abbia capito; per tutti gli altri, modificare questo valore non serve.Ora che questo file è stato editato, bisogna rendere effettive queste modifiche, caricandole in
grub.cfg
col comando di cui sopra, così:~$ sudo update-grub
! Qualsiasi modifica fatta a qualunque dei file editabili di cui parlavo prima e di cui parlerò in seguito (qui è
/etc/default/grub
, ricordate invece che /boot/grub/grub.cfg
non è editabile!), non sarà resa effettiva finché non sarà dato questo comando !Dimensioni, sfondo e colori del testo dello splash:
E veniamo ai file nella directory
/etc/grub.d
. Anche col vecchio GRUB era possibile usare immagini per lo sfondo, bastava solo che fossero a 14 colori, di dimensioni 640x480, salvate in formato .xpm e compresse in .gz (es: fiesta.xpm.gz). GRUB 2 da questo punto di vista ha fatto molti passi avanti. I file che ci serve editare sono solo due, iniziamo dal primo:~$ sudo gedit '/etc/grub.d/00_header'
qui, alla riga 46, si può settare la risoluzione dello splash di GRUB, facendola ad esempio uguale a quella del monitor
...
set gfxmode=1280x1024
...
o comunque mai più grande. Attenzione: ho riscontrato che non tutte le risoluzioni sono accettate; ad esempio quella del mio portatile, 1280x800, non lo è. Si provi comunque ad settare la propria, ma assicurandosi, prima, che il kernel di default sia funzionante. Si potrà così tornare ad editare il file di cui sopra, ripristinare il valore al default che è 640x480, ed aggiornare grub. Ricordarsi di salvare e andiamo all'altro file:
~$ sudo gedit '/etc/grub.d/05_debian_theme'
Qui c'è bisogno di qualche spiegazione. Guardiamo il file, così come io l'ho modificato:
Ho modificato la riga con le sottolineature per far sì che grub cerchi il file fiesta con estensione png, tga o jpeg nelle cartelle /boot/grub/splashimages e /usr/share/images/grub. La prima delle due cartelle è la dir di default degli splashimages del vecchio grub; è un posto ragionevole e voglio continuare a tenerci gli sfondi. Lì dove invece ho sottolineato jpeg, beh: lì originariamente non c'è. E fintanto che non lo si aggiungerà, non si potranno usare immagini jpeg; che però, come si capisce leggendo poco sotto (!), sono supportate.
Come è facile notare, è altrettanto facile creare ambiguità (esempio di battuta ricorsiva), mettando due file con uguale nome e diversa estensione, anche in cartelle diverse. Io ho fatto in modo di non crearne, e non so cosa succeda. Se si è modificata la dimensione dello splash di grub (
set gfxmode=..
), si scelga un'immagine delle stesse dimensioni.Poco più sotto alle righe dello screenshot qui sopra, si può settare il colore del testo delle stringhe in evidenza (
set color_highlight
) e di quelle non in evidenza. Io ho semplicemente cambiato magenta con white.È tutto, non dimenticarsi
~$ sudo update-grub