Ripristinare GRUB su Linux: guida completa al dual boot con Windows

Se GRUB è il primo software che gira quando accendi il PC. Prima del kernel, prima del desktop, prima di tutto. È lui che decide quale sistema operativo caricare, su quale disco cercarlo, con quali parametri avviarlo. Se hai Linux installato, GRUB c’è. Se hai Linux e Windows insieme, GRUB gestisce la scelta all’avvio. Se un giorno il PC non parte più e vedi solo una riga grub> su sfondo nero, stai guardando GRUB in modalità emergenza.

Questa guida copre tutto: come funziona, come configurarlo, come ripristinarlo quando si rompe, e cosa cambia su un mini PC con eMMC o NVMe rispetto a un desktop classico.

👉 Leggi qui: Linux Mint appena installato: prime cose da fare

Cos’è GRUB e cosa fa

GRUB sta per GRand Unified Bootloader. È il boot loader standard di quasi tutte le distribuzioni Linux, e il suo compito è preciso:

  • avviare il kernel Linux;
  • gestire il dual boot con Windows o altri sistemi;
  • caricare la recovery mode;
  • permettere di scegliere tra kernel diversi (utile dopo un aggiornamento problematico).

Tra il firmware del PC (BIOS o UEFI) e il sistema operativo c’è un vuoto: GRUB lo colma. Senza di lui, il PC non saprebbe dove cercare Linux né come caricarlo.

UEFI o BIOS Legacy: la differenza che cambia i comandi

Questa è la fonte principale di confusione nelle guide online, perché il comando per installare GRUB cambia completamente a seconda del firmware del PC.

Quasi tutti i PC moderni usano UEFI. Se il tuo PC è stato prodotto dopo il 2012, quasi certamente è UEFI. I mini PC come NiPoGi AM21, GMKtec, MINISFORUM: tutti UEFI.

Per verificare sul terminale:

[ -d /sys/firmware/efi ] && echo "UEFI" || echo "BIOS Legacy"

Su UEFI il disco viene partizionato in formato GPT e c’è sempre una partizione EFI (montata solitamente in /boot/efi) dove il firmware cerca i file di avvio. GRUB si installa lì, non all’inizio del disco come faceva su BIOS Legacy.

Su BIOS Legacy si usava un disco MBR e GRUB veniva scritto nel Master Boot Record, i primi 512 byte del disco. Ancora valido su hardware molto vecchio, ma sempre meno rilevante nel 2026.

[IMMAGINE: UEFI è il sistema di avvio moderno utilizzato dai PC recenti]

Quando compare il menu GRUB (e quando resta nascosto)

Se hai solo Linux installato, GRUB di solito non compare: conta fino a zero e avvia il sistema automaticamente. Comparirà in questi scenari:

  • dual boot Linux + Windows
  • dual boot Linux + Batocera
  • più distribuzioni Linux sullo stesso PC
  • più SSD o NVMe con sistemi diversi
  • recovery mode da raggiungere manualmente
  • più versioni del kernel installate

Per forzare la comparsa del menu anche con sistema singolo, agisci su /etc/default/grub (sezione dedicata più avanti).

I comandi che usi il 90% delle volte

sudo update-grub

sudo update-grub

Questo è il comando che userai più spesso. Rigenera il file di configurazione GRUB (/boot/grub/grub.cfg) scansionando tutti i dischi e i sistemi operativi rilevati. Va eseguito ogni volta che:

  • installi o rimuovi un sistema operativo;
  • aggiorni il kernel;
  • modifichi /etc/default/grub;
  • Windows sparisce dal menu (più su questo tra poco).

Non modifica nulla di permanente: legge le impostazioni da /etc/default/grub e le applica. Puoi eseguirlo quante volte vuoi senza rischi.

Su Fedora e derivate Red Hat il comando equivalente è sudo grub2-mkconfig -o /boot/grub2/grub.cfg.

sudo grub-install

Questo è il comando per installare fisicamente GRUB sul disco. Si usa quando:

  • installi Linux da zero;
  • GRUB è stato sovrascritto (succede spesso dopo Windows Update);
  • hai sostituito il disco di avvio.

Su sistemi UEFI (il caso comune oggi):

sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
sudo update-grub

--efi-directory=/boot/efi è il punto di mount della partizione EFI. Verifica con lsblk -f dove si trova la partizione di tipo vfat con l’etichetta EFI se hai dubbi.

