ChimeraRevo – Il punto di riferimento della tecnologia
menubar
Home > Guide > Come personalizzare GRUB2…

Come personalizzare GRUB2 per gestire meglio gli OS multipli

Gaetano Abatemarco Dic 15, 2014

Da quando il “vecchio” GRUB è uscito dalla realtà della stragrande maggioranza delle distribuzioni Linux-based, il mondo per tanti linari è cambiato: nonostante il suo successore sia estremamente più funzionale e molto più pulito, già la scomparsa del caro /boot/grub/menu.lst che permetteva di decidere in quattro e quattr’otto l’ordine dei sistemi operativi da avviare ha – letteralmente – scoraggiato numerosi utenti dal procedere manualmente ad un minimo di personalizzazione.

A partire da GRUB 2, infatti, andare a modificare il file di configurazione (/boot/grub/grub.cfg) manualmente è pressochè inutile, poichè ogni volta che verrà aggiornato GRUB2 (con il comando update-grub), questo si baserà sugli script di configurazione fatti ad-hoc per crearlo e riporterà il suddetto file in sola lettura.

ubuntu-grub-c

Sebbene esistano dei tool grafici dedicati proprio alla personalizzazione di tutti gli aspetti del boot loader, può capitare a volte – vuoi per esigenze, vuoi perché è possibile agire soltanto in modalità testuale – di dover procedere manualmente per personalizzare e rendere più comodo il proprio boot loader in particolare nel caso di dual boot Windows/Linux.

Vogliamo dare una mano a chi ha bisogno di un bootloader leggermente piu’ flessibile e più adatto alle proprie esigenze rispetto alla configurazione generalmente presente di default nelle nuove installazioni dei sistemi operativi senza però entrare nei dettagli dei file menzionati poc’anzi, limitandosi a sapere il minimo indispensabili. Nel dettaglio, andremo a:

  • impostare quale sistema operativo avviare per primo;
  • diminuire o aumentare il timeout d’avvio;
  • eliminare i kernel presenti nel sistema;
  • disattivare il recovery mode associato a ciascun kernel;
  • far sì che GRUB 2 ricordi l’ultimo sistema operativo avviato.

L’ordine dei sistemi operativi

Iniziamo proprio dagli script di configurazione, presenti nella directory /etc/grub.d. Prendendo come esempio Ubuntu, gli script presenti per default sono i seguenti (file in più, file in meno):

00_header 05_debian_theme 10_linux 20_memtest86+ 30_os-prober 40_custom

La prima cosa da notare è il nome: davanti ad ogni parola vi è un numero, questo perché lo script per l’aggiornamento di GRUB 2 analizza gli script in ordine alfabetico crescente. Ecco a cosa servono gli script menzionati in alto:

  • 00_header: preleva le informazioni da /etc/default/grub
  • 05_debian_theme: permette di impostare dettagli visivi, come ad esempio il colore del testo e l’immagine di sfondo (Debian, Ubuntu e derivate)
  • 10_linux: cerca (e rende accessibili al boot) eventuali kernel linux presenti sull’hard disk
  • 20_memtest86+: se esiste il file /boot/memtest86+.bin (che permette di eseguire un test per la memoria), questo viene aggiunto alla lista dei sistemi avviabili
  • 30_os-prober : verifica l’esistenza di altri sistemi operativi e, in tal caso, li aggiunge alla lista
  • 40_custom : permette di specificare script personalizzati dall’utente.

Il file di configurazione /boot/grub/grub.cfg, come già detto, viene costruito dinamicamente invocando il comando update-grub, comando che legge sequenzialmente i files di cui sopra.

A questo punto è piuttosto semplice capire in che ordine appariranno i sistemi operativi nella lista d’avvio del bootloader : 10 < 20, quindi 10_linux sarà letto per primo, per cui le prime voci saranno dedicate ai kernel presenti sull’hard disk; 20 < 30 ragion per cui, immediatamente la lista dei kernel, verrà eventualmente la voce dedicata a memtest86+; 30 < 40 per cui, immediatamente dopo memtest86+, appariranno in lista gli altri eventuali sistemi operativi.

Supponendo di avere sul sistema i kernel 2.x.xx e 2.x.xy, il file /boot/memtest86+.bin presente e di avere installato anche Windows 7, la lista risulterà del tutto simile a:

Linux - Kernel 2.x.xx
Linux - Kernel 2.x.xx (recovery mode)
Linux - Kernel 2.x.xy
Linux - Kernel 2.x.xy (recovery mode)
Memtest86+
Windows 7 (Loader)

Tenendo presente che il kernel (o il sistema operativo) selezionato di default da GRUB2 al suo avvio è sempre il primo della lista, in base a ciò che abbiamo scoperto fino ad ora sappiamo esattamente come cambiare l’ordine: basterà rinominare gli script di configurazione modificandone la numerazione, così che update-grub li legga con l’ordine che noi preferiamo.

Ad esempio, con la stessa configurazione di prima, supponiamo di voler mettere Windows 7 in cima alla lista: da terminale,  i file in /etc/grub.d dovranno essere rinominati come segue

cd /etc/grub.d
sudo mv <nome_vecchio_file> <nome_nuovo_file>

i nuovi nomi dovranno essere pressappoco i seguenti:

00_header #invariato
05_debian_theme #invariato
10_os-prober #che prima era 30
20_linux #che prima era 10
30_memtest86+ #che prima era 20
40_custom #invariato

Riconducendoci all’esempio fatto in precedenza, la lista di GRUB 2 è diventata la seguente:

