使用DISM解决SFC无法解决的问题

尝试消除问题的工具

Windows支持论坛上的一个常见建议是扫描系统中的文件完整性问题 使用命令sfc / scannow 您可以在活动系统上运行 而且在外部驱动器上

SFC代表系统文件检查器,它是一个内置的管理工具,用于验证操作系统文件的完整性并修复损坏,损坏或更改的文件。

SFC扫描具有三种可能的结果:

  1. 扫描未发现任何问题。
  2. 扫描确实发现并解决了问题。
  3. 扫描确实发现了问题,无法修复(Windows资源保护找到了损坏的文件,但无法修复其中的一些文件)。

注意 注意:建议您在运行DISM之前对Windows系统分区进行完整备份。使用免费的备份解决方案,例如 r反射 , Veeam端点备份 , 要么 其他备份工具

如果SFC / Scannow无法纠正问题,请使用DISM

sfc scannow

上面显示的屏幕快照显示了SFC无法纠正其检测到的损坏文件的结果。

SFC可能还会纠正问题,但可能无法通过运行它首先解决您尝试纠正的问题。

在这种情况下,DISM可以提供帮助。部署映像服务和管理(DISM)是Windows的命令行程序,具有多种用途,从Windows 7和Windows Server 2008开始的所有版本的Windows中都可用。

您需要从提升的命令提示符下运行DISM:

  1. 点击Windows键以调出开始菜单。
  2. 键入cmd.exe,然后等待结果填充。
  3. 右键单击名为cmd.exe的结果,然后选择“以管理员身份运行”以提升的特权运行它。

DISM可以干模式运行以揭示损坏,而无需尝试解决发现的问题。我建议您在运行修复操作之前先检查运行状况,以了解是否存在损坏。

Dism /在线/ Cleanup-Image / CheckHealth

dism checkhealth

该命令检查映像中是否存在损坏标志,并将其发现返回给您,但不运行修复操作。

扫描时间不应超过一两秒。先前的操作可能已将图像标记为损坏。

Dism /在线/ Cleanup-Image / ScanHealth

dism scanhealth

该命令扫描组件存储损坏,但不纠正任何问题。

扫描需要更长的时间才能完成,并且扫描的结果将在命令提示符窗口中返回。

DISM /在线/ Cleanup-Image / RestoreHealth

dism restorehealth

/ RestoreHealth参数运行扫描以检查是否损坏,并尝试修复它自动发现的所有问题。

如果在扫描图像期间发现损坏,则扫描需要更长的时间才能完成。请注意,有时操作可能会卡住,但这不必担心,因为扫描应在片刻后自动开始。

如果扫描发现损坏,则默认情况下它将尝试使用Windows Update纠正问题。

DISM高级命令

  • 修复脱机映像 :Dism / Image:C: offline / Cleanup-Image / RestoreHealth
  • 使用其他维修来源 :Dism / Online / Cleanup-Image / RestoreHealth / Source:d: test mount windows
  • 防止使用Windows Update :/ LimitAccess作为参数。

组策略

您可以使用组策略指定其他来源。

dism repair policy

为此,请执行以下操作:

  1. 点击Windows键以调出开始菜单。
  2. 键入gpedit.msc,然后按Enter键以打开组策略编辑器。请注意,它仅在Windows的专业版或企业版中可用。
  3. 转到计算机配置>管理模板>系统。
  4. 双击“指定可选组件安装和组件修复的设置”。
  5. 将策略设置为启用,并进行相应配置。
  6. 您需要指定备用源,并且可能会阻止Windows Update的使用。默认情况下,配置为使用WSUS的系统可以配置为使用Windows Update进行修复操作。

使用PowerShell进行Dism

您也可以在Windows PowerShell中使用DISM。命令略有不同。

  • 检查健康 :修复-WindowsImage -CheckHealth
  • 扫描健康 :修复-WindowsImage -ScanHealth
  • 恢复健康 :修复-WindowsImage -RestoreHealth

DISM教学视频

相关文章