Il GRUB di Linux non compare? Ecco come risolvere

Quando si installa una distribuzione Linux, come Ubuntu, dopo di Windows in dual boot, ci si aspetterebbe al primo riavvio di veder spuntare il Grub con le opzioni per avviare sia la distro installata sia Windows. Purtroppo le cose non vanno sempre così e Windows continua ad avviarsi normalmente non mostrando nessuna opzione per fare partire Linux. Questo è un difetto comune sui sistemi che usano un bootmanager EFI.

In questa guida approfondiremo quindi come sistemare il problema tramite la distribuzione scelta.

Come risolvere utilizzando Efi Boot manager

Il menù che le distribuzioni di Linux utilizzano per gestire l’avvio e le relative opzioni è GRUB. Quando si fa il boot in modalità EFI ogni sistema deve avere il suo file in formato EFI sulla partizione omonima.

Come montare la partizione EFI (ESP) su WindowsAbbiamo realizzato per voi una mini guida, semplice e veloce, per montare e poter modificare la partizione efi (ESP) su Windows.

Se il grub non appare il problema di solito sta nella priorità con cui vengono letti i file EFI, prima di quello di Linux viene letto quello di Windows ed avviato il bootloader del sistema di casa Microsoft.

Si può risolvere direttamente tramite la distribuzione che avete installato, a patto di avere con voi la sua versione live, potete risolvere anche utilizzando una versione live qualsiasi di linux.

Come fare il boot sulla versione live di Linux?

E’ davvero semplice basta seguire alcuni semplici passaggi:

  • Inserite nel PC la chiavetta USB o il DVD con la distro di linux che volete avviare in versione live.
  • Entrate dentro Windows.
  • Da Windows riavviate il sistema tenendo sempre premuto il tasto Shift.
  • Quando appare una schermata blu, scegliete l’opzione per effettuare il boot da chiavetta o da DVD.
  • A questo punto la distribuzione di lunux si avvierà in modalità live esattamente come prima dell’installazione.

Avviata la versione live dobbiamo passare ad installare uefibootmgr.

Come installare Efi boot Manager?

Se siete sull’ultima versione di Ubuntu o su una sua variante ( Kubuntu, Lubuntu, Xubuntu) in versione 16.04 o successiva potete salare questo paragrafo in quanto il pacchetto uefibootmgr risulta installato ed aggiornato.

Se avete una altra distro dovete aprire il terminale ( si può fare rapidamente con la combinazione di tasti CTRL, ALT, e T).

E poi in base al gestore di pacchetti della distribuzione dare il comando per installare il pacchetto.

Per Ubuntu, Linux Mint, Debian, Zorin e tutte le Debian based dovete usare apt-get:

sudo apt-get install efibootmgr

Per Fedora e CentOS  dovete usare il comando per yum:

sudo yum install efibootmgr

Analogamente per openSUSE:

sudo zypper install efibootmgr

E infine per Arch, Manjaro, Antergos usare il comando per pacman:

sudo pacman -S efibootmgr

A installazione conclusa possiamo usare Efi Boot Manager per controllare e sistemare il bootloader.

Come si usa Efi Boot Manager?

Semplice basta aprire una finestra del terminale (velocemente con la combinazione CTRL, ALT, e T) e utilizzare il comando:

sudo efibootmgr

Il sudo serve per ottenere i privilegi di accesso alla cartella radice che sono assolutamente necessari per modificare il bootloader.

Dato il comando avrete una panoramica sulla situazione attuale del vostro attuale ordine di boot, vi uscirà infatti un output molto simile a quello dell’immagine.

Efi Boot manager come sistemare il vostro ordine di boot su Uefi

Questa schermata ci dà alcune importanti informazioni.

  • La voce BootCurrent dice su quale sistema siete in quel caso si trattava di Ubuntu Boot0004.
  • La voce Timeout ci dice quanto a lungo il menù di scelta appare prima di fare partire la prima voce, di default è settato a 0.
  • La voce BootOrder è fondamentale e vi dice l’ordine di priorità, quindi quale è la prima voce (in questo caso Ubuntu), la seconda 0001 che è Windows, e infine 2001 che è il boot da chiave usb.

Come sistemare l’ordine di Boot?

Sistemare l’ordine di boot è semplice e veloce ed è la regione principale per cui si usa questo tool. Se avete installato una distro di Linux e Windows continua ad avviarsi per primo come se nulla fosse, allora così sicuramente così rimedierete al problema.

Sicuramente in un caso del genere quando date il comando:

sudo efibootmgr

vi comparirà una risposta di questo genere:

  • BootCurrent: 0001
  • Timeout: 0 seconds
  • BootOrder: 0001,0004,0002,0005,0006,2001
  • Boot0001 Windows Boot Manager
  • Boot0002 Network
  • Boot0004 ubuntu
  • Boot0005 Hard Drive
  • Boot0006 CD/DVD/CD-RW Drive
  • Boot2001 EFI USB Device

Per correggerla basta utilizzare il comando

sudo efibootmgr -o (seguito dal nuovo BootOrder separato da virgole)

Ad esempio in questo caso la sintassi sarà

sudo efibootmgr -o 2001,0004,0001

oppure la forma breve sudo efibootmgr -o 2001,4,1

Abbiamo inserito il 2001 come prima voce perchè come potete vedere è il boot da dispositivo USB che è sempre comodo da tenere come prima voce per fare il boot rapido da una chiavetta.

La nuova lista di boot avrà questo aspetto:

  • BootCurrent: 0004
  • Timeout: 0 seconds
  • BootOrder: 2001,0004,0001
  • Boot0001 Windows Boot Manager
  • Boot0002 Network
  • Boot0004 ubuntu
  • Boot0005 Hard Drive
  • Boot0006 CD/DVD/CD-RW Drive
  • Boot2001 EFI USB Device

Come potete notare adesso il BootOrder è corretto.

Come cambiare l’ordine di Boot solo per il prossimo riavvio?

Se volete cambiare l’ordine di avvio solo per la prossima accensione della vostra macchina potete usare il seguente comando indicando l’ordine di avvio che volete:

sudo efibootmgr -n (ordine che preferite)

Un esempio

sudo efibootmgr -n 4,2,1

Se avete cambiato idea riportare tutto come prima è semplicissimo basta il comando

sudo efibootmgr -N

Settare il timeout del bootloader

Se volete poter scegliere ad ogni avvio cosa avviare potete settare il timeout che preferite con il comando

sudo efibootmgr -t 10

Con questo il menù di scelta apparirà per 10 secondi e poi verrà avviata automaticamente la prima opzione.

Se volete eliminare il timeout e tornare a 0 (che è l’opzione di default) basta usare il comando

sudo efibootmgr -T

Conclusione

Se volete maggiori informazioni sul tool Efi Boot Manager potete usare sempre nel terminale il seguente comando:

man efibootmgr

Fateci sapere se questa guida vi ha aiutato a risolvere questo fastidioso problema. Inoltre lasciateci un commento se trovate qualche altra soluzione, così che possa essere condivisa e che un sempre maggiore numero di persone possa utilizzare liberamente la propria distribuzione preferita.

L’articolo Il GRUB di Linux non compare? Ecco come risolvere appare per la prima volta su ChimeraRevo – Il miglior volto della tecnologia.