SFC trova file danneggiati continuamente: CBS.log
Quando SFC trova file danneggiati continuamente, il rapporto visualizzato nel Prompt dei comandi non basta per capire quale componente di Windows non viene riparato. Il dettaglio utile si trova nel file CBS.log, che registra i controlli di Protezione risorse Windows, i file coinvolti e gli eventuali errori di ripristino. La procedura corretta consiste nel filtrare il registro, interpretare le righe con il tag [SR], riparare l’immagine di Windows con DISM e ripetere SFC. La sostituzione manuale dei file di sistema va evitata, perché può creare incompatibilità con versioni, autorizzazioni e componenti di WinSxS.
Dove si trova CBS.log e quali righe leggere
Il file CBS.log si trova normalmente nel percorso C:WindowsLogsCBSCBS.log. Windows 11 e Windows 10 possono archiviare i registri precedenti in file con nomi come CbsPersist_...log, mentre CBS.log contiene gli eventi più recenti o ancora in uso.
Per leggere il registro è necessario aprire il Prompt dei comandi con un account amministratore. Il modo più pratico consiste nel creare sul desktop una copia filtrata delle sole righe relative a SFC:
findstr /c:"[SR]" %windir%LogsCBSCBS.log > "%userprofile%DesktopSFC_details.txt"
Il file SFC_details.txt contiene le righe generate dal controllo di Protezione risorse Windows. Aprendo il file con Blocco note è possibile cercare espressioni precise:
Cannot repair member file: Windows ha trovato un file danneggiato ma non è riuscito a ripararlo.Repairing corrupted file: SFC ha sostituito un file danneggiato con una copia valida.Verify complete: il controllo è terminato, ma questa dicitura da sola non indica che tutti i problemi siano stati risolti.CBS MUM Missing: manca un file di descrizione del componente, spesso associato a un problema nel Component Store.CSI Payload Corrupt: il contenuto effettivo del componente risulta danneggiato.
Una riga come Cannot repair member file ... of Microsoft-Windows-... identifica il nome del file e, spesso, il componente Windows che lo contiene. Il nome del componente è più utile del semplice percorso System32, perché permette di capire se il problema riguarda un pacchetto di sistema, un driver, una funzionalità opzionale o il Component Store.
Per ottenere una ricerca più mirata nel Prompt dei comandi si può usare:
findstr /i /c:"cannot repair" /c:"repairing corrupted" /c:"corrupt" %windir%LogsCBSCBS.log > "%userprofile%DesktopSFC_errori.txt"
Il risultato va interpretato insieme al nome del file, alla versione indicata nel registro e all’architettura del sistema, ad esempio amd64 o arm64. CBS.log non garantisce sempre l’individuazione di un singolo file sostituibile: in diversi casi segnala un pacchetto o una dipendenza danneggiata, che deve essere ripristinata tramite DISM.
Come capire quale componente Windows è danneggiato
Quando SFC trova file danneggiati continuamente, il componente da correggere è spesso il magazzino dei componenti di Windows, non il file finale contenuto in C:WindowsSystem32. Il magazzino, chiamato Component Store, si trova principalmente in C:WindowsWinSxS e contiene le copie utilizzate per manutenzione e riparazione.
Nel registro è possibile trovare nomi come Microsoft-Windows-..., versioni del componente, architettura e riferimenti a manifest o payload. Il manifest descrive il componente; il payload è il contenuto binario utilizzato da Windows. Un errore relativo al manifest non equivale quindi a un semplice DLL da copiare manualmente.
La verifica preliminare dell’immagine di Windows può essere eseguita con DISM:
DISM /Online /Cleanup-Image /CheckHealth
/CheckHealth controlla se Windows ha registrato una corruzione nota. Per un’analisi più approfondita usare:
DISM /Online /Cleanup-Image /ScanHealth
/ScanHealth può richiedere più tempo e controlla l’integrità del Component Store. Questi comandi non sostituiscono i file danneggiati: servono a stabilire se l’immagine di Windows è riparabile e se il problema precede l’esecuzione di SFC.
Per collegare una voce del CBS.log a un pacchetto concreto, si possono cercare nel registro il nome completo del componente, la versione e il riferimento al manifest. È importante non eliminare cartelle da WinSxS e non copiare file ottenuti da Internet: un file con lo stesso nome può avere versione, firma digitale o dipendenze incompatibili.
Come riparare Windows prima di eseguire di nuovo SFC
Passo 1: eseguire DISM /RestoreHealth
Aprire il Prompt dei comandi come amministratore e avviare:
DISM /Online /Cleanup-Image /RestoreHealth
Il comando utilizza Windows Update come origine di ripristino, quando disponibile, e sostituisce i componenti danneggiati del Component Store. La percentuale può rimanere ferma per diversi minuti senza indicare necessariamente un blocco; non chiudere la finestra durante l’operazione.
Se DISM restituisce errori relativi all’origine dei file, è necessaria un’immagine di Windows della stessa edizione, lingua e architettura installata. L’uso di un file ISO non corrispondente alla versione di Windows può causare ulteriori errori, quindi l’origine deve essere scelta con attenzione.
Passo 2: eseguire SFC dopo la riparazione
Al termine di DISM, riavviare Windows e aprire di nuovo il Prompt dei comandi come amministratore. Eseguire:
sfc /scannow
DISM ripara prima l’immagine da cui Windows recupera i componenti; SFC usa quindi una sorgente più affidabile per verificare e sostituire i file protetti. Il messaggio Protezione risorse di Windows non ha rilevato alcuna violazione di integrità indica che il controllo non ha trovato file di sistema danneggiati.
Se il messaggio continua a indicare file non riparabili, salvare subito il nuovo CBS.log filtrato prima di riavviare:
findstr /c:"[SR]" %windir%LogsCBSCBS.log > "%userprofile%DesktopSFC_dopo_DISM.txt"
Confrontare SFC_details.txt e SFC_dopo_DISM.txt permette di vedere se il componente è cambiato, se il file è stato riparato o se l’errore ricompare identico.
Passo 3: usare una sorgente ISO quando Windows Update non basta
Se DISM /RestoreHealth non riesce a recuperare i file, montare un’ISO ufficiale della stessa versione e usare il file install.wim o install.esd come sorgente. Prima è necessario individuare l’indice corretto dell’edizione contenuta nell’immagine:
DISM /Get-WimInfo /WimFile:D:sourcesinstall.wim
Sostituire D: con la lettera assegnata all’ISO montata. L’indice dell’edizione, ad esempio Home o Pro, deve corrispondere all’edizione installata. Il comando di ripristino cambia in base al formato:
DISM /Online /Cleanup-Image /RestoreHealth /Source:wim:D:sourcesinstall.wim:INDICE /LimitAccess
Per un file install.esd, sostituire wim: con esd:. INDICE deve essere sostituito con un valore numerico reale ottenuto da /Get-WimInfo; non va lasciato nel comando.
Se SFC ripara gli stessi file a ogni avvio
SFC normalmente non dovrebbe avviarsi autonomamente a ogni accesso a Windows. Se il controllo viene eseguito davvero a ogni avvio, verificare Attività pianificate, script di manutenzione, software di sicurezza e programmi di ottimizzazione che potrebbero richiamare sfc.exe.
Se invece SFC viene eseguito manualmente ma segnala sempre gli stessi file, le cause possibili includono un’immagine di Windows ancora danneggiata, errori sul disco, memoria instabile, spegnimenti improvvisi o un programma che modifica i file protetti. In questi casi conviene controllare il disco con:
chkdsk C: /scan
È inoltre utile esaminare il Visualizzatore eventi in Registri di Windows > Sistema, cercando eventi relativi a Disk, Ntfs, WHEA-Logger e Windows Error Reporting. Errori ripetuti in queste categorie possono indicare un problema hardware o di archiviazione, non risolvibile sostituendo il componente citato da CBS.log.
Per i passaggi e i parametri supportati, Microsoft documenta i comandi SFC e DISM per la riparazione delle immagini Windows.
La lettura di CBS.log identifica il componente coinvolto, mentre DISM e SFC eseguiti nell’ordine corretto risolvono il problema senza sostituzioni manuali rischiose: così SFC trova file danneggiati continuamente può diventare un errore tracciabile e riparabile.
Potrebbe interessarti anche:
- Esplora file Windows 11 non risponde: come ripristinarlo
- Errore negli aggiornamenti di Windows? Come correggere tutti gli errori di Windows Update in colpo solo
- Basta driver obsoleti che rallentano il tuo PC! Scopri il segreto per un Windows super veloce (senza impazzire)
- Recupera subito i tuoi file cancellati in un solo Click!
FAQ
Il Component Store potrebbe essere ancora danneggiato, oppure il disco, la memoria o un programma potrebbero alterare nuovamente i file. Consultare il nuovo CBS.log dopo DISM e SFC.
La riga Cannot repair member file indica il file che SFC non è riuscito a riparare. Il nome del componente Microsoft-Windows-... nella stessa area aiuta a individuare il pacchetto coinvolto.
È sconsigliato. I file di sistema devono essere ripristinati tramite DISM, SFC o una riparazione di Windows, perché la copia manuale può introdurre versioni e autorizzazioni errate.
No, il comando ripara l’immagine e i componenti di Windows senza rimuovere documenti, applicazioni o impostazioni personali. È comunque prudente mantenere un backup aggiornato.
Windows non esegue normalmente SFC a ogni avvio. Occorre controllare Attività pianificate, script, software di sicurezza e strumenti di ottimizzazione che potrebbero richiamare sfc.exe.
Altri articoli di questa serie:
- Errore 0x800f081f Windows 11: ripararlo con DISM
- Windows Update bloccato allo 0 Windows 11: script PowerShell
- Errore DISM 87 Windows 11: come risolverlo
- Servizio Windows Installer non avviato: come ripristinarlo
- Reimpostare proxy WinHTTP Windows 11 con netsh
- Errore DNS Windows 11: comandi per risolverlo
- Accesso negato cartella Windows 11 icacls: soluzione
- Minidump di Windows 11: trova il driver della schermata blu
- Spooler di stampa bloccato Windows 11: script CMD
