如何修复sfc / scannow找到的损坏文件?“ Windows资源保护发现损坏的文件,但无法修复其中一些。”


48

Windows 7中,运行chkdsk C: /F /R并发现我的硬盘有24 KB的坏扇区(日志记录在下面)后,我决定运行Windows 7的System File Checker实用程序(sfc /scannow)。

证监会显示ff。我运行它后出现一条消息:“ Windows资源保护发现损坏的文件,但无法修复其中一些。详细信息包含在CBS.Log windir \ Logs \ CBS \ CBS.log中。

由于CBS.log文件太大,因此我运行了findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfcdetails.txt"(按照Microsoft的KB 928228文章),只获取与损坏的文件有关的日志文本。(日志也发布在下面)

如何解决和修复提到的损坏的文件sfc /scannow

我的操作系统是Windows 7(64位)。


chkdsk日志

sfc / scannow日志

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

注:完整的日志是在http://pastebin.com/raw.php?i=gTEGZmWj。我仅在下面引用了完整日志的一部分(大部分来自最后一部分),因为完整日志不适合问题的字符数限制。我已将其添加为预览。

...
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

日志仅显示我已经告诉过您的内容。使用Inplace升级修复Windows。
magicandre1981

@ magicandre1981我已经读过你的答案。尝试后,我将提供反馈。我包括了日志(在原始帖子中已经存在),以帮助其他可能的答案来提供可能的解决方案。
galacticninja

Answers:


14

修复Windows 7中大量损坏文件的唯一方法是进行修复安装/就地升级

  • 插入Windows 7 DVD或挂载Windows 7 ISO
  • 运行setup.exe从DVD / ISO安装
  • 在安装过程中选择 upgrade

在此处输入图片说明

这可以修复Windows,但保留程序。

2015年,Microsoft将DISM命令从Windows 8反向移植到Windows 7,以修复文件。查看是否可以安装更新KB2966583,以管理员身份打开命令提示符,然后运行DISM /Online /Cleanup-Image /Scanhealth以尝试修复文件。但是,如果失败,请尝试就地升级。对于Windows 7来说,仍然要确保完全修复它仍然是最佳选择。


但是我们可以将其复制C:\Windows\System32\dism.exe到Windows 7,它将正常工作,对吗?
和平者

