Visualizzazione post con etichetta GRUB. Mostra tutti i post
Visualizzazione post con etichetta GRUB. Mostra tutti i post

mercoledì 8 marzo 2017

Debian: installazione in modalità UEFI


Gli attuali sistemi basati su firmware UEFI (Unified Extensible Firmware Interface) hanno ormai rimpiazzato i vecchi computer con il BIOS (Basic Input/Output System), utilizzato fin dalla nascita dei primi PC.

Il BIOS ha molte limitazioni dovute alla sua progettazione che risale agli anni ‘80, ma per motivi di retrocompatibilià molte schede madri, oltre al firmware UEFI, supportano il boot in stile BIOS tramite CSM (Compatibility Support Module).

Al giorno d’oggi non c’è alcun motivo per installare Debian in modalità CSM, a meno che non si voglia installarlo in dual boot al fianco di una preesistente vecchia installazione di Windows.


In questa breve guida vedremo come installare Debian in modalità UEFI e come evitare e/o superare eventuali problemi.

Avvio in modalità UEFI

Il primo requisito per poter installare la nostra distribuzione GNU/Linux preferita in modalità UEFI è quello di dover avviare l’immagine disco di installazione da una penna USB in modalità UEFI!

Sembra un’ovvietà, ma spesso questo è il primo errore che si compie. Se il disco di installazione è inavvertitamente avviato tramite CSM, l’installazione proseguirà con la stessa modalità. Visto che sullo stesso sistema non possono convivere due sistemi operativi avviabili in modalità diverse, tanto vale disabilitare il modulo di retro-compatibilità CSM nella configurazione del firmware UEFI e scegliere l’opzione di boot “solo UEFI”.

Tabella delle partizioni GPT

Secondo requisito fondamentale è il partizionamento del disco di destinazione dell’installazione che deve essere di tipo GPT o GUId Partition Table (Globally Unique Identifier) e non il vecchio standard MS-DOS denominato MBR (Master Boot Record).

Proprio come il BIOS, il MBR porta con se molte limitazioni dovute ai limiti hardware del tempo in cui fu progettato, tra le quali la dimensione massima di 2 TB per i dischi di avvio e solo quattro partizioni primarie possibili.

Purtroppo non c’è modo di modificare la tabella delle partizioni durante l’installazione del sistema, quindi dovrete provvedere a preparare il disco di destinazione prima.

Fate attenzione, modificare la tabella delle partizioni comporta la perdita di tutte le partizioni esistenti e quindi di tutti i dati, se avete dati da mettere al sicuro è meglio fare un backup prima di procedere.

Modificare la Tabella delle partizioni con gparted

E’ possibile modificare il partizionamento del disco utilizzando gparted: dopo aver scelto il disco interessato, dal menù Dispositivo selezionare la voce “Crea tabella delle partizioni...” e create una tabella di tipo GPT.

E’ possibile scaricare l’immagine disco live dal sito di Gparted per poterlo avviare tramite una penna USB e preparare il disco interno del vostro PC.


Modificare la Tabella delle partizioni dal Terminale con fdisk


E’ possibile modificare la tabella delle partizioni anche da riga di comando utilizzando fdisk, uno strumento interattivo che permette di gestire le partizioni dei dischi.

La sintassi del comando è molto semplice:


# fdisk /dev/[nome del disco]


Per esempio, se il disco da partizionare è un disco SATA sda1


# fdisk /dev/sda1


Se invece dovete partizionare un moderno SSD M.2 PCIe allora sarà


#fdisk /dev/nvme0n1


Ricordatevi di eseguire questo comando come root.

Una volta invocato, fdisk attenderà i vostri ordini, digitando il carattere m potete visualizzare la lista dei comandi.

Con il carattere g potete creare una nuova tabella delle partizioni GPT vuota.

Completate digitando w per scrivere le modifiche e uscire.

Partizione di boot EFI

Ora che il disco è pronto potete procedere con l'installazione, ma c'è ancora un potenziale problema da sistemare. Quando avete cambiato la tabella delle partizioni avete distrutto tutte le partizioni preesistenti, l'installer di Debian è in grado di creare automaticamente le partizioni necessarie al sistema operativo, ma non si preoccupa di creare la partizione di avvio necessaria per UEFI.

