Come riparo i file corrotti trovati da sfc / scannow? "La protezione delle risorse di Windows ha rilevato file corrotti ma non è stato in grado di risolverne alcuni."


48

In Windows 7 , dopo aver eseguito chkdsk C: /F /Re scoperto che il mio disco rigido ha 24 KB in settori danneggiati (il registro è pubblicato di seguito), ho deciso di eseguire l'utilità Controllo file di sistema di Windows 7 ( sfc /scannow).

SFC ha mostrato l'ff. messaggio dopo che l'ho eseguito: " Protezione risorse di Windows ha trovato file corrotti ma non è stato in grado di risolverne alcuni. I dettagli sono inclusi nel windir \ Logs \ CBS \ CBS.log di CBS.Log. "

Poiché il file CBS.log è troppo grande, ho eseguito findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfcdetails.txt"(come da articolo 928228 KB di Microsoft ) per ottenere solo il testo del registro relativo ai file corrotti. (il registro è anche pubblicato di seguito)

Come posso risolvere e riparare i file corrotti citati da sfc /scannow?

Il mio sistema operativo è Windows 7 , a 64 bit.


registro chkdsk

sfc / scannow log

(attraverso findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfcdetails.txt")

Nota: il registro completo è disponibile all'indirizzo http://pastebin.com/raw.php?i=gTEGZmWj . Ho citato solo alcune parti del registro completo di seguito (principalmente dall'ultima parte), poiché il registro completo non rientra nel limite di caratteri per le domande. L'ho aggiunto per servire come anteprima.

...
2013-12-28 19:37:50, Info  CSI00000542 [SR] Beginning Verify and Repair transaction
2013-12-28 19:37:55, Info  CSI00000544 [SR] Verify complete
2013-12-28 19:37:56, Info  CSI00000545 [SR] Verifying 95 (0x000000000000005f) components
2013-12-28 19:37:56, Info  CSI00000546 [SR] Beginning Verify and Repair transaction
2013-12-28 19:38:03, Info  CSI00000548 [SR] Verify complete
2013-12-28 19:38:03, Info  CSI00000549 [SR] Repairing 43 (0x000000000000002b) components
2013-12-28 19:38:03, Info  CSI0000054a [SR] Beginning Verify and Repair transaction

...

2013-12-28 19:38:15, Info  CSI0000075d [SR] Could not reproject corrupted file [ml:520{260},l:84{42}]"\??\C:\Windows\System32\migwiz\dlmanifests"\[l:38{19}]"IasMigPlugin-DL.man"; source file in store is also corrupted
2013-12-28 19:38:15, Info  CSI00000760 [SR] Could not reproject corrupted file [ml:520{260},l:84{42}]"\??\C:\Windows\System32\migwiz\dlmanifests"\[l:50{25}]"International-Core-DL.man"; source file in store is also corrupted
2013-12-28 19:38:16, Info  CSI00000762 [SR] Cannot repair member file [l:24{12}]"wbemdisp.dll" of Microsoft-Windows-WMI-Scripting, Version = 6.1.7600.16385, pA = PROCESSOR_ARCHITECTURE_INTEL (0), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral in the store, hash mismatch
2013-12-28 19:38:16, Info  CSI00000763 [SR] This component was referenced by [l:202{101}]"Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~6.1.7601.17514.WindowsFoundationDelivery"
2013-12-28 19:38:16, Info  CSI00000766 [SR] Could not reproject corrupted file [ml:58{29},l:56{28}]"\??\C:\Windows\SysWOW64\wbem"\[l:24{12}]"wbemdisp.dll"; source file in store is also corrupted
2013-12-28 19:38:16, Info  CSI00000768 [SR] Cannot repair member file [l:56{28}]"Microsoft.MediaCenter.UI.dll" of Microsoft.MediaCenter.UI, Version = 6.1.7601.17514, pA = PROCESSOR_ARCHITECTURE_MSIL (8), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral in the store, hash mismatch
2013-12-28 19:38:16, Info  CSI00000769 [SR] This component was referenced by [l:176{88}]"Microsoft-Windows-MediaCenter-Package~31bf3856ad364e35~amd64~~6.1.7601.17514.MediaCenter"
2013-12-28 19:38:16, Info  CSI0000076c [SR] Could not reproject corrupted file [ml:520{260},l:40{20}]"\??\C:\Windows\ehome"\[l:56{28}]"Microsoft.MediaCenter.UI.dll"; source file in store is also corrupted
2013-12-28 19:38:16, Info  CSI0000076e [SR] Cannot repair member file [l:24{12}]"ReAgentc.exe" of Microsoft-Windows-WinRE-RecoveryTools, Version = 6.1.7601.17514, pA = PROCESSOR_ARCHITECTURE_INTEL (0), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral in the store, hash mismatch
2013-12-28 19:38:16, Info  CSI0000076f [SR] This component was referenced by [l:202{101}]"Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~6.1.7601.17514.WindowsFoundationDelivery"
2013-12-28 19:38:16, Info  CSI00000772 [SR] Could not reproject corrupted file [ml:48{24},l:46{23}]"\??\C:\Windows\SysWOW64"\[l:24{12}]"ReAgentc.exe"; source file in store is also corrupted
2013-12-28 19:38:16, Info  CSI00000774 [SR] Cannot repair member file [l:82{41}]"System.Management.Automation.dll-Help.xml" of Microsoft-Windows-PowerShell-PreLoc.Resources, Version = 6.1.7600.16385, pA = PROCESSOR_ARCHITECTURE_AMD64 (9), Culture = [l:10{5}]"en-US", VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral in the store, hash mismatch
2013-12-28 19:38:16, Info  CSI00000775 [SR] This component was referenced by [l:266{133}]"Microsoft-Windows-Client-Features-Package~31bf3856ad364e35~amd64~en-US~6.1.7601.17514.Microsoft-Windows-Client-Features-Language-Pack"
2013-12-28 19:38:16, Info  CSI00000778 [SR] Could not reproject corrupted file [ml:520{260},l:104{52}]"\??\C:\Windows\System32\WindowsPowerShell\v1.0\en-US"\[l:82{41}]"System.Management.Automation.dll-Help.xml"; source file in store is also corrupted
2013-12-28 19:38:16, Info  CSI0000077a [SR] Cannot repair member file [l:18{9}]"hlink.dll" of Microsoft-Windows-HLink, Version = 6.1.7600.16385, pA = PROCESSOR_ARCHITECTURE_INTEL (0), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral in the store, hash mismatch
2013-12-28 19:38:16, Info  CSI0000077b [SR] This component was referenced by [l:202{101}]"Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~6.1.7601.17514.WindowsFoundationDelivery"
2013-12-28 19:38:16, Info  CSI0000077e [SR] Could not reproject corrupted file [ml:48{24},l:46{23}]"\??\C:\Windows\SysWOW64"\[l:18{9}]"hlink.dll"; source file in store is also corrupted
2013-12-28 19:38:16, Info  CSI00000780 [SR] Repair complete
2013-12-28 19:38:16, Info  CSI00000781 [SR] Committing transaction
2013-12-28 19:38:19, Info  CSI00000785 [SR] Verify and Repair Transaction completed. All files and registry keys listed in this transaction  have been successfully repaired

il registro mostra solo quello che ti ho già detto. ripara Windows con l'aggiornamento Inplace.
magicandre1981,

@ magicandre1981 Ho letto la tua risposta. Fornirò feedback una volta provato. Ho incluso i registri (che erano già presenti nel post originale) per aiutare altre potenziali risposte a fornire possibili soluzioni.
galacticninja,

Risposte:


14

L'unico modo per correggere questa grande quantità di file danneggiati in Windows 7 è eseguire un'installazione di riparazione / Aggiornamento sul posto .

  • Inserisci il tuo DVD di Windows 7 o montato un ISO di Windows 7
  • Esegui setup.exedal DVD / ISO montato
  • durante l'installazione selezionare upgrade

inserisci qui la descrizione dell'immagine

Questo ripara Windows ma mantiene i programmi.

Nel 2015, Microsoft ha eseguito il backport di un comando DISM da Windows 8 a Windows 7 per riparare i file. Verifica se è possibile installare l' aggiornamento KB2966583 , apri un prompt dei comandi come amministratore ed esegui DISM /Online /Cleanup-Image /Scanhealthper provare a riparare i file. Ma se questo fallisce, prova l'aggiornamento sul posto. È ancora l'opzione migliore per Windows 7 per assicurarsi che venga completamente riparata.


Ma possiamo copiare C:\Windows\System32\dism.exesu Windows 7 e funzionerebbe bene vero?
Pacerier,

