Soluzione "file non trovato o corrotto" ed errori critici con SFC
Più volte mi vengono rivolte richieste di assistenza per riparare il computer che ha problemi di funzionamento e mostra gli errori più vari. Quello che posso fare da qui è consigliare soluzioni generali che risolvano la maggior parte dei problemi Windows. In particolare, uno degli errori più frequenti è quello di Windows che avvisa l'utente di un file mancante o corrotto.Forse per l'effetto di un virus, forse a causa di un cattivo utilizzo dei programmi di pulizia o per qualche errore manuale, può capitare l'errore "file non trovato o corrotto" (file not found) riguardante un file .dll, .exe o .sys o comunque di un file di sistema per cui Windows non funziona perchè tale file di cui ha bisogno è stato corrotto e cancellato.
I messaggi di errore riguardanti file DLL mancanti, le schermate blu improvvise o le funzionalità di Windows che smettono di rispondere dopo un aggiornamento sono segnali tipici di una corruzione dei file di sistema. La reazione istintiva porta spesso a considerare una formattazione completa, operazione lunga e distruttiva, quando in realtà la soluzione è già presente all'interno del computer.
Windows integra, fin dalle versioni più datate fino all'attuale Windows 11, uno strumento di diagnostica e riparazione automatica chiamato System File Checker (SFC). Questo comando agisce confrontando i file essenziali del sistema operativo con le versioni originali verificate: se rileva anomalie o file manomessi, li sostituisce automaticamente prelevando una copia sana dalla cache locale, evitando così la necessità di reinstallare tutto da zero. Non è un tool grafico che si trova nel menu start ma un comando da avviare a riga di comando dal prompt dos
Eseguire la scansione SFC correttamente
Perché l'operazione abbia successo, è indispensabile agire con i privilegi di amministrazione. I file di sistema sono protetti e un prompt dei comandi standard non avrà l'autorizzazione per modificarli.
Su Windows 10 e Windows 11, si deve cliccare col tasto destro sul pulsante Start e selezionare Terminale (Admin), PowerShell (Amministratore) oppure Prompt dei comandi (Amministratore). Una volta aperta l'interfaccia a riga di comando, si digita la seguente stringa premendo poi Invio:
sfc /scannow
Il processo di verifica richiede tempo, variabile in base alla velocità del disco (SSD o meccanico). È fondamentale non chiudere la finestra finché l'avanzamento non tocca il 100%. Durante l'attesa, il sistema verifica l'integrità dei file protetti confrontandoli con quelli nella cartella compressa %WinDir%\System32\dllcache.
Interpretare i risultati della verifica
Al termine della scansione, il terminale mostrerà un responso. Seguendo la rotta di Navigaweb per una diagnosi precisa, ci si può trovare di fronte a quattro scenari:
- Nessuna violazione di integrità trovata: I file di sistema sono sani. Se il PC ha problemi, la causa va cercata nei driver, nella memoria RAM o in software di terze parti.
- Impossibile eseguire l'operazione richiesta: Qualcosa blocca lo strumento. In questo caso è necessario riavviare il PC in Modalità Provvisoria e lanciare nuovamente il comando.
- File corrotti trovati e ripristinati: Il risultato ottimale. I file danneggiati sono stati sostituiti. Basta riavviare il computer per rendere effettivo il ripristino.
- File corrotti trovati ma impossibile ripristinarli: La cache locale da cui attingere i file sani è essa stessa danneggiata o inaccessibile. In questo scenario serve lo strumento DISM.
Si può usare l'utility SFC /Scannow anche dal programma di soluzione problemi Windows Fix Win se ci si trovasse in difficoltà dalla riga di comando.
Cosa fare se SFC fallisce: L'uso di DISM
Quando il comando SFC non riesce a riparare i file, significa che l'immagine locale di Windows è compromessa. Per risolvere, si utilizza il comando DISM (Deployment Image Servicing and Management), che ha la capacità di scaricare i file originali e integri direttamente dai server di Windows Update.
Mantenendo il terminale aperto come amministratore e assicurandosi che la connessione internet sia attiva, si esegue:
DISM /Online /Cleanup-Image /RestoreHealth
Questa operazione può sembrare bloccata in alcuni punti (spesso al 20% o al 40%): è normale, bisogna attendere. Una volta completato il processo DISM con successo, è obbligatorio eseguire di nuovo sfc /scannow. Ora il System File Checker troverà una fonte sana e potrà finalizzare la riparazione.
Riparazione Offline se Windows non si avvia
Se il danno ai file di sistema è così grave da impedire l'avvio del computer (boot loop), è possibile lanciare SFC da un ambiente di recupero, come una chiavetta USB di installazione di Windows o la partizione di ripristino automatico. Se serve, si può scaricare gratis il disco installazione Windows.
I file vengono quindi sostituiti con quelli originali senza bisogno di fare la reinstallazione o ripristino di Windows.
Dal prompt dei comandi accessibile nelle opzioni avanzate di risoluzione problemi, la sintassi cambia. È necessario specificare manualmente dove si trova l'installazione di Windows, poiché le lettere delle unità potrebbero essere assegnate diversamente in modalità recovery (spesso C: diventa D:).
Il comando generico, assumendo che Windows sia sull'unità C, è:
sfc /scannow /offbootdir=C:\ /offwindir=C:\Windows
Prima di procedere, conviene usare il comando dir C: o dir D: per identificare quale lettera contiene le cartelle "Windows" e "Users".
Analisi avanzata del file di Log
Per gli utenti esperti che necessitano di sapere esattamente quale DLL o file exe era corrotto, Windows genera un file di log molto dettagliato ma caotico, situato in C:\Windows\Logs\CBS\CBS.log.
Per estrarre solo le informazioni rilevanti ("chi" è stato riparato) ed eliminare i dati tecnici superflui, si può usare questo comando filtro che crea un file di testo leggibile sul desktop:
findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log > "%userprofile%\Desktop\sfcdetails.txt"
Aprendo il file sfcdetails.txt generato sul desktop, si avrà una lista pulita delle operazioni di riparazione effettuate.
Approfondimenti utili
Alcune precisazioni che le persone cercano spesso riguardo la manutenzione dei file di sistema:
- Differenza con CHKDSK: Mentre SFC ripara i file software di Windows, il comando CHKDSK si occupa dell'integrità fisica del disco e del file system. In caso di problemi gravi, si consiglia di eseguire prima CHKDSK e poi SFC.
- Falsi allarmi post-aggiornamento: Talvolta, dopo un aggiornamento importante (feature update), SFC potrebbe segnalare file corrotti che in realtà sono solo versioni nuove non ancora indicizzate. Microsoft corregge solitamente queste discrepanze con patch successive.
- SFC non è manutenzione ordinaria: Non serve lanciare questo comando ogni settimana. L'operazione stressa il disco con molte letture e va eseguita solo in presenza di problemi reali come instabilità, errori di applicazioni o comportamenti anomali dell'interfaccia.
Nel caso si ripresentasse un errore, l'unica altra soluzione è una verifica dei file che si avviano col computer, quelli presenti nei settori di avvio che sono verificabili con programmi come Autoruns che controllano l'avvio automatico.
Ricapitolando, quando Windows non funziona e per risolvere l'errore di file non trovati o corrotti, prima di tutto tentare un ripristino di configurazione di sistema, poi provare SFC /SCANNOW oppure utilizzare l'opzione di ripristino avviando il computer dal cd di installazione.
Se tutto va male, Se Windows non parte e non si avvia, reinstallare Windows senza perdere nulla.
Posta un commento