Quindi, quando vi verrà richiesto, scegliete di partizionare manualmente il disco e create una partizione di 200 MB, con filesystem FAT32, punto di mount /boot/efi e spuntate il flag per renderla avviabile.

Ora che avete creato la partizione EFI, potete creare le restanti partizioni da utilizzare con Debian.

Errore nell’installazione del boot loader


Capita a volte che l’installazione del boot loader GRUB 2 fallisca e, dopo la segnalazione dell’errore, ci si ritrova davanti al menù iniziale dell’installer.

Mi sono imbattuto in questo problema durante l’installazione su un SSD con interfaccia M.2 di tipo PCIe, ho risolto nel seguente modo.

Dal menù con l'elenco dei passi dell'installazione selezionate la voce in basso per aprire una shell.

Prima di mostrarvi i comandi vorrei chiarire una cosa, quando aprite una shell dall’installer non avete accesso al sistema che avete installato sul disco, ma siete in un ambiente limitato che risiede in memoria. La root del disco di installazione è montata nella directory target. La prima cosa da fare è creare un collegamento tra le directory di sistema dell’ambiente in memoria e quelle del sistema sul disco, a questo scopo utilizziamo il comando mount con l’opzione bind.


# mount –bind /dev  /target/dev

# mount –bind /dev/pts  /target/dev/pts
# mount –bind /proc  /target/proc

# mount –bind /sys  /target/sys

Ora le directory /dev, /dev/pts, /proc e /sys sono legate a quelle sul disco.

Copiate il file resolv.conf per permettere il collegamento a internet dal sistema sul disco con


# cp /etc/resolv.conf /target/etc


Quindi eseguiamo il comando chroot per poter accedere come utente root al sistema installato sul disco di destinazione.


# chroot /target /bin/bash


Da questo momento in poi state eseguendo dei comandi sul sistema installato, procediamo all’installazione di GRUB.


# aptitude update

# aptitude install grub-efi-amd64
# update-grub

# grub-install –target=x86_64-efi /dev/nvme0n1

Dove nvme0n1 è il disco SSD M.2 PCIe, ma se state installando GRUB su un disco di tipo SATA allora sarà probabilmente sda.


Uscite dalla shell con il comando exit (da eseguire due volte) e scegliete di continuare senza installare GRUB. Vi apparirà un avviso per ricordarvi che senza GRUB il sistema non sarà avviabile, ignoratelo pure e andate avanti fino al riavvio.


Se il problema era causato dal disco SSD M.2 PCIe proseguite con questi passi per evitare di avere problemi di boot al prossimo riavvio, altrimenti fermatevi qui.

Alcuni aggiustamenti per i dischi SSD M.2 PCIe

Una volta riavviato dal sistema installato, aprite il Terminale e aggiungete “nvme” al file /etc/initramfs-tools/modules con


# nano /etc/initramfs-tools/modules


Dopo aver aggiunto una riga con la parola nvme salvate con Ctrl+O e uscite con Ctrl+X.

A questo punto eseguite questo comando:


# update-initramfs -u


Ora modificate il file grub in /etc/default


# nano /etc/default/grub


aggiungete la seguente linea


GRUB_CMDLINE_LINUX="intel_pstate=no_hwp"


Dopo aver salvato eseguite


# update-grub


A questo punto il vostro SSD funzionerà senza problemi.

domenica 7 agosto 2016

Password dimenticata: come reimpostare la password in Debian 8 GNU/Linux


Può succedere di dimenticare la password utente o quella di root (o entrambe) di un sistema che utilizziamo poco, vediamo un modo rapido per resettare le password.

Avviate il computer e attendete che compaia il menu di GRUB 2.

Utilizzando i tasti cursore su/giu selezionate la voce per avviare il sistema e premete il tasto 'e' per accedere alla modalità di modifica.

Sempre con i tasti freccia muovete il cursore alla fine della riga di avvio del kernel e aggiungete la voce “init=/bin/bash” in modo simile a quanto potete vedere nell'immagine.

modalità modifica in GRUB 2


A questo punto premete la combinazione di tasti Ctrl + x per avviare il sistema.

Alla fine della procedura di boot, invece di vedere la classica interfaccia grafica per il login, vi troverete nel terminale con accesso come root.

