Aiuto, EFI ha un problema in fase di boot e il computer non si avvia più!

Quando si utilizzano più sistemi operativi, possono verificarsi problemi con la configurazione EFI. La partizione ESP contiene infatti i bootloader e altri file necessari per l’avvio. Come risolvere i problemi di boot utilizzando strumenti di Windows come Diskpart e BCDEdit.

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.

Partizione EFI Windows

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.

Diskpart partizione EFI

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.

Accesso partizione ESP EFI da Windows

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:

BCDEdit e configurazione boot Windows

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.

Ti consigliamo anche

Link copiato negli appunti