Como faço para reparar os arquivos corrompidos encontrados pelo sfc / scannow? "O Windows Resource Protection encontrou arquivos corrompidos, mas não conseguiu consertar alguns deles."

48

No Windows 7 , depois de executar chkdsk C: /F /Re descobrir que meu disco rígido tem 24 KB em setores defeituosos (o registro é publicado abaixo), decidi executar o utilitário Verificador de arquivos do sistema do Windows 7 ( sfc /scannow).

SFC mostrou o ff. após a execução : "O Windows Resource Protection encontrou arquivos corrompidos, mas não conseguiu consertar alguns deles. Os detalhes estão incluídos no arquivo CBS.Log windir \ Logs \ CBS \ CBS.log. "

Como o arquivo CBS.log é muito grande, executei findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfcdetails.txt"(conforme o artigo KB 928228 da Microsoft ) para obter apenas o texto do log referente aos arquivos corrompidos. (log também é publicado abaixo)

Como solucionar problemas e reparar os arquivos corrompidos mencionados por sfc /scannow?

Meu sistema operacional é o Windows 7 de 64 bits.


log do chkdsk

log sfc / scannow

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

Nota: O log completo está em http://pastebin.com/raw.php?i=gTEGZmWj . Eu apenas citei partes do log completo abaixo (principalmente da última parte), pois o log completo não se enquadra no limite de caracteres para perguntas. Eu adicionei para servir como uma prévia.

...
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
galacticninja
fonte
o log mostra apenas o que eu já disse. repare o Windows com a atualização Inplace.
magicandre1981
@ magicandre1981 Eu li sua resposta. Fornecerei feedback depois de ter tentado. Incluí os logs (que já estavam lá na postagem original) para ajudar outras respostas em potencial no fornecimento de possíveis soluções.
precisa

Respostas:

14

A única maneira de corrigir essa grande quantidade de arquivos corrompidos no Windows 7 é fazer uma instalação de reparo / atualização no local .

  • Insira o DVD do Windows 7 ou montou um ISO do Windows 7
  • Execute a setup.exepartir do DVD / ISO montado
  • durante a instalação, selecione upgrade

insira a descrição da imagem aqui

Isso repara o Windows, mas mantém os programas.

Em 2015, a Microsoft suportou um comando DISM do Windows 8 para o Windows 7 para reparar arquivos. Verifique se é possível instalar a atualização KB2966583 , abra um prompt de comando como administrador e execute DISM /Online /Cleanup-Image /Scanhealthpara tentar reparar os arquivos. Mas se isso falhar, tente a atualização no local. Ainda é a melhor opção para o Windows 7, para garantir que ele seja totalmente reparado.