1
Questo non funziona se la cartella Users \ o Program Files \ non si trova sull'unità di sistema. :(
Kai,

@Kai questo è corretto. Lo spostamento di tali cartelle non è supportato da Microsoft.
magicandre1981,

no, non è l'unico modo per eseguire una riparazione di Windows dal supporto di installazione, ho fornito una soluzione alternativa e semplice.
George Dima,

@Pacerier MS ha eseguito il backport del comando scanHealth su Win7, qui funziona come RestoreHealth in win8, ma puoi usare solo / Online, non su un'immagine.
magicandre1981

3

Esegui chkdsk C: /F /Rdal DVD di installazione di Windows,

  1. Avvio dal DVD di Windows 7.
  2. Seleziona "Ripara il tuo computer".
  3. Scegli il tuo sistema di destinazione.
  4. Nel pannello degli strumenti di ripristino, selezionare Prompt dei comandi.
  5. Correre chkdsk <your target drive>/: /F /R

Quando esegui il controllo del disco dal DVD di installazione, Windows tenterà di ripristinare i file danneggiati e risolverli.

L'ho provato e funziona ogni volta.


Grazie mille, Mohannd. La tua risposta ha risolto la protezione delle risorse di Windows che ha rilevato file corrotti ma non è stato possibile correggere alcuni di essi .
Miles Wolbe,

1
Mi dispiace aggiornare il mio commento precedente qui; la finestra di modifica di 5 minuti era tristemente chiusa. Ecco il resto: l'esecuzione di chkdsk dal DVD di Windows 7 si è conclusa con ( Impossibile trasferire i messaggi registrati nel registro eventi con stato 50 ), ma a quanto pare è normale . Grazie anche a @galacticninja per aver posto la domanda!
Miles Wolbe,

2

Se sfc /scannownon funziona, prova questo comando quando esegui Windows 8:

dism /Online /Cleanup-Image /RestoreHealth

o questo comando se si è in modalità di riparazione di Windows 8 DVD / USB:

Dism /Image:C:\ /Cleanup-Image /RestoreHealth

a condizione che Windows 8 rotto si trovi sulla partizione C :.


Sebbene tu abbia risposto menziona Win 8, i passaggi sono gli stessi per Win 7.
Kinnectus,

5
@BigChris e niutech: questo non sembra funzionare su Windows 7. Sto ottenendo il file. messaggio di errore con il primo comando: Error: 87 — The restorehealth option is not recognized in this context. — For more information, refer to the help. — The DISM log file can be found at C:\Windows\Logs\DISM\dism.logconosci i comandi della controparte per Windows 7?
galacticninja,

7
Da technet.microsoft.com/en-gb/library/hh824869.aspx : "Gli argomenti DISM / ScanHealth, / CheckHealth e / RestoreHealth possono essere utilizzati solo per la manutenzione di immagini Windows® 8 o Windows Server® 2012".
Luke Girvin,

1

In Windows 7 e versioni successive, il database dei componenti di SFC è gestito da Windows Update. L'esecuzione di Windows Update attiverà la riparazione automatica del database dei componenti, dopo di che potresti avere più fortuna con SFC.


no, non lo farà, non risolverà Winsxs, vedi la soluzione che ho pubblicato.
George Dima,

3
@GeorgeDima potresti apprezzare che esiste più di una possibile ragione per un particolare problema.
DustWolf

1

Sebbene sia possibile riparare i file di sistema tramite un aggiornamento (come descritto sopra), è necessario considerare se si desidera veramente farlo. Se la corruzione del file di sistema è stata causata da settori danneggiati, è probabile che il disco rigido stia iniziando a guastarsi. Potresti non avere più problemi per qualche tempo, ma quanto tempo potrebbe passare prima di sperimentare più corruzione? Questa volta erano file di sistema, forse la prossima volta saranno i tuoi dati personali. Consiglio di eseguire il backup di tutti i dati, di ottenere un nuovo computer o un nuovo disco rigido e quindi ripristinare i dati su di esso. Sebbene più costoso, a lungo termine è più sicuro.


2
Questo è solo tangenzialmente correlato alla mia domanda, e l'IMO è più un commento e meno una risposta. Ma come risposta al tuo post, sì, ho effettivamente fatto un backup dei miei file importanti e sostituirò il disco rigido non appena sarò in grado. Il mio disco rigido ha ancora la vita, tuttavia, poiché lo sto ancora usando quotidianamente e non sono sorti più settori danneggiati.
galacticninja,

