Se siete soliti effettuare test con più sistemi operativi e amate provarli in configurazione dual boot, prima o poi capita di incorrere in qualche problema con EFI (Extensible Firmware Interface) in fase di avvio. Qualche volta capita di non riuscire più ad avviare alcun sistema operativo perché all’accensione il PC in uso segnala un problema relativo alla configurazione EFI.
EFI è un tipo di firmware di sistema che si trova tra il sistema operativo e l’hardware di un computer. Funge da “interfaccia” tra il sistema operativo e l’hardware del computer, fornendo servizi di basso livello necessari per il funzionamento del sistema. La configurazione EFI, memorizzata su disco, si riferisce invece alla partizione di sistema EFI (ESP, EFI System Partition) che contiene i file necessari per il processo di avvio di un sistema operativo in un ambiente con firmware EFI (o UEFI, Unified Extensible Firmware Interface). La partizione EFI è cruciale per il funzionamento dei moderni dispositivi che utilizzano EFI al posto del tradizionale BIOS per l’avvio.
Caratteristiche principali della partizione di sistema EFI (ESP)
La partizione ESP contiene il bootloader (il programma che avvia i sistemi operativi) e i file di configurazione del firmware EFI. È fondamentale per caricare il sistema operativo e per consentire l’interazione tra il firmware EFI e il sistema operativo durante il processo di boot.
L’area del disco contenente la configurazione EFI è solitamente piccola: le sue dimensioni sono spesso di 100-500 MB. È inoltre creata all’inizio dell’unità, prima della partizione principale del sistema operativo.
In Windows si può verificarne la sua presenza semplicemente premendo la combinazione di tasti Windows+X
, cliccando su Gestione disco quindi andando alla ricerca del blocco chiamato Partizione di sistema EFI collocato all’inizio dell’unità principale.
La partizione EFI utilizza il file system FAT32 per garantire la compatibilità tra diversi sistemi operativi e il firmware EFI.
Come accennato in precedenza, la partizione ospita il bootloader per ogni sistema operativo installato, come grubx64.efi
per GNU/Linux e bootmgfw.efi
per Windows. Ci sono inoltre alcuni driver necessari al firmware per interagire con l’hardware specifico. Inoltre, i file di configurazione EFI veri e propri permettono di personalizzare le opzioni di avvio e di gestire più sistemi operativi (installazioni dual boot o multi boot).
Ruolo nel processo di avvio (Boot)
All’accensione del PC, il firmware EFI legge il contenuto della partizione ESP per cercare il bootloader del sistema operativo configurato. Il firmware carica e avvia il bootloader, che a sua volta carica il sistema operativo.
Come accennato in precedenza, la partizione ESP supporta la configurazione di più sistemi operativi (dual boot o multi boot), consentendo al firmware EFI di scegliere quale bootloader caricare all’avvio in base alle preferenze dell’utente.
Può capitare che qualcosa non vada per il verso giusto, ad esempio perché un sistema operativo installato successivamente a quelli già presenti sulla macchina ha danneggiato la configurazione della partizione ESP.
Come riparare la configurazione EFI con Windows
GRUB (GRand Unified Bootloader) è un bootloader utilizzato in molti sistemi operativi, in particolare nelle distribuzioni Linux, per gestire il processo di avvio. Il suo ruolo principale è quello di permettere l’avvio di uno o più sistemi operativi installati sul computer e fornire un’interfaccia per scegliere quale sistema operativo o kernel caricare durante l’avvio.
In caso di problemi, ci si potrebbe trovare in difficoltà nell’avvio di qualunque sistema dal PC in uso. Digitando exit
al prompt di GRUB, solitamente si riesce ad avviare il caricamento di Windows.
Da ambiente Windows si può digitare cmd
nella casella di ricerca, scegliere Esegui come amministratore quindi impartire il comando diskpart
.
Digitando i seguenti comandi, in sequenza, si può selezionare l’unità di memorizzazione principale ed elencare le partizioni presenti:
list disk
sel disk 0
list vol
Nell’esempio in figura, il Volume 1 corrisponde alla partizione ESP: è infatti di tipo FAT32, da 100 MB e indicata come Sistema.
Nel nostro caso scriviamo quindi quanto segue per selezionare tale partizione e assegnarle la lettera identificativa di unità W:.
sel vol1
assign letter=W
Digitiamo quindi exit
per chiudere Diskpart e W:
seguito dalla pressione del tasto Invio.
Rimozione delle configurazioni EFI problematiche
Una volta guadagnato l’accesso alla partizione con i dati EFI, si può digitare cd EFI
per accedere alla cartella contenente i file necessari per il processo di avvio del sistema operativo. Scrivendo semplicemente dir
, si può verificare quali configurazione risultano al momento in uso.
Se fosse un sistema operativo GNU/Linux a causare problemi, basta semplicemente rimuoverne le voci di avvio dalla partizione ESP. Esempio:
rd /q /s debian
Il comando seguente visualizza le voci di avvio (boot entries) del firmware EFI:
bcdedit /enum firmware
Le impostazioni mostrate corrispondono alle configurazioni e alle opzioni di avvio gestite dal firmware EFI. Esse possono includere:
- Riferimenti ai boot loader dei vari sistemi operativi.
- Voci per effettuare l’avvio da dispositivi esterni (come device USB, dispositivi di rete, ecc.).
- Altre impostazioni di avvio configurabili dal firmware.
Per eliminare una o più voci di boot, evitando che il firmware vi acceda, è sufficiente scandagliare i nomi descrittivi che appaiono accanto a Description quindi copiare il lungo identificativo alfanumerico (comprese le parentesi graffe) riportato accanto a Identifier.
Il comando seguente permette di rimuovere le voci di boot ed evitare che possano causare problemi:
bcdedit /delete {identifier}
Al posto di {identifier}
, va ovviamente specificato l’identificatore corretto.
Idealmente, se si volesse ripristinare solamente l’avvio di Windows sul sistema in uso, digitando bcdedit /enum firmware
si dovrebbe avere una configurazione “asciutta” come la seguente:
Note finali
Per rimuovere completamente eventuali altri sistemi operativi installati accanto a Windows, è necessario individuare e cancellare le rispettive partizioni utilizzando Gestione disco. Dopo aver eliminato tali partizioni, lo spazio liberato può essere riutilizzato per ampliare la partizione di Windows, garantendo così un’allocazione ottimale dello storage.
È importante prestare attenzione a non eliminare accidentalmente la partizione di sistema EFI (ESP) se si desidera mantenere Windows funzionante. Allo stesso modo, si deve aver cura di mantenere le altre partizioni contenenti i dati e i file del sistema operativo Microsoft.
In caso di dubbi, prima di procedere con la modifica delle partizioni, è consigliabile creare un backup dei dati e accertarsi di avere sempre a disposizione un supporto per il ripristino di Windows.