Il filesystem del sistema risulterà montato in modalità di sola lettura, dovrete abilitare la scrittura sul disco per poter modificare le password.
Digitate il comando:

mount -w -o remount /

Non vi resta che modificare la password di root digitando il comando:

passwd

Vi verrà chiesto di inserire due volte la nuova password.

Potrete anche modificare la password utente con lo stesso comando aggiungendo il proprio nome utente:

passwd nome_utente

Anche in questo caso dovrete reinserire la nuova password due volte.

Ora che avete ripristinato le password spegnete il computer e riavviate normalmente, ora avete di nuovo accesso completo al vostro sistema.

giovedì 26 novembre 2015

Risoluzione dei problemi con il dual boot di Debian GNU/Linux e Windows 10


Installare Debian, o qualsiasi altra distribuzione GNU/Linux, in dual boot con Windows 10 è abbastanza semplice e, alla fine dell'installazione, dopo il riavvio del sistema, ci troveremo davanti al classico menu di GRUB.
Ci sono dei casi particolari in cui potremmo andare in contro a dei problemi, vediamone due dei più comuni e cosa fare per risolverli.

Non compare il menù di GRUB, si avvia direttamente Windows 10


Questo è un problema capitato a molti, in alcuni casi si verifica non solo subito dopo aver installato Debian, ma anche dopo un aggiornamento a/di Windows 10, vediamo perché e come risolverlo.

Il problema è causato da Windows 10, che modifica le impostazioni del firmware UEFI (senza avvisare l'utente o chiedere conferma) e forza il boot con Windows. Da sempre Microsoft non si è mai curata di rispettare gli altri eventuali sistemi operativi installati sul computer dando per scontato che sul PC ci deve essere un solo sistema: il suo.

La soluzione è semplice, da Windows 10, cliccate sul pulsante Start, selezionate la voce Tutte le app, quindi Sistema Windows.



Cliccate con il tasto destro su Prompt dei comandi, verrà visualizzato un sotto menù, selezionate Altro e quindi Esegui come amministratore.



Vi verrà richiesta conferma di consentire all'applicazione Prompt dei comandi di eseguire modifiche sul PC, cliccate sul Si e comparirà la finestra per l'immissione dei comandi.

Inserite il seguente comando e premete invio:

bcdedit /set {bootmgr} path \EFI\debian\grubx64.efi



Come potete vedere dalla riga del comando, abbiamo impostato il percorso del boot manager da eseguire all'avvio. In questo caso specifico la directory all'interno di EFI è debian, per Ubuntu scriverete \EFI\ubuntu\grubx64.efi, mentre per Fedora sarà \EFI\fedora\grubx64.efi e così via.

Ora riavviate il PC e il familiare menù di GRUB vi accoglierà come sempre.

GRUB non trova l'immagine di sfondo impostata


La flessibilità di GRUB ci permette di personalizzarne l'aspetto modificando l'immagine di sfondo (vedi i miei precedenti post al riguardo per distribuzioni Debian/Ubuntu e per Fedora), ma in alcuni casi, pur avendo impostato correttamente l'immagine di sfondo, GRUB sembra non trovarla.

Di solito l'immagine da utilizzare per GRUB viene messa in /usr/share all'interno di qualche altra directory come ad esempio /usr/share/images/grub (come consigliato sulle mie guide precedenti). Se non ci sono errori di scrittura nel percorso indicato nell'opzione GRUB_BACKGROUND, ma nonostante tutto l'immagine non viene trovata, allora è probabile che la vostra /usr sia in una partizione diversa da quella dove GRUB va a cercare. Questo succede quando ad esempio abbiamo Windows 10 installato sul primo disco e Debian GNU/Linux nel secondo disco. Purtroppo GRUB non si affida ad un puro schema ad albero per il file system come in ambiente UNIX like, ma ha una vera e propria foresta di partizioni dove districarsi.

La soluzione più semplice che ho trovato a questo problema è quella di spostare l'immagine destinata a GRUB da /usr/share/images/grub a /boot/grub.
Se ad esempio l'immagine si chiama splash.png, dal terminale la possiamo spostare digitando:

> mv /usr/share/images/grub/splash.png /boot/grub

Ricordatevi di eseguire i comandi mostrati come root utilizzando su, oppure aggiungete sudo all'inizio della riga se il vostro utente è di tipo amministratore.

A questo punto possiamo modificare il file grub in /etc/default e rimuoviamo l'opzione GRUB_BACKGROUND.

> nano /etc/default/grub

Possiamo cancellare interamente la riga dell'opzione GRUB_BACKGROUND oppure escluderla inserendo il carattere # all'inizio della stessa per farla diventare un commento.

Salvate le modifiche premendo la combinazioni di tasti Ctrl-O e quindi uscite dall'editor con Ctrl-X.

GRUB di default cerca la prima immagine utile presente in /boot/grub, per questo motivo abbiamo rimosso l'opzione GRUB_BACKGROUND. Abbiate cura di mettere una sola immagine in /boot/grub, altrimenti verrà utilizzata la prima tra le tante.
Ora aggiornate GRUB con il solito script

> update-grub

Durante l'update GRUB vi dovrebbe comunicare che ha trovato l'immagine
Found background image: splash.png

Riavviate il sistema, il menù di GRUB adesso dovrebbe sfoggiare il nuovo look.

mercoledì 4 novembre 2015

Personalizzare il menù di GRUB 2 (Fedora): sistema operativo di default, immagine di sfondo e colore del testo


GRUB 2 è il bootloader di GNU, cioè quel programma che, all'avvio del computer, si occupa di caricare in memoria il kernel del sistema operativo.

Dopo aver installato la nostra distribuzione GNU/Linux preferita, all'avvio del PC, verrà visualizzato il menù di GRUB 2, dove potremo scegliere, tra le altre opzioni, quale sistema operativo caricare.

Vediamo quali modifiche possiamo apportare alla configurazione di GRUB 2 per adattarlo alle nostre necessità.

Questa guida è scritta in modo specifico per la distribuzione GNU/Linux Fedora. I concetti di base sono comunque validi anche su altre distribuzioni GNU/Linux.

Scelta del sistema operativo da avviare


Il comportamento di default di GRUB 2 è quello di attendere alcuni secondi la scelta dell'utente prima di avviare automaticamente il sistema operativo che ha installato GRUB 2 (in un PC con dual-boot Windows e GNU/Linux, quest'ultimo sarà avviato di default salvo scelta differente da parte dell'utente).

1) Cambiare il sistema operativo di default


