Quando Windows diventa instabile, mostra errori inspiegabili o alcune funzioni smettono di avviarsi, il controllo dei file di sistema è uno dei primi interventi sensati. Il cosiddetto comando scannow, cioè sfc /scannow, può individuare file protetti danneggiati e sostituirli con versioni corrette; in ambiente Linux, invece, servono strumenti diversi per controllare filesystem e pacchetti installati.
La scansione giusta dipende dal sistema e dal tipo di problema
- Windows usa SFC per controllare e riparare i file di sistema protetti.
- Il comando va eseguito da un terminale con diritti di amministratore.
- Se SFC non riesce a riparare i file, conviene eseguire prima DISM.
- Su Linux, fsck controlla il filesystem, mentre i gestori di pacchetti verificano i file installati.
- Questi strumenti non sostituiscono un controllo per malware, guasti hardware o driver difettosi.
Che cosa controlla davvero SFC in Windows
SFC significa System File Checker. È un’utilità integrata in Windows che verifica l’integrità dei file protetti del sistema operativo, confrontandoli con le versioni attese e tentando di correggere quelli danneggiati o sostituiti.
Il comando principale è semplice:
sfc /scannow
La parte /scannow avvia una scansione completa e autorizza anche la riparazione automatica quando Windows riesce a recuperare una copia valida. Non controlla però tutti i file personali, i programmi installati o l’intero disco. Per questo lo considero un intervento mirato sui componenti fondamentali di Windows, non una diagnosi universale del computer.
La procedura è utile soprattutto quando noto crash ricorrenti, errori durante gli aggiornamenti, finestre di sistema che non si aprono o comportamenti anomali comparsi dopo uno spegnimento improvviso. Se il problema riguarda un solo programma di terze parti, è improbabile che SFC sia lo strumento risolutivo.
Come eseguire la scansione senza errori
Avvio dal terminale con privilegi elevati
In Windows 11 e Windows 10 apro il menu Start, cerco Prompt dei comandi oppure Terminale, faccio clic con il tasto destro e scelgo l’esecuzione come amministratore. Senza questi privilegi il comando può restituire un errore di accesso negato o non riuscire a completare la riparazione.
Dopo aver accettato la richiesta del Controllo dell’account utente, inserisco il comando e premo Invio:
sfc /scannow
Durante la verifica lascio aperta la finestra e non spengo il computer. Il tempo varia in base alla velocità dell’unità, alle prestazioni del sistema e al numero di problemi trovati, ma una scansione può richiedere da alcuni minuti a oltre mezz’ora su macchine lente o molto danneggiate.
Varianti utili per una diagnosi più precisa
Se voglio soltanto controllare senza modificare i file, uso:
sfc /verifyonly
Per verificare e tentare di riparare un singolo file è disponibile /scanfile, seguito dal percorso completo:
sfc /scanfile=C:\Windows\System32\kernel32.dll
Questa variante ha senso quando un messaggio di errore indica chiaramente un file specifico. Nella pratica, per problemi generici, preferisco la scansione completa perché un componente danneggiato può essere solo uno dei diversi elementi compromessi.
Come interpretare il risultato mostrato da Windows
Al termine, SFC visualizza una frase che conviene leggere con attenzione. Non tutti i risultati significano che il computer è stato riparato, e un messaggio positivo non dimostra che ogni possibile causa del malfunzionamento sia scomparsa.
| Messaggio | Significato pratico | Che cosa fare |
|---|---|---|
| Windows Resource Protection did not find any integrity violations | Non sono state trovate violazioni nei file protetti. | Controllare driver, aggiornamenti, disco, memoria e applicazioni. |
| Windows Resource Protection found corrupt files and successfully repaired them | Sono stati trovati file danneggiati e riparati. | Riavviare il PC e verificare se il problema è scomparso. |
| Windows Resource Protection found corrupt files but was unable to fix some of them | Alcuni file non sono stati ripristinati. | Eseguire DISM e poi ripetere SFC. |
| Windows Resource Protection could not perform the requested operation | La scansione non è arrivata a buon fine. | Provare in modalità provvisoria o nell’ambiente di ripristino. |
Quando la riparazione non è completa, il dettaglio tecnico si trova normalmente nel file CBS.log, salvato nella cartella dei log di Windows. Per estrarre solo le righe associate a SFC posso usare:
findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log > "%userprofile%\Desktop\sfcdetails.txt"
Il file generato sul desktop è più leggibile del log completo e aiuta a capire quali componenti hanno avuto problemi. Non mi affiderei però a una singola riga del registro per decidere di reinstallare Windows: prima verificherei se l’errore si ripete dopo il riavvio.
Quando usare DISM prima di SFC
SFC si appoggia all’immagine di Windows, cioè all’insieme di componenti che il sistema usa come riferimento per le riparazioni. Se anche quell’immagine è danneggiata, SFC può riconoscere il problema ma non trovare una copia affidabile del file da sostituire.
In quel caso eseguo, sempre da un terminale amministrativo:
DISM /Online /Cleanup-Image /RestoreHealth
Il parametro /Online indica che sto lavorando sull’installazione attualmente avviata, mentre /RestoreHealth chiede a DISM di controllare e riparare l’immagine. La procedura può sembrare bloccata per diversi minuti, soprattutto nelle fasi finali, quindi evito di interromperla prematuramente.
Dopo un completamento corretto, riavvio il computer e lancio di nuovo:
sfc /scannow
La sequenza più efficace, quando Windows segnala file impossibili da riparare, è quindi DISM prima e SFC dopo. Se DISM restituisce un errore, possono servire una connessione funzionante, spazio libero sufficiente o una sorgente di ripristino compatibile con la stessa versione di Windows.
Riparazione da ambiente offline
Se Windows non si avvia normalmente, posso aprire l’ambiente di ripristino e usare il Prompt dei comandi. In questa situazione la lettera dell’unità di sistema potrebbe non essere C:, quindi prima verifico le partizioni con strumenti come diskpart e list volume.
Una volta individuata la cartella Windows, la sintassi può essere simile a questa:
sfc /scannow /offbootdir=C:\ /offwindir=C:\Windows
Le lettere devono essere adattate alla configurazione reale. Questo è uno dei punti in cui procedere a tentativi può peggiorare la situazione, perché si rischia di controllare l’installazione sbagliata o una partizione di ripristino.
Che cosa cambia su Linux
Linux non possiede un equivalente diretto di SFC perché i file del sistema vengono gestiti in modo diverso, soprattutto attraverso il gestore dei pacchetti della distribuzione. Prima di scegliere un comando, distinguo due problemi: una possibile corruzione del filesystem e file di pacchetto modificati o mancanti.
Controllare il filesystem con fsck
fsck verifica la struttura del filesystem, cioè collegamenti, metadati e coerenza dei dati registrati sul disco. Non confronta automaticamente ogni file con una copia originale del sistema operativo.
Per prima cosa individuo le partizioni:
lsblk -f
Il controllo e la riparazione vanno eseguiti preferibilmente su una partizione smontata. Per la partizione root, in genere uso una modalità di ripristino o una chiavetta live, poi lancio il checker adatto, per esempio:
sudo fsck -f /dev/sdXN
La sigla /dev/sdXN è solo un segnaposto e deve essere sostituita con la partizione corretta. Non eseguo mai alla cieca un comando di riparazione sul primo dispositivo che compare in lsblk. Su Btrfs, inoltre, preferisco iniziare con un controllo in sola lettura e seguire la documentazione specifica del filesystem, perché la riparazione automatica non è una scelta da fare senza una copia di sicurezza.
Leggi anche: Privilegi di amministratore in Windows 10 - guida pratica
Verificare i file dei pacchetti
Su distribuzioni Debian e Ubuntu posso installare debsums e cercare i file che non corrispondono ai checksum registrati:
sudo debsums -c
Su sistemi basati su RPM, come Fedora, posso usare:
sudo rpm -Va
Questi controlli hanno un campo d’azione diverso da SFC. Segnalano modifiche nei file appartenenti ai pacchetti, ma non certificano la salute dell’hardware, non analizzano i file personali e possono non includere configurazioni o componenti installati fuori dal gestore dei pacchetti.
| Obiettivo | Windows | Linux |
|---|---|---|
| File protetti del sistema | sfc /scannow |
Verifica dei pacchetti con debsums o rpm -Va
|
| Struttura del disco | Controllo del disco e strumenti di ripristino |
fsck con partizione smontata |
| Immagine del sistema | DISM /Online /Cleanup-Image /RestoreHealth |
Reinstallazione dei pacchetti interessati |
Limiti, errori comuni e ordine corretto degli interventi
La scansione non rimuove virus e ransomware, non ripara un disco fisicamente guasto e non risolve automaticamente un driver incompatibile. Se il computer continua a bloccarsi dopo una riparazione riuscita, io controllerei anche SMART dell’unità, memoria RAM, temperature e registro degli eventi.
Un errore frequente è interrompere SFC quando la percentuale resta ferma. Un altro è avviarlo senza privilegi amministrativi. Su Linux, l’errore più rischioso consiste nell’eseguirefsck su una partizione montata in scrittura, soprattutto quella che contiene il sistema in uso.
Per un computer Windows che si avvia ancora, seguo questo ordine:
- Salvo il lavoro e collego il portatile all’alimentazione.
- Apro il Terminale come amministratore.
- Eseguo
sfc /scannowe leggo il messaggio finale. - Se alcuni file non possono essere riparati, lancio DISM.
- Riavvio e ripeto la scansione SFC.
- Se il difetto resta, passo a driver, disco, memoria o software di terze parti.
La sequenza più prudente per tornare a un sistema stabile
Su Windows partirei da SFC, passerei a DISM solo quando la riparazione non è completa e userei la modalità offline soltanto dopo aver verificato le lettere delle unità. Su Linux inizierei invece identificando filesystem e distribuzione, poi sceglierei tra fsck e verifica dei pacchetti.
Prima di qualunque riparazione che coinvolga il disco farei un backup dei dati importanti. Un comando corretto può correggere una struttura danneggiata, ma non può recuperare file già persi né compensare un’unità che sta per guastarsi.