Questo articolo fornisce informazioni su come risolvere il problema del bootloader EFI che non esegue correttamente l’avvio su un’unità disco rigido GPT. Sono incluse le istruzioni per i vari sistemi operativi Windows.
La maggior parte degli utenti con problemi di avvio sui sistemi operativi Windows sceglie di reinstallare il sistema operativo, anziché tentare di risolvere il problema di avvio.
In questo articolo viene spiegato come riparare il bootloader EFI (Extensible Firmware Interface) su un’unità disco rigido GPT (GUID [Globally Unique Identifiers] Partition Table).
Questa soluzione funziona solo per i sistemi operativi installati su un BIOS (Basic Input/Output System) UEFI (Unified Extensible Firmware Interface).
Come riparare il bootloader EFI
Windows 7, 8 e 8.1 possono essere installati su un BIOS legacy con MBR. Tuttavia Windows 8, 8.1 e 10 sono stati progettati per l’installazione sul BIOS UEFI con il bootloader EFI e GPT.
Nota: se si tenta di ripristinare la directory radice di un disco rigido, è possibile che si perdano i dati presenti sull’unità non precedentemente sottoposta a backup. La procedura consigliata è quella di eseguire sempre un backup completo di un’unità prima di eseguire interventi su di essa o sul sistema operativo.
La struttura GPT risolve numerosi problemi per la cui correzione in MBR è stato progettato il comando Bootsect.
Tuttavia, se è necessario riparare il bootloader EFI, seguire le istruzioni riportate di seguito:
Windows 7
Se si dispone del supporto di installazione:
Inserire il supporto (DVD/USB) nel PC e riavviarlo.
Eseguire l’avvio dal supporto.
Selezionare Ripristina il computer.
Selezionare il sistema operativo e cliccare su Next.
Selezionare Command Prompt dal menu:
Digitare ed eseguire il comando:diskpart
Digitare ed eseguire il comando:sel disk 0
Digitare ed eseguire il comando:list vol
Verificare che la partizione EFI (EPS – EFI System Partition) utilizzi il file system FAT32. Assegnarle una lettera dell’unità che non sia già in uso:
Digitare ed eseguire il comando:sel vol
Digitare ed eseguire il comando:assign letter=:x
Digitare ed eseguire il comando:exit
Per riparare il record di avvio:
Digitare ed eseguire il comando:cd /d x:\EFI\Microsoft\Boot\
Digitare ed eseguire il comando:bootrec /FixBoot
Se non si dispone del supporto di installazione:
Riavviare il PC.
Toccare rapidamente il tasto <F8> dopo l’accensione del PC ma prima che sia visualizzata la schermata iniziale di Windows.
Selezionare Repair your computer (Ripristina il computer) dal menu visualizzato.
Selezionare Prompt dei comandi da Opzioni di ripristino.
Digitare ed eseguire il comando:diskpart
Digitare ed eseguire il comando:sel disk 0
Digitare ed eseguire il comando:list vol
Verificare che la partizione EFI (EPS) utilizzi il file system FAT32 e assegnarle una lettera dell’unità che non sia già in uso.
Digitare ed eseguire il comando:sel vol
Digitare ed eseguire il comando:assign letter=:x
Digitare ed eseguire il comando:exit
Per riparare il record di avvio:
Digitare ed eseguire il comando:cd /d x:\EFI\Microsoft\Boot\
Digitare ed eseguire il comando:bootrec /FixBoot
Il passaggio successivo è uguale per tutti i sistemi operativi:
Ricostruire l’archivio BCD.
Utilizzare il comando seguente per eseguire il backup del vecchio archivio BCD:ren BCD BCD.old
Ricrearlo utilizzando il comando seguente:bcdboot c:\Windows /l it-it /s x: All
Nota: se si stanno creando elementi di avvio su un’unità flash USB collegata o su un’altra unità esterna, aggiungere /f tra il simbolo di due punti (:) e ALL. Tenere presente che la viene sostituito con la lettera dell’unità da cui si esegue l’avvio. (es. C:\, D:\).
Windows 8 e 8.1
Se si dispone del supporto di installazione:
Inserire il supporto (DVD/USB) nel PC e riavviarlo.
Eseguire l’avvio dal supporto.
Selezionare Ripristina il computer.
Selezionare Risoluzione dei problemi.
Selezionare Command Prompt dal menu:
Digitare ed eseguire il comando:diskpart
Digitare ed eseguire il comando:sel disk 0
Digitare ed eseguire il comando:list vol
Verificare che la partizione EFI (EPS – EFI System Partition) utilizzi il file system FAT32. Assegnarle una lettera dell’unità (assegnarle una lettera che non sia già in uso):
Digitare ed eseguire il comando:sel vol 0
Digitare ed eseguire il comando:assign letter=:x
Digitare ed eseguire il comando:exit
Per riparare il record di avvio:
Digitare ed eseguire il comando:cd /d x:\EFI\Microsoft\Boot\
Digitare ed eseguire il comando:bootrec /FixBoot
Se non si dispone del supporto di installazione:
Riavviare il PC.
Toccare rapidamente il tasto <F8> dopo l’accensione del PC ma prima che sia visualizzata la schermata iniziale di Windows. Tenere presente che questa operazione può richiedere vari tentativi. I tempi sono stati notevolmente ridotti rispetto a quelli in Windows 7.
Selezionare Repair your computer (Ripristina il computer) dal menu visualizzato.
Selezionare Command Prompt dalla schermata Troubleshoot:
Digitare ed eseguire il comando:diskpart
Digitare ed eseguire il comando:sel disk 0
Digitare ed eseguire il comando:list vol
Verificare che la partizione EFI (EPS) utilizzi il file system FAT32. Assegnarle una lettera dell’unità (assegnarle una lettera che non sia già in uso):
Digitare ed eseguire il comando:sel vol 0(importante: al posto di 0 va indicato il numero del volume associato alla partizione EFI FAT32)
Digitare ed eseguire il comando:assign letter=:x
Digitare ed eseguire il comando:exit
Per riparare il record di avvio:
Digitare ed eseguire il comando:cd /d x:\EFI\Microsoft\Boot\
Digitare ed eseguire il comando:bootrec /FixBoot
Il passaggio successivo è uguale per tutti i sistemi operativi:
Ricostruire l’archivio BCD.
Utilizzare il comando seguente per eseguire il backup del vecchio archivio BCD:ren BCD BCD.old
Ricrearlo utilizzando il comando seguente:bcdboot c:\Windows /l it-it /s x: All
Nota: se si stanno creando elementi di avvio su un’unità flash USB collegata o su un’altra unità esterna, aggiungere /f tra il simbolo di due punti (:) e ALL. Tenere presente che la viene sostituito con la lettera dell’unità da cui si esegue l’avvio. (es. C:\, D:\).
Windows 10
Se si dispone del supporto di installazione:
Inserire il supporto (DVD/USB) nel PC e riavviarlo.
Eseguire l’avvio dal supporto.
Selezionare Ripristina il computer.
Selezionare Risoluzione dei problemi.
Selezionare Opzioni avanzate.
Selezionare Command Prompt dal menu:
Digitare ed eseguire il comando:diskpart
Digitare ed eseguire il comando:sel disk 0
Digitare ed eseguire il comando:list vol
Verificare che la partizione EFI (EPS – EFI System Partition) utilizzi il file system FAT32. Assegnarle una lettera dell’unità che non sia già in uso:
Digitare ed eseguire il comando:sel vol 0(importante: al posto di 0 va indicato il numero del volume associato alla partizione EFI FAT32)
Digitare ed eseguire il comando:assign letter=:x
Digitare ed eseguire il comando:exit
Per riparare il record di avvio:
Digitare ed eseguire il comando:cd /d x:\EFI\Microsoft\Boot\
Digitare ed eseguire il comando:bootrec /FixBoot
Se non si dispone del supporto di installazione:
Riavviare il PC.
Toccare rapidamente il tasto <F8> dopo l’accensione del PC ma prima che sia visualizzata la schermata iniziale di Windows. Tenere presente che questa operazione può richiedere vari tentativi. I tempi sono stati notevolmente ridotti rispetto a quelli in Windows 7.
Selezionare Repair your computer (Ripristina il computer) dal menu visualizzato.
Selezionare Command Prompt dalla scheda Advanced Options nella schermata Troubleshoot:
Digitare ed eseguire il comando:diskpart
Digitare ed eseguire il comando:sel disk 0
Digitare ed eseguire il comando:list vol
Verificare che la partizione EFI (EPS) utilizzi il file system FAT32 e assegnarle una lettera dell’unità che non sia già in uso:
Digitare ed eseguire il comando:sel vol 0(importante: al posto di 0 va indicato il numero del volume associato alla partizione EFI FAT32)
Digitare ed eseguire il comando:assign letter=:x
Digitare ed eseguire il comando:exit
Per riparare il record di avvio:
Digitare ed eseguire il comando:cd /d x:\EFI\Microsoft\Boot\
Digitare ed eseguire il comando:bootrec /FixBoot
Il passaggio successivo è uguale per tutti i sistemi operativi:
Ricostruire l’archivio BCD.
Utilizzare il comando seguente per eseguire il backup del vecchio archivio BCD:ren BCD BCD.old
Ricrearlo utilizzando il comando seguente:bcdboot c:\Windows /l it-it /s x: All
Nota: se si stanno creando elementi di avvio su un’unità flash USB collegata o su un’altra unità esterna, aggiungere /f tra il simbolo di due punti (:) e ALL. Tenere presente che la viene sostituito con la lettera dell’unità da cui si esegue l’avvio. (es. C:\, D:\).
Come riparare l’MBR (Master Boot Record, record di avvio principale)
Questi passaggi si applicano a qualsiasi unità legacy utilizzata come unità di avvio su qualsiasi sistema operativo Windows recente.
Quando viene visualizzata la schermata iniziale Dell, utilizzare il tasto F12 per accedere al menu di avvio e poter eseguire l’avvio dal supporto di installazione di Windows, da un disco o da un’unità Flash avviabile.
Cliccare sul link Ripristina il computer nella parte inferiore della schermata Installa ora.
Cliccare su Risoluzione dei problemi
Selezionare Prompt dei comandi
Inserire i tre comandi seguenti uno alla volta, premendo invio dopo ogni comando: bootrec /fixmbr bootrec /fixboot bootrec /rebuildbcd
Riavviare il PC con il supporto di installazione rimosso per verificare se la riparazione ha funzionato.
Un pò di didattica: come funziona il processo di avvio di Windows
Schema che spiega il funzionamento dell’avvio di Windows (Via: DocsMicrosoft)
Come si evince dall’immagine l’avvio di Windows si articola in quattro principali fasi, che sono:
Fase
Processo
BIOS
UEFI
1
Preboot o Preavvio
MBR/PBR
UEFI firmware
2
Windows Boot Manager
%SystemDrive%\bootmgr
\EFI\Microsoft\Boot\bootmgfw.efi
3
Windows OS Loader
%SystemRoot%\system32\winload.exe
%SystemRoot%\system32\winload.efi
4
Windows NT OS Kernel
%SystemRoot%\system32\ntoskrnl.exe
La fase di Preavvio avviene quando viene acceso il computer e si visualizza il logo del produttore (HP, Asus ecc), successivamente viene caricato il boot manager che indicherà i sistemi installati (come più versioni di Windows caricate).
Dopo aver scelto il sistema viene caricato il vero e proprio loader del sistema operativo e successivamente il kernel del sistema, da questo momento in poi, in caso di errore, viene creato il file dump utile a risalire al problema.
Ora invece vediamo come risolvere gli eventuali errori che si possono verificare in alcune di queste fasi.
Che errori si possono verificare?
Gli errori che si possono verificare in fase di avvio, in particolare in fase di boot, sono:
Boot Configuration Data (BCD) missing or corrupted
Boot file o MBR corrupted
Operating system Missing
Boot sector missing o corrupted
Bootmgr missing o corrupted
Unable to boot due to system hive missing or corrupted