Nel caso preferissimo avviare di default un altro sistema operativo basterà apportare la seguente modifica:

Avviate il terminale e portatevi sulla directory /etc/default con il comando cd

> cd /etc/default

Ora andremo a modificare il file grub contenuto in questa cartella (in questa guida userò il text editor nano, ma se preferite potrete utilizzarne un altro a piacimento).

> sudo nano grub

Verrà visualizzato un file di testo come il seguente:

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=0
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

La righe che iniziano con il carattere # sono considerate commenti e quindi ignorate. Il sistema operativo di default è indicato dall'opzione GRUB_DEFAULT che di solito è impostato al valore 0, cioè il primo sistema indicato sulla lista di GRUB 2. Sostituendo 0 con un altro numero potremmo scegliere il sistema di default (1 per il secondo sistema della lista, 2 il terzo e così via).

Ora salvate le modifiche ed uscite dal text editor (se state utilizzando nano salvate con la combinazione di tasti Ctrl-O, confermando il nome del file premendo Invio. Quindi uscite con Ctrl-X).

Ora da terminale aggiornate la configurazione di GRUB2 con questo comando:
> sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Ricordatevi che le sole modifiche al file grub non hanno alcun effetto sulla configurazione di GRUB2 se non eseguite il comando grub2-mkconfig. Ora potete riavviare e testare le modifiche apportate.

2) Avvio di default del sistema operativo utilizzato precedentemente


Questa opzione è quella che reputo più comoda, è particolarmente utile quando dobbiamo riavviare un sistema, come ad esempio a seguito di un aggiornamento del kernel.

Andiamo ancora a modificare il file grub in /etc/default. Per attivare questa opzione dovremmo aggiungere una riga prima di GRUB_DEFAULT ed inserire quanto seguente:

GRUB_SAVEDEFAULT=true

Questa opzione attiva il salvataggio dell'ultima scelta fatta. Ora modifichiamo la riga sottostante per scegliere come sistema di default quello salvato.

