当关键的 Windows 系统文件丢失或损坏时,某些 Windows 功能可能会停止正常工作,或者 Windows 可能会完全停止响应。 如果发生这种情况,可以使用部署映像服务和管理工具 (DISM) 和系统文件检查器工具 (SFC) 扫描系统文件并还原任何损坏或丢失的文件。
步骤 1:运行 DISM
DISM 提供修复损坏的文件所需的文件。 应在运行系统文件检查器之前运行 DISM。 为此:
-
打开提升的命令提示符。
-
在“搜索”框中键入 cmd。
-
在搜索结果中,右键单击“ 命令提示符”,然后选择“ 以管理员身份运行”。
-
如果系统提示确认或管理员密码,请键入密码,或单击“ 允许”。
-
-
在 “命令提示符” 窗口中,键入以下命令,然后按 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 映像。
步骤 2:运行系统文件检查器
在 “命令提示符” 窗口中,键入以下命令,然后按 Enter:
sfc /scannow
警告: 在验证 100% 完成之前,请勿关闭此命令提示符窗口。
sfc /scannow 命令将扫描所有受保护的系统文件,并将损坏的文件替换为缓存的副本。 此过程完成后,将显示扫描结果。 你可能会收到以下消息之一:
扫描结果消息 |
相应操作 |
---|---|
Windows 资源保护找不到任何完整性冲突。 |
没有任何丢失或损坏的系统文件。 |
Windows 资源保护无法执行请求的操作。 |
若要解决此问题,请在 安全模式下执行系统文件检查器扫描。 确保 PendingDeletes 和 PendingRenames 文件夹位于 %WinDir%\WinSxS\Temp 下。 %WinDir% 占位符表示 Windows 操作系统文件夹,例如 C:\Windows。 |
Windows 资源保护发现损坏的文件并成功修复了这些文件。 |
操作成功。 若要查看有关系统文件扫描和还原的详细信息,请转到 如何查看系统文件检查器进程的详细信息。 |
Windows 资源保护发现损坏的文件,但无法修复其中一些文件。 |
若要手动修复损坏的文件,请查看系统文件检查器进程的详细信息查找损坏的文件,然后手动将损坏的文件替换为已知完好的文件副本。 |
更多信息
查看 CBS 中包含的详细信息。日志文件 ,请按照以下步骤将日志中的信息复制到桌面上的可查看文本文件:
-
如前所述,打开提升的命令提示符。
-
在 “命令提示符” 窗口中,在一行) 上键入以下命令 (,然后按 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 中性,PublicKeyToken = {l:8 b:b03f5f7f11d50a3a},类型中性, TypeName neutral,Store 中的 PublicKey neutral,文件缺失
查看日志文件以确定哪个系统文件已损坏且无法修复后,找到损坏的文件所在的位置,然后手动将损坏的文件替换为该文件的已知良好副本。
为此,请按照以下说明进行操作。 在以下命令中,<Path_And_File_Name> 占位符表示已损坏文件的路径和文件名。
注意: 你可以从运行与你的计算机相同的 Windows 版本的另一台计算机获取系统文件的已知良好副本。 你可能希望在该计算机上执行系统文件检查器进程,以确保要复制的系统文件是一个良好的副本。
步骤 1:获取损坏的系统文件的管理所有权。
在提升的命令提示符中键入以下命令,然后按 Enter:
takeown /f <Path_And_File_Name>
示例:
takeown /f C:\windows\system32\jscript.dll。
步骤 2:授予管理员对损坏的系统文件的完全访问权限。
键入以下命令,然后按 Enter 键:
icacls <Path_And_File_Name> /grant administrators:F
示例:
icacls C:\windows\system32\jscript.dll /grant administrators:F
步骤 3:将损坏的系统文件替换为该文件的已知良好副本。
键入以下命令,然后按 Enter 键:
复制 <Source_File> <目标>
在上述命令中,将 <Source_File> 占位符替换为计算机上文件的已知良好副本的路径和文件名,并将 <Destination> 占位符替换为损坏的文件的路径和文件名。
示例:
复制 E:\temp\jscript.dll C:\windows\system32\jscript.dll
如果上述步骤不起作用,则可能需要重新安装 Windows。 有关详细信息,请参阅 Windows 中的恢复选项。