Windows 7 (Loader)
Linux - Kernel 2.x.xx
Linux - Kernel 2.x.xx (recovery mode)
Linux - Kernel 2.x.xy
Linux - Kernel 2.x.xy (recovery mode)
Memtest86+

Personalizzare GRUB – Il timeout d’avvio

Altra cosa estremamente utile potrebbe essere aumentare il timeout d’avvio, ovvero il tempo che percorre tra la comparsa del menu di GRUB 2 e l’effettivo avvio del sistema operativo in cima alla lista. Per farlo, digitate da terminale

sudo gedit /etc/default/grub &

avendo cura di sostituire con gedit, eventualmente, l’editor di testi predefinito del sistema (che potrebbe essere mousepad, leafpad od altro).

Cercate la riga

GRUB_TIMEOUT=10

e cambiate il numero 10 con il nuovo timeout espresso in secondi, ad esempio 30: (NB: il timeout è espresso in secondi).

Eliminare Kernel e Recovery Mode

Per alleggerire ulteriormnete GRUB 2 è possibile disinstallare i kernel che non si utilizzano più – tuttavia questo lavoro deve essere fatto dal gestore pacchetti di sistema; inoltre, se si è sicuri di non averne bisogno, è possibile eventualmente eliminare le voci “Recovery Mode” associate a ciascun kernel (cosa che, tuttavia, personalmente sconsiglio di fare per meglio gestire le situazioni di emergenza).

Per eliminare le voci relative al Recovery Mode bisognerà aprire di nuovo in modifica il file /etc/default/grub con il comando già visto in alto, cercare la riga

#GRUB_DISABLE_LINUX_RECOVERY="true"

e togliere il cancelletto che la precede. A scelta, è possibile eliminare anche – se esiste – la voce relativa a Memtest86+ dalla lista d’avvio di GRUB: per procedere, sempre alla luce del fatto che il comando per aggiornare GRUB 2 va a leggere gli script da /etc/grub.d, basterà impedirgli di leggere quello relativo a Memtest86+ semplicemente eliminando da esso i permessi di esecuzione. Tradotto in comandi, ciò corrisponde a digitare

sudo chmod a-x *_memtest86+

Far sì che GRUB ricordi l’ultimo OS avviato

Piccola chicca finale: se ce ne è bisogno, è possibile far si che GRUB 2 “ricordi” automaticamente l’ultimo sistema operativo avviato e che lo faccia partire anche ai successivi riavvii. Per farlo è necessario ancora una volta aprire in modifica il file /etc/default/grub con il comando

sudo gedit /etc/default/grub

(eventualmente sostituendo a gedit l’editor di testi predefinito), aggiungere in coda al file le righe

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

e, infine, salvare e chiudere l’editor.

Confermare tutte le modifiche

Una volta completate tutte le modifiche che si desiderano, affinché queste siano effettive sarà necessario aggiornare GRUB 2 con il comando di cui vi abbiamo parlato inizialmente una volta: semplicemente, da terminale, bisognerà digitare

sudo update-grub

seguito da invio ed attendere il completamento della procedura. Le modifiche saranno effettive sin dal prossimo riavvio.

In che zona siamo oggi? A risponde è Siri

10 ore fa

Per quanto possa sembrare complicata, l’applicazione “Comandi” di iPhone e iPad, rappresenta una piattaforma utile e soprattutto essenziale per la personalizzazione delle funzioni di Siri. In questa guida, andremo a sfruttarla per creare un comando leggi di più…

siri apple 800x500 c

Come scaricare audiolibri gratis

21 ore fa

Sono in molti ad amare leggere libri o, in alternativa, ascoltarli per rilassarsi. Gli audiolibri, infatti, hanno proprio lo scopo di intrattenere gli utenti, i quali devono semplicemente avviare la loro riproduzione e mettersi comodi leggi di più…

come scaricare audiolibri gratis

Fotocamere Compatte Sony: le migliori da comprare nel 2021

1 giorno fa

In questa guida all’acquisto sempre aggiornata vi mostreremo quali sono le migliori fotocamere compatte Sony e i principali criteri con cui sceglierne una. L’azienda nipponica è riuscita in poco tempo a riscuotere un grande successo in leggi di più…

migliori compatte sony

Fotocamere Compatte Panasonic: le migliori da comprare nel 2021

1 giorno fa

In questa guida sempre aggiornata vi introdurremo all’acquisto delle migliori compatte Panasonic, dispositivi che – oltre ad essere molto indicati per registrare video – sono in grado di regalare ottimi scatti grazie a sensori molto leggi di più…

migliori compatte panasonic

Fotocamera compatta Olympus: le migliori da comprare nel 2021

1 giorno fa

In questa guida all’acquisto sempre aggiornata vi mostreremo le migliori fotocamere compatte Olympus attualmente presenti sul mercato. Principalmente rivolti al mondo degli sportivi e agli amanti dell’outdoor, i dispositivi di casa Olympus garantiscono il massimo sotto leggi di più…

migliori fotocamere compatte Olympus

Iscriviti alla Newsletter

Articoli recenti

  • In che zona siamo oggi? A risponde è Siri
  • Come scaricare audiolibri gratis
  • Fotocamere Compatte Sony: le migliori da comprare nel 2021
  • Fotocamere Compatte Panasonic: le migliori da comprare nel 2021
  • Fotocamera compatta Olympus: le migliori da comprare nel 2021
  • Chi siamo
  • Lavora con noi
  • Contattaci
  • Privacy

Copyright © 2020. Tutti i diritti riservati. ChimeraRevo SRL - P.I.: IT05544220659

Modifica impostazioni sulla privacy