GRUB_DEFAULT=saved

Come prima salviamo il file ed aggiorniamo GRUB 2 eseguendo il solito comando.
> sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Modificare l'aspetto del menu di GRUB 2


Una cosa comune alla maggior parte degli utenti GNU/Linux è la voglia di personalizzazione del proprio sistema, a partire dalla prima cosa che viene visualizzata dopo aver acceso il computer: il menu di GRUB 2.

1) Aggiungere un'immagine di sfondo al menu


Per avere un'immagine di sfondo basterà aggiungere questa opzione al solito file grub in /etc/default

GRUB_BACKGROUND="percorso del file immagine"

GRUB 2 supporta l'uso di immagini in formato PNG, JPG/JPEG e TGA. Scegliete accuratamente un'immagine della giusta risoluzione e fate in modo che sia salvata in uno dei formati supportati.

Ora la domanda è dove mettere l'immagine da utilizzare con GRUB 2?

Io ho l'abitudine di metterla in /usr/share/images/grub. Andate in /usr/share con il comando
> cd /usr/share

Ora visualizzate il contenuto per controllare se c'è una directory chiamata images, se non c'è potrete crearla con il seguente comando

> sudo mkdir images

Ora andate all'interno della directory images

> cd images

Create la directory grub al suo interno

> sudo mkdir grub

Ora abbiamo una cartella dedicata a contenere le immagini destinate a GRUB 2. Copiate l'immagine che volete utilizzare con il comando cp. Per farlo andate nella directory dove avete l'immagine con il comando cd (per tornare alla propria home directory potete usare il comando cd senza indicare alcun percorso), quindi digitate

> sudo cp nome immagine /usr/share/images/grub/nome immagine

Se per esempio la vostra immagine si chiama splash.png scriverete

> sudo cp splash.png /usr/share/images/grub/splash.png

Ora andiamo a modificare il solito file grub in /etc/default per indicare il percorso completo dell'immagine nell'opzione GRUB_BACKGROUND, se per esempio l'immagine si chiama splash.png scriverete quanto segue

GRUB_BACKGROUND=”/usr/share/images/grub/splash.png”

Salvate e uscite dal text editor, quindi ricordatevi di aggiornare GRUB 2 con il solito comando

> sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Ora riavviate ed ammirate il nuovo look.

2) Cambiare i colori del testo del menu


Potrebbe essere necessario cambiare i colori del testo del menu di GRUB 2 per migliorarne la leggibilità dopo aver aggiunto un'immagine di sfondo, o semplicemente perché vogliamo personalizzare anche questi.

Per cambiare i colori del testo dobbiamo modificare il file 41_custom che si trova in /etc/grub.d

> cd /etc/grub.d
> sudo nano 41_custom

Verrà visualizzato un file di testo come il seguente:

#!/bin/sh
cat <<EOF
if [ -f  \${config_directory}/custom.cfg ]; then
  source \${config_directory}/custom.cfg
elif [ -z "\${config_directory}" -a -f  \$prefix/custom.cfg ]; then
  source \$prefix/custom.cfg;
fi
EOF
I colori che vogliamo modificare sono i seguenti:
  • menu_color_highlight = sono i colori del testo evidenziato e del suo sfondo
  • menu_color_normal = sono i colori del testo non evidenziato e del suo sfondo

La sintassi della scelta del colore è la seguente:

    menu_color=colore_testo/colore_sfondo

E questi sono i nomi dei colori accettati da GRUB2:

  •     black
  •     blue
  •     brown
  •     cyan
  •     dark-gray
  •     green
  •     light-cyan
  •     light-blue
  •     light-green
  •     light-gray
  •     light-magenta
  •     light-red
  •     magenta
  •     red
  •     white
  •     yellow

Ora aggiungiamo le istruzioni per la configurazione dei colori prima della riga EOF come nell'esempio di seguito:


#!/bin/sh
cat <<EOF
if [ -f  \${config_directory}/custom.cfg ]; then
  source \${config_directory}/custom.cfg
elif [ -z "\${config_directory}" -a -f  \$prefix/custom.cfg ]; then
  source \$prefix/custom.cfg;
fi
set color_normal=white/black
set color_highlight=light-green/black
EOF

