使用 Windows 系统文件检查器工具
1 管理员身份运行 CMD
2 部署映像服务和管理工具(DISM)
Windows7 跳过,Windows10 及 Windows8 执行
DISM.exe /Online /Cleanup-image /Restorehealth
DISM 通过 Windows 更新提供修复损坏所需的文件。 但是,如果 Windows 更新客户端已断开,则会将正在运行的 Windows 安装用作修复来源,或者将来自网络共享或可移动媒体(例如 Windows DVD,U盘)的 Windows 并行文件夹用作文件来源。 为此,请改为运行以下命令,替换 C:RepairSourceWindows:
DISM.exe /Online /Cleanup-Image /RestoreHealth /Source:C:\RepairSource\Windows /LimitAccess
3 开始扫描
sfc /scannow
命令将扫描所有受保护的系统文件,并用位于 %WinDir%System32dllcache 的压缩文件夹中的缓存副本替换损坏的文件。
%WinDir% 占位符代表 Windows 操作系统文件夹。 例如:C:Windows。
在验证 100% 完成之前,请勿关闭。 完成后将显示扫描结果。
4 扫描结果
Windows 资源保护找不到任何完整性冲突
表示没有任何丢失或损坏的系统文件
Windows 资源保护无法执行请求的操作
要解决此问题,请在安全模式中执行系统文件检查器(重复步骤1-3),并确保 PendingDeletes 和 PendingRenames 文件夹存在于 %WinDir%WinSxSTemp 下。
Windows 资源保护找到了损坏的文件并已成功将其修复。 详细信息包含在 CBS.Log(路径为 %WinDir%LogsCBSCBS.log)中
若要查看有关系统文件扫描和还原的详细信息,请查看下方:如何查看系统文件检查器进程的详细信息。
Windows 资源保护找到了损坏的文件但无法修复其中的某些文件。 详细信息包含在 CBS.Log(路径为 %WinDir%LogsCBSCBS.log)中
若要手动修复损坏的文件,请查看系统文件检查器进程的详细信息查找损坏的文件,然后手动将损坏的文件替换为已知完好的文件副本。
更多
如何查看系统文件检查器进程的详细信息
若要查看 CBS.Log 文件中包含的详细信息,可以使用 Findstr 命令将信息复制到 Sfcdetails.txt 文件,然后查看 Sfcdetails.txt 中的详细信息。 为此,请按照下列步骤操作:
1 管理员身份运行 CMD
2 执行命令
findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfcdetails.txt"
注意:Sfcdetails.txt 文件包含每次系统文件检查器工具在计算机上运行时的详细信息。 文件包括有关系统文件检查器工具未修复文件的信息。 验证日期和时间项以确定该问题文件为你上次运行系统文件检查器工具时找到的文件。
3 打开 Sfcdetails.txt
4 Sfcdetails.txt 文件使用以下格式:日期/时间 SFC 详细信息
示例
2007-01-12 12:10:42, Info CSI 00000008 [SR] Cannot
repair member file [l:34{17}]"Accessibility.dll" of Accessibility, Version =
6.0.6000.16386, pA = PROCESSOR_ARCHITECTURE_MSIL (8), Culture neutral,
VersionScope neutral, PublicKeyToken = {l:8 b:b03f5f7f11d50a3a}, Type
neutral, TypeName neutral, PublicKey neutral in the store, file is missing
如何手动将损坏的系统文件替换为已知完好的文件副本
当你确定哪个系统文件已损坏且无法通过 Sfcdetails.txt 文件中的详细信息修复之后,查找损坏文件所在的位置,然后手动将损坏的文件替换为已知完好的文件副本。 为此,请按照下列步骤操作:
注意:你可能可以从与你的计算机运行相同版本的 Windows 的另一台计算机获取系统文件的已知完好副本。 你可以在该计算机上执行系统文件检查器进程,以确保要复制的系统文件是完好的副本。
1 管理员身份运行 CMD
2 获得损坏的系统文件的管理所有权
takeown /f Path_And_File_Name
注意:Path_And_File_Name 占位符代表损坏文件的路径和文件名。 例如:
takeown /f C:\windows\system32\jscript.dll
3 授予管理员完全访问损坏的系统文件的权限
icacls Path_And_File_Name /GRANT ADMINISTRATORS:F
注意:Path_And_File_Name 占位符代表损坏文件的路径和文件名。 例如:
icacls C:\windows\system32\jscript.dll /grant administrators:F
4 将损坏的系统文件替换为已知完好的文件副本
copy Source_File Destination
注意:Source_File 占位符代表计算机上已知完好的文件副本的路径和文件名,Destination 占位符代表损坏文件的路径和文件名。 例如:
copy E:\temp\jscript.dll C:\windows\system32\jscript.dll