Su sistemi BIOS Legacy:

sudo grub-install /dev/sda
sudo update-grub

Sostituisci /dev/sda con il disco corretto: usa lsblk per identificarlo prima di procedere.

Su mini PC con storage eMMC (NiPoGi E1, E3B e simili con storage saldato):

Il disco eMMC non si chiama /dev/sda ma /dev/mmcblk0. Le partizioni si chiamano /dev/mmcblk0p1, /dev/mmcblk0p2 e così via. Su BIOS Legacy:

sudo grub-install /dev/mmcblk0

Su UEFI con eMMC, il parametro --efi-directory resta /boot/efi: la partizione EFI è già montata lì normalmente, cambia solo il nome del dispositivo fisico sottostante.

Su mini PC con NVMe:

Il disco è /dev/nvme0n1, le partizioni /dev/nvme0n1p1, /dev/nvme0n1p2 ecc. Su UEFI il comando grub-install è identico a sopra: GRUB si installa sulla partizione EFI, non sul raw disk, quindi il nome del disco non entra nel comando.

⚠️ Attenzione: installare GRUB sul disco sbagliato può rendere il sistema non avviabile. Prima di eseguire grub-install su BIOS Legacy, verifica sempre con lsblk su quale disco è installato Linux.

Il file /etc/default/grub: tutte le opzioni che contano

Qui si configurano tutte le impostazioni di GRUB. Non modificare mai direttamente /boot/grub/grub.cfg: viene sovrascritto da update-grub ogni volta e perdi tutto.

sudo nano /etc/default/grub

GRUB_DEFAULT=0
Quale voce avviare di default. 0 è la prima voce, 1 la seconda, e così via. I numeri partono da zero. In alternativa usa saved per ricordare l’ultima scelta dell’utente (richiede anche GRUB_SAVEDEFAULT=true).

GRUB_TIMEOUT=5
Secondi di attesa prima dell’avvio automatico. 0 avvia subito senza mostrare il menu. -1 aspetta all’infinito (utile in test o su server). Se il menu non compare mai e vuoi vederlo, questo è il primo parametro da controllare.

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
Parametri passati al kernel Linux. quiet sopprime i messaggi di boot, splash mostra il logo grafico. Per diagnosticare problemi di avvio, rimuovi entrambi: vedrai tutti i messaggi del kernel scorrere in chiaro e capirai dove si blocca.

GRUB_DISABLE_OS_PROBER=false
Da Ubuntu 22.04 in poi, os-prober è disabilitato di default. Questo significa che Windows non viene rilevato automaticamente. Se Windows non compare nel menu, questa riga è la soluzione nella maggior parte dei casi (sezione dedicata sotto).

GRUB_GFXMODE=1920x1080
Risoluzione del menu GRUB. Aggiungila se il menu compare con caratteri enormi o distorto su schermi ad alta risoluzione.

Dopo qualsiasi modifica a questo file:

sudo update-grub

Impostare Windows (o un altro sistema) come predefinito

GRUB numera le voci del menu partendo da zero. Per vedere l’ordine esatto nel tuo sistema:

grep -E "menuentry|submenu" /boot/grub/grub.cfg | head -20

Se Windows è la quarta voce (posizione 3):

GRUB_DEFAULT=3

Se vuoi che GRUB ricordi sempre l’ultima scelta dell’utente:

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

Poi:

sudo update-grub

Windows sparisce dal menu: il problema os-prober su Ubuntu 22.04+

Questo è il problema che confonde più utenti in assoluto sulle versioni recenti di Ubuntu e derivate.

Da Ubuntu 22.04, Canonical ha disabilitato os-prober di default: il tool che scansiona i dischi alla ricerca di altri sistemi operativi. Il risultato: installi Linux, esegui update-grub, e Windows non compare nel menu. GRUB non lo vede nemmeno, non è un problema di ordine di avvio.

La soluzione:

sudo nano /etc/default/grub

Aggiungi o modifica:

GRUB_DISABLE_OS_PROBER=false

Poi:

sudo apt install os-prober
sudo update-grub

Nell’output di update-grub dovresti vedere una riga tipo:

Found Windows Boot Manager on /dev/sda1@/EFI/Microsoft/Boot/bootmgfw.efi

Se Windows non compare ancora, il problema è che la partizione EFI di Windows non è visibile. Su sistemi con due SSD separati (Linux su uno, Windows sull’altro), monta manualmente il secondo disco prima di eseguire update-grub:

sudo mkdir /mnt/windows-efi
sudo mount /dev/sdb1 /mnt/windows-efi
sudo update-grub

GRUB Rescue: quando il boot si rompe completamente

grub rescue> su schermo nero è lo scenario che spaventa di più. Quasi sempre si risolve.

Scenario 1: avvio manuale dal prompt grub rescue

Dal prompt puoi avviare manualmente il sistema se Linux è intatto ma GRUB non trova la configurazione. Prima individua la partizione root:

grub rescue> ls
(hd0) (hd0,gpt1) (hd0,gpt2) (hd0,gpt3)

grub rescue> ls (hd0,gpt2)/

Cerca la partizione che mostra /boot, /etc, /home. Quando la trovi (esempio: (hd0,gpt2)):

grub rescue> set prefix=(hd0,gpt2)/boot/grub
grub rescue> set root=(hd0,gpt2)
grub rescue> insmod normal
grub rescue> normal

Il menu GRUB normale dovrebbe comparire. Avvia Linux, poi reinstalla GRUB correttamente con i comandi della sezione grub-install sopra.

Scenario 2: ripristino completo da Live USB

Questo funziona sempre, anche se il primo metodo fallisce. Avvia da una Live USB della tua distribuzione, apri il terminale e:

1. Identifica le partizioni:

lsblk -f

Trova la partizione root (ext4, quella grande) e la partizione EFI (vfat, 300-500 MB).

2. Monta il sistema:

sudo mount /dev/sdX2 /mnt
sudo mount /dev/sdX1 /mnt/boot/efi
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys

Sostituisci sdX2 e sdX1 con i tuoi dispositivi reali. Su eMMC usa mmcblk0p2 e mmcblk0p1. Su NVMe usa nvme0n1p2 e nvme0n1p1.

3. Entra nel sistema con chroot:

sudo chroot /mnt

4. Reinstalla GRUB:

Su UEFI:

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
update-grub

Su BIOS Legacy:

grub-install /dev/sda
update-grub

5. Esci e riavvia:

exit
sudo reboot

Rimuovi la Live USB quando richiesto. Il sistema dovrebbe partire normalmente.

GRUB su mini PC: le differenze pratiche che le guide non dicono

I mini PC con storage eMMC e NVMe hanno alcune peculiarità che vale la pena conoscere prima di trovarsi in guai.

Storage eMMC: il dispositivo è /dev/mmcblk0, non /dev/sda. Le partizioni si chiamano /dev/mmcblk0p1, /dev/mmcblk0p2 ecc. Nel ripristino da chroot, monta di conseguenza.

Storage NVMe: il dispositivo è /dev/nvme0n1, le partizioni /dev/nvme0n1p1, /dev/nvme0n1p2 ecc.

Doppio storage eMMC + NVMe: configurazione comune su mini PC con slot M.2 aggiuntivo (come NiPoGi AM21). Quando installi Linux sull’NVMe con eMMC già presente, GRUB potrebbe installarsi nel posto sbagliato. Verifica sempre con lsblk -f dopo l’installazione che la partizione EFI attiva sia quella sul disco dove hai installato Linux, e controlla il boot order nel menu UEFI del mini PC.

Secure Boot: quasi tutti i mini PC moderni lo hanno attivo. Linux Mint, Ubuntu e le principali distribuzioni lo gestiscono automaticamente. Se hai problemi di avvio dopo l’installazione, il primo posto dove guardare è il menu UEFI del mini PC (tasto Del o F2 all’avvio): verifica che Secure Boot non stia bloccando il boot loader di GRUB.

GRUB e Batocera

Una configurazione che funziona particolarmente bene su mini PC è Windows + Batocera o Linux + Batocera, gestiti da GRUB all’avvio.

Batocera installato su un disco separato (secondo NVMe o chiavetta USB dedicata) viene rilevato automaticamente da update-grub quando os-prober è attivo. Per impostarlo come sistema predefinito, trova la sua posizione nel menu con:

grep "menuentry" /boot/grub/grub.cfg | head -10

E imposta il numero corrispondente in GRUB_DEFAULT.

👉 Leggi qui: Guida completa Batocera 2026: installazione, ROM, BIOS e addon

Problemi comuni e soluzioni dirette