Vale la pena prendere in considerazione quando si decide cosa fare però. A più lungo termine, settori danneggiati e dati danneggiati sono un segno che qualcosa non va e il backup e la sostituzione dell'unità è probabilmente la cosa intelligente , anche se non è una risposta che l'OP vuole ascoltare.
Journeyman Geek

1

Se SFC / SCANNOW non funziona, provare a eseguirlo con il computer in MODALITÀ SICURA. Assicurarsi che le cartelle PendingDeletes e PendingRenames siano presenti in% WinDir% \ WinSxS \ Temp e che siano vuote. In caso contrario, eliminare il contenuto ed eseguire nuovamente SFC / SCANNOW. Vedere http://support.microsoft.com/kb/929833 per ulteriori informazioni.


1
Qualcuno è in grado di confermare che è sicuro eliminare il contenuto delle cartelle PendingDeletese PendingRenames? Ho visto qualcuno dire che questo può rompere irreparabilmente il sistema operativo (non hanno citato una fonte).
Tom

Funzionava con Windows 8.1 e non dovevo nemmeno controllare le Pending*directory.
Chloe,

@Tom no non li elimina, il link di origine che WeHoChris ha fornito, dice make sure that the PendingDeletes and PendingRenames folders exist under %WinDir%\WinSxS\Temp.ma non dice che dovresti eliminarli.
Shayan,

0

Un'altra cosa da provare è installare lo strumento CheckSUR da Microsoft: https://support.microsoft.com/en-us/kb/947821

"SUR" sta per "Disponibilità dell'aggiornamento di sistema".

Il suo scopo è riparare i file di sistema danneggiati. (Cioè: li sostituisce con una buona copia.) Il suo nome suggerisce che è stato creato per i casi in cui l'aggiornamento del sistema non viene eseguito e che controlla solo, ma in realtà risolve anche i problemi. Non so se risolve solo un sottoinsieme di file di sistema necessari per l'aggiornamento, o tutti. Forse le persone che incontrano questo problema possono provarlo, quindi eseguire nuovamente SFC e farci sapere se l'errore è andato via?

Questo è per Windows Vista e 7. In Windows 8 è già installato ed è stato rinominato in DISM (Deployment Image Servicing and Management). Spero non sia triste come sembra.


così come usare dsim in quel modo in Windows 8?
user2284570

Windows Update Installer non ha nulla a che fare con la riparazione di Winsxs.
George Dima,

-2

miglior metodo per Windows 7, copia manualmente i file mancanti, l'ho fatto oggi, aveva 5 file da copiare, nessun errore SFC dopo.

source è in $ install_media / source / install.wim. Apri con 7-zip e ha la stessa struttura della partizione di Windows, quindi copia dalla cartella corrispondente.


1
le probabilità sono alte che gli utenti mescolino file a 32 e 64 bit e questo causa errori. non farlo
magicandre1981

non hai capito, la mia soluzione è fail-safe, dal momento che non è possibile mescolare alcun file, è sufficiente copiarlo nella stessa cartella nell'installazione corrente di Windows. E non puoi mescolare 32 con 64 poiché ci sono in cartelle diverse (syswow64 / system32).
George Dima,

3
no, puoi ancora avere problemi. install.wim include i dati RTM. se hai installato aggiornamenti, i dati sono più recenti e li sostituisci con file RTM e questo causa anche problemi. non fare questa merda veloce e sporca. ripara installazione / aggiornamento sul posto mantiene tutte le impostazioni;)
magicandre1981

sbagliato, se si esegue la riparazione di Windows dal supporto di installazione, i file verranno copiati dal supporto, che sono originali non aggiornati. e sostituirà anche i file che sono già buoni. usando il mio metodo potresti semplicemente copiare i file mancanti (segnalati da SFC) e tutto andrà bene.
George Dima,

1
no, capisco, ma nel mio caso ha funzionato, era una soluzione più semplice rispetto al ripristino di Windows con una riparazione del disco, e anche SFC / scanow riporta le versioni dei file mancanti e nel mio caso tutti non sono mai stati aggiornati da Windows Update, poiché solo alcuni file di sistema hanno aggiornamenti nella sequenza temporale di Windows, la maggior parte di essi rimane versione stock per tutta la vita.
George Dima,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.