lunedì 18 maggio 2020

Windows non si avvia più su PC UEFI, come risolvere

Windows non si avvia più e il messaggio d'errore, facente riferimento al file BCD, compare ad ogni tentativo di accensione del sistema.
Tra gli errori più comuni citiamo i seguenti:

- Il file dei dati di configurazione di avvio di Windows non contiene alcune informazioni necessarie
- Si è verificato un problema durante la comunicazione con un dispositivo collegato al computer. Errore imprevisto di I/O.
- Il file dei dati di configurazione di avvio di Windows (BCD) non contiene una voce di sistema operativo valida.
- Impossibile avviare Windows. Una modifica recente apportata all'hardware o al software potrebbe aver causato il problema.


8) Se l'utilizzo dell'opzione Ripristino all'avvio non portasse al risultato sperato, riavviando la macchina dal supporto d'installazione di Windows, si dovrà premere la combinazione di tasti MAIUSC+F10 alla comparsa della schermata per la scelta della lingua, del formato/ora/valuta e del layout di tastiera.

Windows non si avvia più su PC UEFI, come risolvere

9) Al prompt dei comandi si dovrà scrivere quanto segue:

diskpart
sel disk 0
list vol


Così facendo, si richiederà la lista delle partizioni presenti nell'unità disco principale.

10) Nell'elenco delle partizioni restituito dall'utilità Diskpart, è importante riconoscere la partizione EFI, contenente anche il file BCD.
Tale partizione non avrà una lettera identificativa di unità e di solito non supererà i 600 MB di dimensioni (e comunque avrà dimensioni ridotte).
Talvolta, la partizione EFI è riconoscibile per la presenza dell'etichetta di volume ESP o EFI.

Digitando i seguenti comandi, si assegnerà una lettera identificativa di unità alla partizione EFI:

sel vol N (Importante: al posto di N va indicato il numero del volume associato alla partizione EFI)
assign letter=w:

Se si avessero dei dubbi, consigliamo di assegnare una lettera identificativa di unità anche alle altre partizioni.
Basterà usare sempre gli stessi due comandi avendo però cura di sostituire ad N il corretto numero del volume (partizione) e a w: (nel comando assign letter) una lettera identificativa di unità inutilizzata (ad esempio Y:, Z:, L:, M:, N:, O:,....).


Digitando il comando exit si uscirà dall'utilità Diskpart.

A questo punto, inserendo al prompt il comando DIR W: si otterrà il contenuto della partizione con lettera identificativa di unità W:.
Se tale partizione contiene la cartella \EFI, si sarà fatto bingo perché è in tale directory che sono salvati il boot loader ed il file BCD.
In caso contrario, si può ripetere il comando DIR W: avendo cura di sostituire W: con le altre lettere identificative di unità.

11) Per risolvere il problema legato al mancato avvio di Windows, si potrà infine ricorrere ai seguenti comandi:

cd /d W:\EFI\Microsoft\Boot\ (attenzione a specificare la corretta lettera identificativa di unità; nell'esempio abbiamo indicato W:)
bootrec /fixboot
ren BCD BCD.bak
bcdboot C:\Windows /l it-it /s W: /f ALL
(anche qui attenzione a specificare la corretta lettera identificativa di unità al posto di W:)

Il penultimo comando provvede a rinominare il file BCD in uso (verosimilmente danneggiato) mentre l'ultimo consente di indicare nuovamente la partizione EFI come quella destinata ad accogliere i file per la gestione dell'avvio di Windows.
Grazie a tale comando, il sistema provvederà a generare nuovamente il file BCD.

Sui sistemi di alcuni produttori la cartella contenente i file di boot potrebbe non essere \EFI\Microsoft\Boot\ ma un'altra (ad esempio nel caso dei Toshiba, \Toshiba\Boot).
In queste situazioni è indispensabile specificare la directory corretta sostituendola nel primo comando a \EFI\Microsoft\Boot\.


Digitando exit quindi chiudendo la finestra Installazione di Windows e premendo alla comparsa del messaggio Annullare l'installazione di Windows, il sistema verrà arrivato quindi Windows dovrebbe tornare ad essere caricato correttamente.