Windows non compare nel menu GRUB
Causa quasi certa su Ubuntu 22.04+: os-prober disabilitato. Soluzione: GRUB_DISABLE_OS_PROBER=false in /etc/default/grub, poi sudo update-grub.

Il menu GRUB non compare, il PC avvia direttamente Linux
GRUB_TIMEOUT=0 nel file di configurazione. Cambia il valore a 5 o superiore, poi sudo update-grub.

GRUB è stato sovrascritto da Windows Update
Windows Update a volte sovrascrive il boot loader. Ripristino da Live USB con il metodo chroot descritto sopra.

Schermata nera dopo GRUB
Spesso un problema con i driver grafici. Aggiungi nomodeset in GRUB_CMDLINE_LINUX_DEFAULT, poi sudo update-grub. In alternativa, al menu GRUB premi E, trova la riga del kernel e aggiungi nomodeset temporaneamente prima di avviare (non è permanente, serve solo per diagnosticare).

Menu GRUB con caratteri enormi o risoluzione distorta
Aggiungi in /etc/default/grub:

GRUB_GFXMODE=1920x1080
GRUB_GFXPAYLOAD_LINUX=keep

Poi sudo update-grub.

grub-install restituisce “cannot find EFI directory”
La partizione EFI non è montata. Esegui lsblk -f per trovarla, montala su /boot/efi e ripeti il comando.

Raspberry Pi 4

Raspberry Pi 4

Quad-Core Cortex A72 · 4 GB LPDDR4 · 64 GB

€154,99 su Amazon
Vedi su Amazon →

Scegli questo se ti serve un piccolo server sempre acceso per casa (Pi-hole, Home Assistant) o vuoi provare Batocera per il retrogaming fino a PS1/Dreamcast. Consumi minimi, sempre pronto.

MINISFORUM AI X1 Pro

MINISFORUM AI X1 Pro

HX370 · 32 GB DDR5 · 1 TB · Dual 2.5G LAN

Scelta IncastroPC
€1.219,00 su Amazon
Vedi su Amazon →

Scegli questo se vuoi il massimo per lavoro e multitasking senza eccessi: il Ryzen AI 9 HX 370 a 12 core dà respiro vero su editing e virtualizzazione, la Radeon 890M gestisce gaming 1080p alto e qualche titolo in 1440p, e l'OCuLink a piena banda PCIe 4.0 x4 lascia la porta aperta a una eGPU futura.

FAQ

Devo eseguire update-grub dopo ogni aggiornamento del sistema?
No. Gli aggiornamenti del kernel su Ubuntu e derivate lo eseguono automaticamente. Intervieni manualmente solo se cambi impostazioni o hai problemi.

Esiste un’interfaccia grafica per configurare GRUB?
Esiste GRUB Customizer, ma non è raccomandato su Ubuntu 22.04+ e può creare conflitti con la configurazione automatica. Il file /etc/default/grub è semplice da modificare a mano: bastano le voci descritte in questa guida per il 99% dei casi.

GRUB funziona con Secure Boot attivo?
Sulle distribuzioni principali (Ubuntu, Mint, Fedora) il boot loader è già firmato digitalmente per Secure Boot. Se ti dà problemi, la prima verifica è che stai usando una distribuzione che lo supporta e che l’ISO era autentica.

Se installo un secondo Linux, devo reinstallare GRUB?
No. Il secondo Linux verrà rilevato automaticamente al prossimo sudo update-grub eseguito dalla distribuzione principale (quella dove GRUB è installato).

In dual boot Linux + Windows, su quale disco installo GRUB?
Su UEFI, installalo sulla partizione EFI esistente: quella di Windows va benissimo, GRUB non la sovrascrive, aggiunge solo i propri file nella cartella /EFI/GRUB/. Su BIOS Legacy, va installato sul disco da cui il BIOS fa il boot.

Su mini PC con eMMC e NVMe insieme, dove installo GRUB?
Sul disco da cui vuoi avviare. Se Linux è sull’NVMe, installa GRUB sulla partizione EFI dell’NVMe e imposta nel menu UEFI del mini PC il boot order con l’NVMe come primo disco.

Non perderti i prossimi consigli

Guide, recensioni e novità su Linux, Mini PC e open source, dritte sul tuo Telegram. Niente spam, solo quello che vale la pena leggere.

Seguici su Telegram →

IncastroPC partecipa al Programma Affiliazione Amazon EU. Prezzi e disponibilità soggetti a variazione.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *