运行系统文件检查器工具 (SFC.exe)
一、右击开始按钮>点击"命令提示符"(以管理员身份运行 ),输入:
Dism /Online /Cleanup-Image /ScanHealth
二、这条命令将扫描全部系统文件并和官方系统文件对比,扫描计算机中的不一致情况。
Dism /Online /Cleanup-Image /CheckHealth
三、这条命令必须在前一条命令执行完以后,发现系统文件有损坏时使用。
DISM /Online /Cleanup-image /RestoreHealth
重要说明: 当运行此命令时,DISM 通过 Windows 更新提供修复损坏所需的文件。 但是,如果 Windows 更新客户端已断开,则会将正在运行的 Windows 安装用作修复来源,或者将来自网络共享或可移动媒体(例如 Windows DVD)的 Windows 并行文件夹用作文件来源。 为此,请改为运行以下命令:
注意: 请使用修复来源的位置替换 C:\RepairSource\Windows 占位符。 有关使用 DISM 工具修复 Windows 的更多信息,请参考修复 Windows 映像。
四、这条命令是把那些不同的系统文件还原成官方系统源文件。
完成后重启,无论以上是否成功,键入以下命令
sfc /SCANNOW
sfc /scannow 命令将扫描所有受保护的系统文件,并用位于 %WinDir%\System32\dllcache 的压缩文件夹中的缓存副本替换损坏的文件。
%WinDir% 占位符代表 Windows 操作系统文件夹。 例如:C:\Windows。
注意 在验证 100% 完成之前,请勿关闭此命令提示符窗口。 此流程完成后将显示扫描结果。
流程结束后,你可能收到以下消息之一:
- Windows 资源保护找不到任何完整性冲突。
这表示您没有任何丢失或损坏的系统文件。
- Windows 资源保护无法执行请求的操作。
要解决此问题,请在安全模式中执行系统文件检查器,并确保 PendingDeletes 和 PendingRenames 文件夹存在于 %WinDir%\WinSxS\Temp 下。
- Windows 资源保护找到了损坏的文件并已成功将其修复。 详细信息包含在 CBS.Log(路径为 %WinDir%\Logs\CBS\CBS.log)中。
若要查看有关系统文件扫描和还原的详细信息,请转到如何查看系统文件检查器进程的详细信息。
- Windows 资源保护找到了损坏的文件但无法修复其中的某些文件。 详细信息包含在 CBS.Log(路径为 %WinDir%\Logs\CBS\CBS.log)中。
若要手动修复损坏的文件,请查看系统文件检查器进程的详细信息查找损坏的文件,然后手动将损坏的文件替换为已知完好的文件副本。
更多信息
如何查看系统文件检查器进程的详细信息
- 打开上文步骤 1 所述的提升的命令提示符。
- 在命令提示符处,键入以下命令,然后按 Enter 键:
注意 Sfcdetails.txt 文件包含每次系统文件检查器工具在计算机上运行时的详细信息。 文件包括有关系统文件检查器工具未修复文件的信息。 验证日期和时间项以确定该问题文件为你上次运行系统文件检查器工具时找到的文件。
findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfcdetails.txt"
- 从你的桌面打开 Sfcdetails.txt 文件。
- 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 的另一台计算机获取系统文件的已知完好副本。 你可以在该计算机上执行系统文件检查器进程,以确保要复制的系统文件是完好的副本。
- 获得损坏的系统文件的管理所有权。 为此,在提升的命令提示符处,复制并粘贴(或键入)以下命令,然后按 Enter 键:
takeown /f Path_And_File_Name注意 Path_And_File_Name 占位符代表损坏文件的路径和文件名。 例如,键入 takeown /f C:\windows\system32\jscript.dll。
- 授予管理员完全访问损坏的系统文件的权限。 为此,复制并粘贴(或键入)以下命令,然后按 Enter 键:
icacls Path_And_File_Name /GRANT ADMINISTRATORS:F注意 Path_And_File_Name 占位符代表损坏文件的路径和文件名。 例如,键入 icacls C:\windows\system32\jscript.dll /grant administrators:F。
- 将损坏的系统文件替换为已知完好的文件副本。 为此,复制并粘贴(或键入)以下命令,然后按 Enter 键:
复制 Source_File Destination注意 Source_File 占位符代表计算机上已知完好的文件副本的路径和文件名,Destination 占位符代表损坏文件的路径和文件名。 例如,键入 copy E:\temp\jscript.dll C:\windows\system32\jscript.dll。
如果上述步骤不起作用,则可能需要重新安装 Windows。 有关详细信息,请参阅 Windows 10 恢复选项。