使用DISM(映像部署工具)和SFC(系统文件检查器)诊断和修复系统

作者:Administrator 发布时间: 2025-03-15 阅读量:22 评论数:0

部署映像服务和管理 (DISM.exe) 是一个命令行工具,使用它可以准备 Windows 映像并为其提供服务,包括用于 Windows PEWindows 恢复环境 (Windows RE)Windows 安装程序的映像。 DISM 可用来维修 Windows 映像 (.wim) 或虚拟硬盘(.vhd 或 .vhdx)。

DISM 内置于 Windows 中,可通过命令行或从 Windows PowerShell 使用。 若要详细了解如何在 PowerShell 中使用 DISM,请参阅 Windows PowerShell 中的部署映像服务管理 (DISM) Cmdlet


引用自Microsoft Learn官方网站

快速检查(CheckHealth)

使用Windows + R快捷键打开「运行」对话框,输入cmd,然后按Ctrl + Shift + Enter以管理员权限打开「命令提示符」。

输入下列命令来检查映像,查看是否检测到任何损坏。

Dism /Online /Cleanup-Image /CheckHealth

深入扫描(ScanHealth)

如果 CheckHealth 没有发现,但 Windows 仍然存在问题,可以使用/ScanHealth参数进行更深入的扫描。

DISM /Online /Cleanup-Image /ScanHealth
此过程耗时较长,扫描完成后,如果发现问题,可以继续执行下一步来修复 Windows 映像。

修复系统 (RestoreHealth)

上述步骤如果发现有文件损坏问题,可以使用修复系统(RestoreHealth)选项修复系统。

DISM /Online /Cleanup-Image /RestoreHealth

注意:此命令需要互联网连接,从 Windows Update 下载修复文件。修复过程耗时较长,请耐心等待。

使用镜像源修复系统

使用 /CheckHealth sfc 参数时,DISM 工具将报告映像是正常、可修复还是无法修复。 如果映像无法修复,应放弃映像并再次开始。 如果映像是可修复的,可以使用 /RestoreHealth 参数来修复映像。默认优先使用Windows Update镜像源:

Dism /Online /Cleanup-Image /RestoreHealth /Source:镜像源路径

如果使用本地文件,请在命令后添加参数/LimitAccess,路径格式如下:

Dism /Online /Cleanup-Image /RestoreHealth /Source:镜像源路径 /LimitAccess

使用sfc工具诊断和修复系统

sfc工具会扫描所有保护的系统文件的完整性,并使用正确的文件版本替换不正确的版本。

命令行:

SFC [/SCANNOW] [/VERIFYONLY] [/SCANFILE=<file>] [/VERIFYFILE=<file>] [/OFFWINDIR=<offline windows directory> /OFFBOOTDIR=<offline boot directory> [/OFFLOGFILE=<log file path>]]

参数解释:

命令参数

命令释义

/SCANNOW

扫描所有保护的系统文件的完整性,并尽可能修复有问题的文件。

/VERIFYONLY

扫描所有保护的系统文件的完整性。不会执行修复操作。

/SCANFILE

扫描引用的文件的完整性,如果找到问题,则修复文件。指定完整路径 <file>

/VERIFYFILE

验证带有完整路径 <file> 的文件的完整性。不会执行修复操作。

/OFFBOOTDIR

对于脱机修复,指定脱机启动目录的位置

/OFFWINDIR

对于脱机修复,指定脱机 Windows 目录的位置

/OFFLOGFILE

对于脱机修复,通过指定日志文件路径选择性地启用记录

部署映像维护和管理 (DISM) 最佳做法

提升命令行工具的权限

包括部署映像维护和管理 (DISM) 在内的许多部署命令行工具都需要提升的权限。

确保具有提升的权限。 单击开始,然后键入 deployment。 右键单击部署和映像工具环境,然后选择以管理员身份运行

即使以管理员身份登录,也必须这样做。

禁用防病毒工具

某些 DISM 命令可能会受到防病毒或反恶意软件工具的影响。 为了提高性能,请在技术人员电脑上将防病毒或反恶意软件工具配置为从扫描中排除装载文件夹。 某些 DISM 命令也可能被防病毒或反恶意软件工具阻止,如果是这种情况,请在技术人员电脑上禁用这些工具。

维护映像

维护 Windows 映像的最佳方式是使用 DISM 脱机维护。 DISM 可用于在 Windows 映像和 Windows 预安装环境 (WinPE) 映像中安装、卸载、配置和更新驱动程序、功能和包,而无需启动映像。

有关详细信息,请参阅 DISM - Windows 的部署映像维护和管理技术参考

你可以在维护期间的任何时候使用 DISM 的 /Commit-Image 选项来保存目前所做的更改。 如果经常提交更改,则可以使用 /Cleanup-Image /RestoreHealth 选项更轻松地恢复损坏的映像。

可以在一台计算机上装载和修改多个映像。 但是,某些功能(例如 /Unmount-Image)的性能可能会降低,具体取决于计算机上的可用内存。 作为最佳做法,不应同时装载超过 20 个映像。

使用日志文件

默认情况下,DISM 会将详细信息记录到 %WINDIR%\Logs\Dism\Dism.log。 你还可以为日志文件指定所选的名称和位置,并设置 /loglevel 参数以便只记录你感兴趣的信息。 发生错误时,控制台会显示错误代码、错误消息以及日志文件的位置。

总结

DISM 概述

  • 定义与功能:部署映像服务和管理 (DISM.exe) 是一个命令行工具,用于准备和维护 Windows 映像,包括 Windows PE、Windows RE 和 Windows 安装程序的映像,可维修 Windows 映像 (.wim) 或虚拟硬盘(.vhd 或 .vhdx)。

  • 使用环境:内置在 Windows 中,可通过命令行或 Windows PowerShell 使用。

映像要求

  • 支持的文件格式:可以从 .wim 文件、.ffu 文件、.vhd 文件或 .vhdx 文件装载 Windows 映像并提供服务,也能更新正在运行的操作系统,但无法用于比所安装的 DISM 版本更新的 Windows 映像。

  • 技术说明与支持平台:有关 WIM 的完整技术说明可参阅相关白皮书,支持的平台和体系结构类型列表可参阅 DISM 支持的平台。

常见服务和管理方案

  • 数据管理:包括枚举或清点映像中的组件、更新、驱动程序或应用程序,捕获或拆分映像,在 .wim 文件中追加或删除映像,以及装载映像等。

  • 映像服务:涵盖添加或删除驱动程序包和驱动程序、修改语言设置、启用或禁用 Windows 功能,以及升级到更高版本的 Windows 等,具体命令和选项取决于映像的操作系统版本和状态。

限制

  • 版本兼容性:只能用于早期或同版本的 Windows 操作系统目标映像,不能用于更新版本的映像。

  • 远程安装限制:不支持通过网络将包安装到远程计算机。

  • 应答文件限制:指定应答文件 (Unattend.xml) 时,仅应用 offlineServicing 配置阶段的设置,其他设置会被忽略,且每次只能指定一个应答文件。

  • 包安装顺序:包按照在命令行中的列出顺序安装,不支持在同一个命令行中指定多个服务命令,也不支持通配符。

DISM 位于何处?

  • Windows 中的位置:位于所有 Windows 10 和 Windows 11 安装的 c:\windows\system32 文件夹中,需从以管理员身份运行的命令提示符处运行。

  • ADK 中的位置:如果使用早期 Windows 版本或需不同版本的 DISM,可从 Windows 评估和部署工具包 (Windows ADK) 中获取,其安装路径为 C:\Program Files (x86)\Windows Kits\<version>\Assessment and Deployment Kit\Deployment Tools\10\DISM,也可将 ADK 版的 DISM 复制到没有 ADK 的电脑。

评论