1
如果Users \或Program Files \文件夹不在系统驱动器上,则此方法不起作用。:(

@凯这是正确的。Microsoft不支持移动这些文件夹。
magicandre1981

不,这不是从安装媒体进行Windows修复的唯一方法,我提供了其他简单的解决方案。
乔治·迪马

@Pacerier MS将scanHealth命令反向移植到Win7,在这里它的工作原理类似于win8中的RestoreHealth,但是您只能使用/ Online,而不是针对映像。
magicandre1981

3

chkdsk C: /F /R从Windows安装DVD 运行,

  1. 从Windows 7 DVD启动。
  2. 选择“修复计算机”。
  3. 选择您的目标系统。
  4. 在恢复工具面板中,选择“命令提示符”。
  5. chkdsk <your target drive>/: /F /R

从安装DVD运行检查磁盘时,Windows将尝试恢复损坏的文件并进行修复。

我已经尝试过了,它每次都起作用。


非常感谢,Mohannd。您的答案解决了我的Windows资源保护找到了损坏的文件,但无法修复其中的一些错误。
Miles Wolbe

1
很抱歉在这里更新我之前的评论;5分钟的编辑窗口可悲地关闭了。剩下的就是:从Windows 7 DVD运行chkdsk的结论是(无法将记录的消息传输到状态为50的事件日志),但是显然这是正常的。也感谢@galacticninja提出的问题!
Miles Wolbe 2015年

2

如果sfc /scannow不起作用,请在运行Windows 8时尝试以下命令:

dism /Online /Cleanup-Image /RestoreHealth

或如果您处于Windows 8 DVD / USB的修复模式,请使用以下命令:

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

前提是损坏的Windows 8在分区C:上。


虽然你的回答中提到运8的步骤为Win 7相同的
Kinnectus

5
@BigChris和niutech:这似乎在Windows 7上不起作用。第一个命令的错误消息: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.log您知道Windows 7的相应命令吗?
galacticninja 2014年

7
来自technet.microsoft.com/zh-cn/library/hh824869.aspx:“仅在维修Windows®8或WindowsServer®2012映像时,才可以使用DISM / ScanHealth,/ CheckHealth和/ RestoreHealth参数。”
2014年

1

在Windows 7和更高版本中,SFC的组件数据库由Windows Update维护。运行Windows Update将触发组件数据库的自动修复,此后,使用SFC可能会更好。


不,它不会,它将无法修复winsxs,请参阅我发布的解决方案。
乔治·迪马

3
@GeorgeDima您可能会意识到,出现特定问题的原因可能不止一个。
DustWolf

1

尽管可以通过升级来修复系统文件(如上所述),但是您应该考虑是否确实要这样做。如果系统文件损坏是由坏扇区引起的,则很可能是您的硬盘驱动器开始出现故障。一段时间以来,您可能再没有其他问题了,但是您要经历多长时间的腐败才能持续多久呢?这次是系统文件,也许下次会成为您的个人数据。我建议备份所有数据,购买新计算机或新硬盘,然后将数据还原到其中。尽管价格更高,但从长远来看更安全。


2
这仅与我的问题切线相关,而IMO则更多是评论,而不是答案。但是,作为对您的帖子的答复,是的,我确实已经备份了重要文件,并且将在可能的情况下尽快更换硬盘。我的硬盘仍然有生命,因为我每天仍在使用它,并且不再出现坏扇区。
galacticninja 2014年

在决定要做什么时值得考虑。从长远来看,坏扇区和损坏的数据一个标志的东西是错误的,备份和更换驱动器可能是聪明的事情,即使它不是一个答案OP想听到的。
Journeyman Geek

1

如果SFC / SCANNOW不起作用,请尝试以计算机以“安全模式”运行它。确保在%WinDir%\ WinSxS \ Temp下存在PendingDeletes和PendingRenames文件夹,并且它们为空。如果不是,则删除内容并再次运行SFC / SCANNOW。有关更多信息,请参见http://support.microsoft.com/kb/929833


1
有谁能够确认删除PendingDeletesPendingRenames文件夹的内容安全吗?我看到有人说这可能会使操作系统无法修复(他们没有提供消息来源)。
汤姆(Tom)

这适用于Windows 8.1,我什至不必检查Pending*目录。
Chloe

@Tom no不要删除它们,WeHoChris提供了源链接,它说,make sure that the PendingDeletes and PendingRenames folders exist under %WinDir%\WinSxS\Temp.但不是说您应该删除它们。
Shayan

0

要尝试的另一件事是从Microsoft安装CheckSUR工具:https : //support.microsoft.com/zh-cn/kb/947821

“ SUR”代表“系统更新就绪”。

其目的是修复损坏的系统文件。(即:用一个好的副本替换它们。)其名称表明它是为无法运行系统更新的情况而创建的,并且仅进行检查,但实际上它也可以解决问题。我不知道它是仅修复更新成功所必需的系统文件的子集,还是全部都修复。也许遇到这个问题的人可以尝试一下,然后再次运行SFC,让我们知道错误是否消失了?

该版本适用于Windows Vista和7。在Windows 8中,它已经安装,并且已重命名为“部署映像服务和管理(DISM)”。希望它不会像听起来那样令人沮丧。


那么如何在Windows 8中以这种方式使用dsim?
user2284570

Windows Update安装程序与修复Winsxs无关。
乔治·迪马

-2

Windows 7的最佳方法,手动复制丢失的文件,今天我做了,要复制5个文件,之后没有SFC错误。

源位于$ install_media / source / install.wim中。使用7-zip打开,它的结构与Windows分区相同,因此请从相应的文件夹中进行复制。


1
用户混合使用32位和64位文件的可能性很高,这会导致错误。不要这么做
magicandre1981

您不明白,我的解决方案是故障安全的,因为您无法混合任何文件,只需将其复制到当前Windows安装中的同一文件夹中即可。而且您不能将32与64混合使用,因为它们位于不同的文件夹(syswow64 / system32)中。
乔治·迪玛

3
不,您仍然会遇到问题。install.wim包含RTM数据。如果您已安装更新,则数据是较新的,并用RTM文件替换它们,这也会引起问题。不要做这种快速而肮脏的废话。修复安装/就地升级可保留所有设置;)
magicandre1981

错误的是,如果您从安装媒体进行Windows修复,它将从该媒体复制文件,这些文件是原始文件而不是更新文件。并将替换已经好的文件。使用我的方法,您只需复制丢失的文件(由SFC报告),一切都会好起来的。
乔治·迪玛

1
不,我明白了,但就我而言,它能奏效,比通过磁盘修复重置Windows还要简单的解决方案,而且SFC / scanow报告丢失文件的版本,在我来说,所有文件都从未被更新过Windows Update,因为只有几个系统文件在Windows时间轴中具有更新,所以大多数文件在整个生命周期内都保持库存版本。
乔治·迪马
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.