Modificate a piacimento i colori, ma fate attenzione se modificate il colore di sfondo con un colore diverso da black. Infatti se il colore di sfondo è impostato come black, questo sarà trasparente e lascerà vedere l'immagine sottostante, se lo modificate con un altro colore allora non sarà trasparente e verrà visualizzata la riga del colore scelto.

Al termine della modifica salvate il file e ricordate sempre di aggiornare la configurazione con il solito comando:

> sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Riavviate e controllate che il look finale sia leggibile e di vostro gradimento.


martedì 29 settembre 2015

Personalizzare il menù di GRUB 2 (Debian/Ubuntu e derivate): sistema operativo di default, immagine di sfondo e colore del testo


GRUB 2 è il bootloader di GNU, cioè quel programma che, all'avvio del computer, si occupa di caricare in memoria il kernel del sistema operativo.
Dopo aver installato la nostra distribuzione GNU/Linux preferita, all'avvio del PC, verrà visualizzato il menù di GRUB 2, dove potremo scegliere, tra le altre opzioni, quale sistema operativo caricare.
Vediamo quali modifiche possiamo apportare alla configurazione di GRUB 2 per adattarlo alle nostre necessità.

Questa guida è scritta in modo specifico per distribuzioni GNU/Linux Debian e derivate come Ubuntu e Mint. I concetti di base sono comunque validi anche su altre distribuzioni GNU/Linux.



Scelta del sistema operativo da avviare

Il comportamento di default di GRUB 2 è quello di attendere alcuni secondi la scelta dell'utente prima di avviare automaticamente il sistema operativo che ha installato GRUB 2 (in un PC con dual-boot Windows e GNU/Linux, quest'ultimo sarà avviato di default salvo scelta differente da parte dell'utente).

1) Cambiare il sistema operativo di default

Nel caso preferissimo avviare di default un altro sistema operativo basterà apportare la seguente modifica:

Avviate il terminale e portatevi sulla directory /etc/default con il comando cd

> cd /etc/default

Ora andremo a modificare il file grub contenuto in questa cartella (in questa guida userò il text editor nano, ma se preferite potrete utilizzarne un altro a piacimento).

> sudo nano grub

Verrà visualizzato un file di testo come il seguente:

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

# 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-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_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

La righe che iniziano con il carattere # sono considerate commenti e quindi ignorate. Il sistema operativo di default è indicato dall'opzione GRUB_DEFAULT che di solito è impostato al valore 0, cioè il primo sistema indicato sulla lista di GRUB 2. Sostituendo 0 con un altro numero potremmo scegliere il sistema di default (0 il primo nella lista, 1 il secondo, 2 il terzo e così via).

Ora salvate le modifiche ed uscite dal text editor (se state utilizzando nano salvate con la combinazione di tasti Ctrl-O, confermando il nome del file premendo Invio. Quindi uscite con Ctrl-X).

Ora da terminale aggiornate la configurazione di GRUB2 eseguendo il seguente script:

> sudo update-grub

Ricordatevi che le sole modifiche al file grub non hanno alcun effetto sulla configurazione di GRUB2 se non eseguite lo script di aggiornamento. Ora potete riavviare e testare le modifiche apportate.

2) Avvio di default del sistema operativo utilizzato precedentemente

Questa opzione è quella che reputo più comoda, è particolarmente utile quando dobbiamo riavviare un sistema, come ad esempio a seguito di un aggiornamento del kernel.

Andiamo ancora a modificare il file grub in /etc/default. Per attivare questa opzione dovremmo aggiungere una riga prima di GRUB_DEFAULT ed inserire quanto seguente:

GRUB_SAVEDEFAULT=true

Questa opzione attiva il salvataggio dell'ultima scelta fatta. Ora modifichiamo la riga sottostante per scegliere come sistema di default quello salvato.

GRUB_DEFAULT=saved

Come prima salviamo il file ed aggiorniamo GRUB 2 eseguendo il solito script.

> sudo update-grub

Modificare l'aspetto del menu di GRUB 2

Una cosa comune alla maggior parte degli utenti GNU/Linux è la voglia di personalizzazione del proprio sistema, a partire dalla prima cosa che viene visualizzata dopo aver acceso il computer: il menu di GRUB 2.

1) Aggiungere un'immagine di sfondo al menu

