运行系统文件检查器工具 (SFC.exe)
为此,请按照下列步骤操作:
- 打开权限提升的命令提示符。 为此,请根据你的具体情况执行以下操作:
- 如果运行的是 Windows 10、Windows 8.1 或 Windows 8,请先运行收件箱部署映像服务和管理 (DISM) 工具,然后再运行系统文件检查器。 (如果运行的是 Windows 7 或 Windows Vista,请跳到步骤 3.)
键入以下命令,然后按 Enter: 完成命令操作可能需要几分钟时间。
DISM.exe /Online /Cleanup-image /Restorehealth
重要说明: 运行此命令时,DISM 使用 Windows 更新提供修复损坏所需的文件。 但是,如果 Windows 更新客户端已损坏,请使用正在运行的 Windows 安装作为修复源,或使用网络共享或可移动媒体(如 Windows DVD)中的 Windows 并行文件夹作为文件的源。 为此,请改为运行以下命令:
DISM.exe /Online /Cleanup-Image /RestoreHealth /Source:C:\RepairSource\Windows /LimitAccess
备注: 将 C:\RepairSource\Windows 占位符替换为修复源的位置。 有关使用 DISM 工具修复 Windows 的详细信息,请参阅 :
适用于:Windows 8、Windows 8.1、Windows Server 2012、Windows Server 2012 R2
如果 Windows 映像变得无法使用,则可以使用部署映像和服务管理 (DISM) 工具更新文件并更正问题。您可以使用 DISM 修复 WIM 或 VHD 文件中的脱机 Windows 映像或联机 Windows 映像。如果联机 Windows 映像变得无法使用,它也会尝试自我修复。此操作的修复源与按需功能使用的源相同,由组策略设置确定。有关更多信息,请参阅配置 Windows 修复源。使用 DISM 工具修复联机或脱机映像时,可以将/Source参数与/RestoreHealth参数一起使用以指定用于搜索所需文件的其他修复源位置。
DISM /ScanHealth、/CheckHealth和/RestoreHealth参数仅可在服务 Windows® 8 或 Windows Server® 2012 映像时使用。
检查映像是否可修复
- 扫描图像以检查是否损坏。此操作将需要几分钟。例如,在命令提示符下,键入以下命令:
- 检查映像以查看是否检测到任何损坏。例如,在命令提示符下键入:
Dism /Online /Cleanup-Image /CheckHealth
使用/CheckHealth参数时,DISM 工具将报告映像是否健康、可修复或不可修复。如果映像不可修复,则应丢弃该映像并重新开始。如果映像可修复,则可以使用/RestoreHealth参数修复该映像。
修复映像
- 使用/RestoreHealth参数修复映像。例如,若要使用已装载映像作为修复源修复脱机映像,请在命令提示符下键入以下命令:
Dism /Image:C:\offline /Cleanup-Image /RestoreHealth /Source:c:\test\mount\windows
或者要使用您自己的某些来源而不是 Windows 更新来修复在线图像,请键入:
Dism /Online /Cleanup-Image /RestoreHealth /Source:c:\test\mount\windows /LimitAccess
如果您没有为修复文件指定/Source,则将使用按需功能的默认位置。有关详细信息,请参阅配置 Windows 修复源。如果您指定多个/Source,则文件将从找到它们的第一个位置复制,其余位置将被忽略。您可以使用/LimitAccess来阻止 DISM 工具使用 Windows 更新作为修复源或在线映像的备份修复源。
- 在命令提示符处,键入具有管理员权限的命令提示符以下命令,然后按 Enter 键:
sfc /scannow
sfc /scannow 命令将扫描所有受保护的系统文件,并将损坏的文件替换为位于 %WinDir%\System32\dllcache 的压缩文件夹中的缓存副本。
%WinDir% 占位符表示 Windows 操作系统文件夹。 例如,C:\Windows。 注意 在验证 100% 完成之前,请勿关闭此命令提示符窗口。 此过程完成后,将显示扫描结果。- 流程结束后,你可能收到以下消息之一:
- Windows 资源保护找不到任何完整性冲突。这意味着你没有任何丢失或损坏的系统文件。
- Windows 资源保护无法执行请求的操作。若要解决此问题,请在 安全模式下执行系统文件检查器扫描,并确保 PendingDeletes 和 PendingRenames 文件夹位于 %WinDir%\WinSxS\Temp 下。
- Windows 资源保护发现损坏的文件并成功修复了这些文件。 CBS 中包含详细信息。日志 %WinDir%\Logs\CBS\CBS.log。
- Windows 资源保护发现损坏的文件,但无法修复其中一些文件。 CBS 中包含详细信息。日志 %WinDir%\Logs\CBS\CBS.log。
如何查看系统文件检查器进程的详细信息
若要查看 CBS.Log 文件中包含的详细信息,可以使用 Findstr 命令将信息复制到 Sfcdetails.txt 文件,然后查看 Sfcdetails.txt 中的详细信息。 为此,请按照下列步骤操作:
- 打开上文步骤 1 所述的提升的命令提示符。
- 在命令提示符处,键入以下命令,然后按 Enter 键:findstr /c:”[SR]” %windir%\Logs\CBS\CBS.log >”%userprofile%\Desktop\sfcdetails.txt”注意: Sfcdetails.txt 文件包含每次在计算机上运行系统文件检查器工具时的详细信息。 文件包括有关系统文件检查器工具未修复文件的信息。 验证日期和时间项以确定该问题文件为你上次运行系统文件检查器工具时找到的文件。
- 从你的桌面打开 Sfcdetails.txt 文件。
- Sfcdetails.txt 文件使用以下格式:日期/时间 SFC 详细信息 以下示例日志文件包含无法修复的文件的条目: 2007-01-12 12:10:42, 信息 CSI 00000008 [SR] 无法 修复辅助功能的成员文件 [l:34{17}]“Accessibility.dll”,版本 = 6.0.6000.16386,pA = PROCESSOR_ARCHITECTURE_MSIL (8) ,区域性中性, VersionScope neutral, PublicKeyToken = {l:8 b:b03f5f7f11d50a3a}, Type neutral、TypeName neutral、PublicKey neutral in the store, file is missing
- 获得损坏的系统文件的管理所有权。 为此,在提升的命令提示符处,复制并粘贴(或键入)以下命令,然后按 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 目标 注意 Source_File 占位符表示计算机上文件已知正常副本的路径和文件名, 目标 占位符表示损坏文件的路径和文件名。 例如,键入具有管理员权限的命令提示符
copy E:\temp\jscript.dll C:\windows\system32\jscript.dll。