如何使用 DISM 命令修复 Windows 映像

已发表: 2022-09-02

DISM(部署映像服务和管理)是用于在线和离线健康扫描以及修复受损 Windows 操作系统的尖端实用程序。

什么是 DISM 命令?

您是否在使用 Windows 操作系统 8、8.1、10 或 11 时遇到问题,例如蓝屏、应用程序意外崩溃或实用程序或功能无法正常工作?

DISM(部署映像服务和管理)是 Windows 内置命令行工具,可直接从 Windows 在线服务器修复损坏或损坏的 Windows 操作系统文件和功能。

它用于 .wim、.vhd 或 .vhdx 格式的在线(当前运行的操作系统)和离线 Windows 映像以解决问题。 通过命令行和 Windows PowerShell 访问 DISM。

系统管理员还利用 DISM 实用程序来维护、迁移和创建新映像,尤其是在 Windows PE(预安装环境)、Windows RE(恢复环境)和 Windows 安装期间。

在 2012 年首次在 Windows 8 和 Windows Server 2012 R2 中引入之后,DISM 现在是所有运行最新版本的 Microsoft 操作系统的一部分。

另一个修复损坏的 Windows 文件的程序是 System File Checker (sfc.exe); 但是,它会将损坏的文件与系统保存的 .wim 存储进行比较; 如果后者损坏,证监会可能无法解决问题。 DISM 工具克服了这个问题。 基于保存在 Microsoft 更新服务器上的父副本,它可以扫描和修复 .wim 存储。

在下一节中,我们将了解一些 DISM 命令及其在 PowerShell 和 Windows 命令行中用于扫描和调试 Windows 操作系统的实际应用:

如何通过命令提示符运行 DISM 实用程序

您可以使用命令行启动 DISM 工具并检查和修复 Windows 是否存在错误:

 Enter cmd (a shorthand for command prompt) in the search bar.

如下图所示,右击命令提示符,选择“以管理员身份运行”: 要使用 DISM 命令行程序,您必须是管理员。

如何通过命令提示符运行 DISM 实用程序

下面的部分向我们展示了如何使用多个 DISM 命令来扫描和修复 Windows 问题。

如何使用 DISM 修复 Windows 10?

DISM 使用三个重要参数来扫描、检查和修复损坏或损坏的 Windows 映像,它们是:

ScanHealth、CheckHealth 和 RestoreHealth。

与上面的命令一起使用的还有两个输入用于广泛检查是

用于广泛检查的清理图像

在线检查正在运行的操作系统。

如何使用 DISM CheckHealth 命令?

CheckHealth 参数启动组件存储中损坏的基本检查。 它运行迅速,只搜索已经成为日志文件一部分的错误。 此命令扫描组件存储的一部分。

组件存储跟踪和维护构成 Windows 操作系统的每个组件。 要在线运行 CheckHealth,请在命令提示符处键入以下内容并输入。

 Dism /Online /Cleanup-Image /CheckHealth

扫描完成后,将出现如下所示的窗口:

DISM CheckHealth 命令

如何使用 DISM ScanHealth 命令?

ScanHealth 比 CheckHealth 需要更多时间,因为它会彻底扫描组件存储是否损坏。 完成检查 Windows 组件存储所需的时间取决于您的 Windows 10 操作系统的运行情况。

从命令提示符运行以下命令以开始扫描:

 Dism /Online /Cleanup-Image /ScanHealth

完成扫描后,将出现如下所示的窗口:

DISM ScanHealth 命令

ScanHealth 通过将当前文件的哈希值与存储的哈希值进行比较来检查组件存储中的各个组件是否损坏,这就是 Scanhealth 通常比 CheckHealth 需要更长的扫描时间的原因。

此外,还会生成一个日志文件,可用于故障分析。 如果发生丢失,首先检查DISM.log文件是否存在特定问题。 接下来检查Sessions.xml日志文件,然后是CBS.log文件。

如何使用 DISM RestoreHealth 命令?

RestoreHealth 是继 CheckHealth 和 ScanHealth 之后第三个最重要的 DISM 参数。

它与 DISM 一起使用,使用不同的源文件在线或办公室修复 windows 图像。

以下 Restorehealth 命令用于修复在线操作系统:

 DISM.exe /Online /Cleanup-image /Restorehealth

当您执行此命令时,DISM 使用 Windows 更新来获取必要的文件来修复损坏。 根据损坏的程度,扫描和恢复 Component Store 可能需要一段时间。 从 Windows 更新服务器,DISM 将自动下载并替换损坏或丢失组件的文件。

命令完成后,会出现以下屏幕:

使用 DISM RestoreHealth 命令

Windows 映像的离线修复

上述 DISM 命令是在线的,适用于当前正在运行的 windows 操作系统。

更新、驱动程序、语言包和其他配置任务的添加和删除都可以通过 DISM 离线处理。

现在我们将了解如何使用 DISM 来修复离线 windows 文件。

要执行脱机操作,您可以使用可引导安装光盘、Windows 10 ISO 文件或本地存储的源文件,例如来自另一台设备的“ install.wim ”或“ install.esd ”文件,并作为驱动器安装。

在继续之前,请检查文件是否与需要修复的 Windows 10 版本的版本、版本和语言相匹配。

让我们看一个如何使用 DISM 命令提示符来修复脱机映像的示例。

要修复脱机映像,请从命令提示符运行下面列出的 DISM 命令:

 Dism /Image:C:\offline /Cleanup-Image /RestoreHealth /Source:c:\test\mount\windows\LimitAccess

需要根据脱机映像更改源位置,它通常是 WIM、VHD 或 VHDX 文件。

LimitAccess 告诉DISM不要检查 Windows 更新或 Windows 服务器更新服务的源文件。

如何通过 PowerShell 运行 DISM 实用程序?

在上面的部分中,我们研究了使用 Windows 命令行工具来扫描、识别和解决操作系统问题。 但是,可以使用 Windows PowerShell Cmdlet 完成相同的操作。

在搜索框中键入 PowerShell 命令并使用管理员权限运行它,如下面的屏幕截图所示,以访问 PowerShell Cmdlet。

 powershell
通过 PowerShell 的 DISM 实用程序

DISM PowerShell 的 cmdlet 经常直接匹配 Dism.exe 中的参数。 您可以从 Microsoft 网站获取所有 DISM 命令及其 PowerShell cmdlet 等效项的整个表。

要查看相关语法、开关和参数,请使用 PowerShell 帮助命令“ get-help –examples.xml”。

PowerShell 中使用的一些命令是

  • 对于 CheckHealth:修复-WindowsImage -CheckHealth
  • 对于 ScanHealth:修复-WindowsImage -ScanHealth
  • 对于 RestoreHealth:Repair-WindowsImage -RestoreHealth

如何使用 PowerShell 执行 DISM 命令的示例

键入以下内容以启动 CheckHealth Powershell cmdlet。

 Repair-WindowsImage -online –CheckHealth

命令完成后,会出现如下画面:

PowerShell 执行 DISM 命令

您可以使用 ScanHealth Powershell cmdlet 执行彻底检查和修复,如下所示:

 Repair-WindowsImage -online –ScanHealth

成功运行命令后将出现以下屏幕。

请注意,您必须具有管理权限才能执行这些命令; 否则,您将收到错误消息“请求的操作需要提升”,并且 DISM 命令将不起作用。

您可以在此 Microsoft 页面上找到有关 PowerShell 的 cmdlet 模块的所有信息。

DISM 错误疑难解答

DISM 的目标是自动扫描和修复操作系统。 但有时,它可能会失败。

本节将重点介绍您在运行 DISM 实用程序时可能遇到的一些常见错误。

错误:0x800f0954 – DISM 失败。 没有进行任何操作。

此错误是 DISM 命令失败时出现的常见问题。

当第三方防病毒程序在命令执行期间干扰 DISM 时,会发生此错误。 Active Proxy、windows 更新服务、只读访问install.wim等也可能导致此错误。

让我们看看如何克服这些挑战,使 DISM 成功运行。

防病毒程序的干扰

解决方法:如果停止杀毒后仍然出现错误,您可以在DISM功能完成后卸载并重新安装。 不需要第三方防病毒软件,因为 Microsoft Defender 是 Windows 10 的强大防病毒软件。

损坏的 Windows 更新组件和注册表。

当后台智能传输服务 (BITS)、加密服务 (CryptSvc) 和 Windows 更新服务配置错误时,DISM 将失败。

解决方案:这些服务必须具有自动启动类型和启动状态才能成功运行自动 Windows 更新。 有时,重新启动这些服务也可以解决问题:

DISM 错误疑难解答

禁用代理

您可以使用代理来维护您的隐私,这会阻止 DISM 运行该命令。

解决方法:解决方法是关闭代理,运行DISM工具。

对 Install.wim 的只读访问权限

大多数情况下,直接从 Windows 10 安装 ISO 复制文件install.wim以启动 DISM 脱机扫描。 因为install.wim文件具有只读访问权限,所以 DISM 失败。

解决方案:通过在右键单击install.wim文件时从上下文菜单中选择“属性”导航到“只读”框来删除只读权限。

如何修复 DISM 错误 50

如何修复 DISM 错误 50

DISM 错误 50 是另一种典型的错误类型。 当用户尝试运行以下命令之一时会发生这种情况:

  • Dism /在线 /Cleanup-Image /CheckHealth
  • Dism /在线 /Cleanup-Image /ScanHealth
  • Dism /在线 /Cleanup-Image /RestoreHealth

此错误的主要原因是注册表项放错了位置。

因此,要更正此问题,您必须按如下方式删除此键:

使用命令提示符运行 Regedit 以访问注册表。

导航到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl.

然后,找到 MiniNT 文件夹并将其删除,如下图所示。

验证修改后重新启动 Windows 10 计算机。

验证您的修改后的 Windows 10 计算机

结论

DISM 工具是具有技术背景的专家可以使用的多功能和尖端工具。 它是系统管理员的理想选择。 复杂的工具解决了 SFC 和 CHKDSK 无法修复操作系统问题的组件存储损坏。

您还可以探索一些最佳修复工具来自动解决 Windows 10 问题。