Per avere un'immagine di sfondo basterà aggiungere questa opzione al solito file grub in /etc/default

GRUB_BACKGROUND="percorso del file immagine"

GRUB 2 supporta l'uso di immagini in formato PNG, JPG/JPEG e TGA. Scegliete accuratamente un'immagine della giusta risoluzione e fate in modo che sia salvata in uno dei formati supportati.

Ora la domanda è dove mettere l'immagine da utilizzare con GRUB 2?

Io ho l'abitudine di metterla in /usr/share/images/grub. Andate in /usr/share con il comando

> cd /usr/share

Ora visualizzate il contenuto per controllare se c'è una directory chimata images, se non c'è potrete crearla con il seguente comando

> sudo mkdir images

Ora andate all'interno della directory images

> cd images

Create la directory grub al suo interno

> sudo mkdir grub

Ora abbiamo una cartella dedicata a contenere le immagini destinate a GRUB 2. Copiate l'immagine che volete utilizzare con il comando cp. Per farlo andate nella directory dove avete l'immagine con il comando cd (per tornare alla propria home directory potete usare il comando cd senza indicare alcun percorso), quindi digitate

> sudo cp nome immagine /usr/share/images/grub/nome immagine

Se per esempio la vostra immagine si chiama splash.png scriverete

> sudo cp splash.png /usr/share/images/grub/splash.png

Ora andiamo a modificare il solito file grub in /etc/default per indicare il percorso completo dell'immagine nell'opzione GRUB_BACKGROUND, se per esempio l'immagine si chiama splash.png scriverete quanto segue

GRUB_BACKGROUND=”/usr/share/images/grub/splash.png”

Salvate e uscite dal text editor, quindi ricordatevi di aggiornare GRUB 2 con il solito script

> sudo update-grub

Ora riavviate ed ammirate il nuovo look.

2) Cambiare i colori del testo del menu

Potrebbe essere necessario cambiare i colori del testo del menu di GRUB 2 per migliorarne la leggibilità dopo aver aggiunto un'immagine di sfondo, o semplicemente perché vogliamo personalizzare anche questi.

Per cambiare i colori del testo dobbiamo modificare il file 05_debian_theme che si trova in /etc/grub.d

> cd /etc/grub.d

> sudo nano 05_debian_theme

Questo file di testo è molto lungo ed apparentemente abbastanza complesso. Dovete scorrere il file lentamente e trovare le seguenti righe:

if [ -z "${2}" ] && [ -z "${3}" ]; then
     echo " true"
fi

I colori che vogliamo modificare sono i seguenti:
  • - menu_color_highlight = sono i colori del testo evidenziato e del suo sfondo all'interno del box contenente il menù
  • - menu_color_normal = sono i colori del testo non evidenziato e del suo sfondo all'interno del box contenente il menù
  • - menu_color = sono i colori del testo e del suo sfondo al di fuori del box contenente il menù

La sintassi della scelta del colore è la seguente:

menu_color=colore_testo/colore_sfondo

E questi sono i colori accettati da GRUB2:
  • black
  • blue
  • brown
  • cyan
  • dark-gray
  • green
  • light-cyan
  • light-blue
  • light-green
  • light-gray
  • light-magenta
  • light-red
  • magenta
  • red
  • white
  • yellow

Ora modifichiamo le righe trovate precedentemente come segue:

if [ -z "${2}" ] && [ -z "${3}" ]; then
     #echo " true"
     echo " set color_highlight=red/green"
     echo " set color_normal=light-cyan/black"
fi

Abbiamo aggiunto il carattere # davanti alla riga echo “ true” per farla diventare un commento ed abbiamo aggiunto due righe con la scelta dei colori del testo evidenziato e non, all'interno del box contenente il menù.

Modificate a piacimento i colori, ma fate attenzione a non modificare il colore di sfondo di color_normal. Infatti se il colore di sfondo è impostato come black, questo sarà trasparente e lascerà vedere l'immagine sottostante, se lo modificate con un altro colore allora non sarà trasparente ed il risultato finale non sarà gradevole.

Al termine della modifica salvate il file e ricordate sempre di aggiornare la configurazione con lo script update-grub.

Riavviate e controllate che il look finale sia leggibile e di vostro gradimento.