magicandre1981
fonte
Mas podemos copiar C:\Windows\System32\dism.exepara o Windows 7 e funcionaria bem, certo?
Pacerier 24/04
1
Isso não funciona se a pasta Users \ ou Program Files \ não estiver na unidade do sistema. :(
Kai
@ Kai isso está correto. Mover essas pastas não é suportado pela Microsoft.
magicandre1981
não, não é a única maneira de fazer um reparo do Windows a partir da mídia de instalação, dei uma solução alternativa e simples.
George Dima
O @Pacerier MS suportou o comando scanHealth no Win7, aqui ele funciona como o RestoreHealth no win8, mas você só pode usar / Online, não contra uma imagem.
magicandre1981
3

Execute a chkdsk C: /F /Rpartir do DVD de instalação do Windows,

  1. Inicialize a partir do DVD do Windows 7.
  2. Selecione "Reparar o seu computador".
  3. Escolha o seu sistema de destino.
  4. No painel da ferramenta de recuperação, escolha Prompt de Comando.
  5. Corre chkdsk <your target drive>/: /F /R

Quando você executa o disco de verificação do DVD de instalação, o Windows tenta recuperar arquivos corrompidos e corrigi-los.

Eu tentei e funciona sempre.

Mohannd
fonte
Muito obrigado, Mohannd. Sua resposta resolveu o meu Windows Resource Protection encontrou arquivos corrompidos, mas não conseguiu corrigir alguns deles .
Miles Wolbe 27/07/2015
1
Desculpe atualizar meu comentário anterior aqui; infelizmente, a janela de edição de cinco minutos foi fechada. Aqui está o resto: A execução do chkdsk a partir do DVD do Windows 7 foi concluída com ( Falha ao transferir mensagens registradas para o log de eventos com status 50 ), mas aparentemente isso é normal . Agradecemos também a @galacticninja por fazer a pergunta!
Miles Wolbe
2

Se sfc /scannownão funcionar, tente este comando ao executar o Windows 8:

dism /Online /Cleanup-Image /RestoreHealth

ou este comando se você estiver no modo de reparo do Windows 8 DVD / USB:

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

desde que o Windows 8 quebrado esteja na partição C :.

niutech
fonte
Embora você resposta menciona Win 8 as etapas são as mesmas para Win 7.
Kinnectus
5
@BigChris e niutech: Isso parece não funcionar no Windows 7. Estou recebendo o ff. mensagem de erro com o primeiro 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.logVocê conhece os comandos de contrapartida do Windows 7?
galacticninja
7
Em technet.microsoft.com/pt-br/library/hh824869.aspx : "Os argumentos DISM / ScanHealth, / CheckHealth e / RestoreHealth podem ser usados ​​apenas ao atender imagens do Windows® 8 ou Windows Server® 2012".
Luke Girvin 2/14/14
1

No Windows 7 e posterior, o banco de dados de componentes do SFC é mantido pelo Windows Update. A execução do Windows Update acionará o reparo automatizado do banco de dados do componente, após o qual você poderá ter mais sorte com o SFC.

DustWolf
fonte
não, ele não irá corrigir o winsxs, veja a solução que eu publiquei.
George Dima
3
@GeorgeDima, você pode perceber que há mais de uma razão possível para um problema específico.
DustWolf 04/03
1

Embora seja possível reparar os arquivos do sistema por meio de uma atualização (conforme detalhado acima), você deve considerar se realmente deseja fazê-lo. Se a corrupção do arquivo do sistema foi causada por setores defeituosos, é provável que o seu disco rígido esteja começando a falhar. Você pode não ter mais problemas por algum tempo, mas quanto tempo pode levar até você sofrer mais corrupção? Desta vez foram arquivos do sistema, talvez sejam seus dados pessoais na próxima vez. Eu recomendaria fazer backup de todos os seus dados, obter um novo computador ou um novo disco rígido e, em seguida, restaurar seus dados nele. Embora mais caro, é mais seguro a longo prazo.

Marionumber1
fonte
2
Isso está tangencialmente relacionado à minha pergunta, e a IMO é mais um comentário e menos uma resposta. Mas, como resposta à sua postagem, sim, eu fiz um backup dos meus arquivos importantes e substituirei o disco rígido assim que possível. No entanto, meu disco rígido ainda tem vida útil, pois ainda o uso diariamente e não surgem mais setores defeituosos.
galacticninja
Vale a pena levar em consideração ao decidir o que fazer. A longo prazo, setores defeituosos e dados corrompidos são um sinal de que algo está errado, e fazer backup e substituir a unidade é provavelmente a coisa mais inteligente , mesmo que não seja uma resposta que o OP queira ouvir.
Journeyman Geek
1

Se o SFC / SCANNOW não funcionar, tente executá-lo com o computador no SAFE MODE. Verifique se as pastas PendingDeletes e PendingRenames existem em% WinDir% \ WinSxS \ Temp e se estão vazias. Caso contrário, exclua o conteúdo e execute SFC / SCANNOW novamente. Consulte http://support.microsoft.com/kb/929833 para obter mais informações.

WeHoChris
fonte
1
Alguém pode confirmar que é seguro excluir o conteúdo das pastas PendingDeletese PendingRenames? Vi alguém dizer que isso pode interromper o sistema operacional além do reparo (eles não citaram uma fonte).
Tom
Isso funcionou no Windows 8.1 e eu nem precisei verificar os Pending*diretórios.
Chloe #
@ Tom no, não os exclua, o link de origem que o WeHoChris forneceu, ele diz, make sure that the PendingDeletes and PendingRenames folders exist under %WinDir%\WinSxS\Temp.mas não diz que você deve excluí-los.
Shayan 5/11
0

Outra coisa a tentar é instalar a ferramenta CheckSUR da Microsoft: https://support.microsoft.com/en-us/kb/947821

"SUR" significa "Preparação para atualização do sistema".

Seu objetivo é reparar arquivos de sistema corrompidos. (Ou seja: substitui-os por uma boa cópia.) Seu nome sugere que ele foi criado para casos em que a atualização do sistema não seria executada e que apenas verifica, mas na verdade também corrige problemas. Não sei se ele corrige apenas um subconjunto de arquivos do sistema necessários para o êxito da atualização, ou todos eles. Talvez as pessoas que enfrentam esse problema possam tentar, executar o SFC novamente e nos informar se o erro foi solucionado.

Isso é para Windows Vista e 7. No Windows 8, ele já está instalado e foi renomeado para Gerenciamento e Manutenção de Imagens de Implantação (DISM). Espero que não seja tão sombrio quanto parece.

Evgeni Sergeev
fonte
so'how usar dsim dessa maneira no Windows 8?
user2284570
O instalador do Windows Update não tem nada a ver com a reparação do Winsxs.
George Dima
-2

melhor método para o Windows 7, copiar manualmente os arquivos ausentes, eu fiz hoje, tinha 5 arquivos para copiar, sem erro de SFC depois.

source está em $ install_media / source / install.wim. Abra com 7-zip e ele tem a mesma estrutura que a partição do Windows, então copie da pasta correspondente.

George Dima
fonte
1
as chances são altas de que os usuários misturem arquivos de 32 e 64 bits e isso causa erros. Não faça isso #
magicandre1981
você não entendeu, minha solução é à prova de falhas, já que você não pode misturar nenhum arquivo, basta copiá-lo para a mesma pasta na sua instalação atual do Windows. E você não pode misturar 32 com 64, pois existem em pastas diferentes (syswow64 / system32).
George Dima
3
não, você ainda pode ter problemas. o install.wim inclui os dados do RTM. se você instalou atualizações, os dados são mais recentes e você os substitui por arquivos RTM, o que também causa problemas. não faça essa porcaria rápida e suja. instalação de reparação / actualização local mantém todas as configurações;)
magicandre1981
errado, se você reparar o Windows a partir da mídia de instalação, ele copiará os arquivos da mídia, que são originais e não atualizados. e também substituirá os arquivos que já estão em boas condições. usando meu método, você pode copiar os arquivos ausentes (relatados pelo SFC) e tudo ficará bem.
George Dima
1
não, eu entendi o seu ponto de vista, mas no meu caso funcionou, era uma solução mais simples do que redefinir o Windows com um reparo de disco e também o SFC / scanow relata versões dos arquivos ausentes e, no meu caso, todos eles nunca foram atualizados por Windows Update, porque apenas alguns arquivos do sistema têm atualizações na linha do tempo do Windows, a maioria deles permanece na versão de estoque por toda a vida.
George Dima