详细的教程,教你如何使用 DISM (部署映像服务和管理) 工具,离线地添加或删除 Windows 映像中的包。
DISM Image Management Command-Line Options | Microsoft Learn
使用 DISM 预安装应用 | Microsoft Learn
使用 DISM 旁加载应用 | Microsoft Learn
创建包含 Windows 桌面应用程序的预配包 | Microsoft Learn
导出或导入默认的应用程序关联 | Microsoft Learn
DISM(Deployment Imaging Service and Management Tool)命令是Windows操作系统中的一个强大工具,主要用于部署、管理和修复Windows映像。它的功能涵盖了系统映像的维护、组件修复、驱动程序管理等。以下是 DISM 命令在Windows中的发展时间线:
1. Windows Vista(2007年)
- 首次出现:DISM 命令首次引入是在 Windows Vista 中,作为替代旧版的 PEImg 和 Pkgmgr 工具,用于操作和管理Windows映像。
- 主要功能:
- 主要用于处理离线Windows映像(如安装媒体或恢复映像)。
- 可用于挂载、修改和卸载映像文件。
- 可以部署驱动程序和安装Windows更新。
2. Windows 7(2009年)
- 功能增强:Windows 7中对 DISM 工具进行了进一步的改进,增加了更多的功能,特别是在修复和管理Windows映像方面。
- 新增功能:
- 修复Windows映像:通过 DISM,可以修复和更新离线Windows映像。
- 引入了 /RestoreHealth 参数,使得 DISM 可以检查并修复Windows映像中的损坏。
- 增强了映像的挂载和卸载功能,便于部署过程中的管理。
3. Windows 8(2012年)
- 集成和改进:在Windows 8中,DISM 工具得到了更为广泛的应用和优化,尤其是在系统修复和更新方面。
- 新增功能:
- /RestoreHealth 功能被进一步增强,能够扫描系统并修复与Windows映像相关的问题,尤其是修复组件存储中的损坏。
- 加强了对Windows映像(WIM)的管理,提供了更强大的命令行选项。
- 引入了能够直接修复系统文件和组件存储(Component Store)中的错误的能力。
- DISM 被设计为支持对 Windows 8 各种映像进行操作,包括不同版本的安装映像、恢复映像和修复工具。
4. Windows 10(2015年)
- 全面优化:Windows 10对 DISM 工具进行了多项改进,特别是在对系统健康和维护方面的优化,使其成为了更加核心的修复工具。
- 新增功能:
- 提供了 DISM /Online /Cleanup-Image /RestoreHealth 命令,可以直接修复正在运行的操作系统,而不需要进入恢复环境。
- 支持更多功能:Windows 10版本中的 DISM 支持更多的映像部署和更新管理功能。
- 加强了与 SFC(System File Checker)工具的结合,DISM 可以修复由 SFC 检测到的系统文件问题。
- 优化了驱动程序的安装和更新,可以使用 DISM 安装和管理驱动程序文件。
- 对 Windows 10 映像和更新过程提供了更多的修复选项,增强了对硬件设备和组件的支持。
5. Windows Server 2016(2016年)
- 增强的企业级支持:Windows Server 2016引入了对服务器版本的支持,进一步提升了 DISM 的企业级功能,尤其是在部署和修复大型映像时。
- 新增功能:
- 引入了 /ScanHealth 参数,使得 DISM 能够更详细地扫描映像,检测并标记损坏的部分。
- 加强了对 Windows Server 环境中的应用程序和服务修复的支持。
- 改进了映像的挂载和卸载操作,使得它在服务器环境中运行更加高效。
6. Windows 10 版本 1809(2018年)
- 性能和稳定性提升:Windows 10版本1809进一步改进了 DISM 工具的性能和稳定性,尤其是在修复和更新的过程中。
- 新增功能:
- 增加了更多的修复选项,能够更好地与 Windows 更新 集成,帮助用户修复在更新过程中遇到的各种问题。
- 改进了 DISM 在操作系统安装和升级过程中修复问题的能力,尤其是在对大规模更新和修复的支持方面。
7. Windows 10 版本 1903(2019年)
- 进一步增强功能:Windows 10版本1903继续增强 DISM 工具,特别是在 /RestoreHealth 的修复能力和错误报告方面。
- 新增功能:
- 改进了 /RestoreHealth 操作,使其修复过程更加稳定,尤其是在处理大型映像时。
- 引入了更详细的日志记录,帮助管理员和用户更轻松地跟踪和分析修复过程。
- 加强了与 Windows 10 更新管理工具的集成,DISM 成为维护和修复系统映像的重要工具。
8. Windows 10 版本 2004(2020年)
- 修复和优化:Windows 10版本2004进一步改进了 DISM 工具,特别是修复系统组件和映像管理方面。
- 新增功能:
- 支持更多的修复选项:增强了 /RestoreHealth 命令,支持通过更先进的修复选项解决系统映像中的问题。
- 强化了 Windows 10 中 DISM 与 Windows 更新的整合,确保更新过程中不出现映像损坏。
9. Windows 11(2021年)
- 持续优化:Windows 11继续加强 DISM 工具,提供更强大的修复和管理功能,尤其是在系统映像的健康和更新方面。
- 新增功能:
- 提供了更细粒度的修复选项,允许用户对映像进行深度修复,尤其是在安装新的功能更新时。
- 支持 Windows 11 特有的新功能和组件,确保操作系统在全新硬件和配置上的兼容性。
DISM 自首次在 Windows Vista 中亮相以来,已经经历了多次重大的功能增强和改进。它从一个主要用于部署和管理Windows映像的工具,发展成了一个可以直接修复运行系统、处理组件存储、安装驱动程序等的强大工具。随着 Windows 10 和 Windows 11 的发布,DISM 逐步成为系统维护和修复的重要工具,尤其是在面对更新和升级时的系统修复任务。
使用 DISM 工具离线添加或删除 Windows 映像包的详细教程:
准备工作
-
以管理员身份运行命令提示符
右键点击“开始菜单” → 选择“Windows 终端(管理员)”或“命令提示符(管理员)”。 -
准备 Windows 映像文件
确保你有以下文件:-
Windows 映像文件(
.wim或.esd),通常位于安装介质的sources目录下(如install.wim)。 -
要添加的包文件(
.cab或.msu格式)。
-
-
创建临时文件夹
创建一个空文件夹用于挂载映像(例如C:\Mount)。
步骤 1:查看映像信息
获取映像索引号(用于多版本系统)
dism /Get-ImageInfo /ImageFile:"D:\sources\install.wim"
-
输出结果会显示映像的索引号(如
Index: 1对应 Windows 专业版)。
PS C:\Users\Administrator> dism /get-imageinfo /?
部署映像服务和管理工具 版本: 10.0.26100.1150
dism /get-imageinfo /Get-ImageInfo /ImageFile:<image_file> [/Index:<image_index> | /Name:<image_name>]
显示有关指定的 WIM 或 VHD 文件中包含的映像的信息。
示例:
DISM.exe /Get-ImageInfo /ImageFile:C:\test\images\myimage.wim
DISM.exe /Get-ImageInfo /ImageFile:C:\test\images\myimage.vhd /Index:1
DISM.exe /Get-ImageInfo /ImageFile:C:\test\images\myimage.ffu
步骤 2:挂载映像
dism /Mount-Image /ImageFile:"D:\sources\install.wim" /Index:1 /MountDir:"C:\Mount" /CheckIntegrity /Verify
-
参数说明:
-
/Index:1: 选择映像的索引号。 -
/MountDir: 指定挂载目录(需为空文件夹)。 -
/CheckIntegrity和/Verify: 可选,用于校验映像完整性。
-
PS C:\Users\Administrator> dism /mount-image /?
部署映像服务和管理工具 版本: 10.0.26100.1150
dism /mount-image /Mount-Image /ImageFile:<path_to_image_file>[/Index:<image_index> | /Name:<image_name>]
dism /mount-image /MountDir:<target_mount_directory> [/ReadOnly] [/Optimize] [/CheckIntegrity] [/EA]
将映像装载到指定目录,以便可以用于服务。装载映像时请使用 /Optimize 以减少初始装载时间。如果检测到 WIM 文件损坏,请使用 /CheckIntegrity 停止操作。请使用 /ReadOnly 将装载的映像设置为具有只读权限。请使用 /EA 装载扩展属性。具有多个映像的文件需要指定 /Index 或 /Name。
示例:
DISM.exe /Mount-Image /ImageFile:C:\test\images\myimage.wim /Index:1 /MountDir:C:\test\offline
DISM.exe /Mount-Image /ImageFile:C:\test\images\myimage.vhd /Index:1 /MountDir:C:\test\offline /ReadOnly
步骤 3:管理包
添加包
dism /Image:"C:\Mount" /Add-Package /PackagePath:"D:\packages\package.cab"
-
若要添加多个包,可指定文件夹路径并使用通配符:
dism /Image:"C:\Mount" /Add-Package /PackagePath:"D:\packages\*.cab"
删除包
-
列出已安装的包(查找包名称):
dism /Image:"C:\Mount" /Get-Packages -
根据包名称删除:
dism /Image:"C:\Mount" /Remove-Package /PackageName:Package_for_KB1234567~31bf3856ad364e35~amd64~~10.0.1.0
步骤 4:保存更改并卸载映像
dism /Unmount-Image /MountDir:"C:\Mount" /Commit
-
/Commit: 保存更改。若放弃更改则使用/Discard。
PS C:\Users\Administrator> dism /Unmount-Image /?
部署映像服务和管理工具 版本: 10.0.26100.1150
dism /Unmount-Image /Unmount-Image /MountDir:<target_mount_directory> {/Discard |/Commit [/Append] [/CheckIntegrity] [/EA]}
卸载 WIM 或 VHD。 使用 /Commit 以保存更改,或者使用 /Discard 以放弃更改。使用 /CheckIntegrity 以检查并跟踪 WIM 文件损坏。使用 /Append 以将映像添加到现有 .wim 文件中。使用 /EA 以保存扩展属性。
示例:
DISM.exe /Unmount-Image /MountDir:C:\test\offline /Commit
DISM.exe /Unmount-Image /MountDir:C:\test\offline /Discard
步骤 5:验证操作
重新挂载映像或检查映像文件大小,确认更改已生效。
常见问题
-
挂载失败
-
确保挂载目录为空且有写入权限。
-
检查映像文件是否损坏:
dism /Check-Image /ImageFile:"D:\sources\install.wim"
-
-
包依赖错误
添加包时若提示依赖缺失,需按顺序安装依赖包(通常按文件名排序)。 -
映像占用问题
卸载前确保所有程序未访问挂载目录。
高级操作
-
清理映像(减少体积):
dism /Image:"C:\Mount" /Cleanup-Image /StartComponentCleanup /ResetBase -
导出为新的映像文件:
dism /Export-Image /SourceImageFile:"D:\sources\install.wim" /SourceIndex:1 /DestinationImageFile:"D:\new.wim"
通过以上步骤,你可以离线修改 Windows 映像中的包配置,适用于系统部署、定制或修复场景。
详细的教程,教你如何使用 DISM (部署映像服务和管理) 工具,离线地添加或删除 Windows 映像中的包。
1. 使用 DISM 添加包到脱机映像
获取映像信息
首先,使用以下命令来检索你要修改的映像的名称或索引号:
Dism /Get-ImageInfo /ImageFile:C:\test\images\install.wim
挂载映像
接着,挂载目标 Windows 映像:
Dism /Mount-Image /ImageFile:C:\test\images\install.wim /Name:"Windows 7 HomeBasic" /MountDir:C:\test\offline
添加包
然后,使用以下命令来添加包。你可以一次性添加多个包:
Dism /Image:C:\test\offline /Add-Package /PackagePath:C:\packages\package1.cab /PackagePath:C:\packages\package2.cab
提交更改并卸载映像
最后,提交更改并卸载映像:
Dism /Unmount-Image /MountDir:C:\test\offline /Commit
2. 使用 DISM 从脱机映像中删除包
获取映像信息
首先,获取映像信息:
Dism /Get-ImageInfo /ImageFile:C:\test\images\install.wim
挂载映像
接着,挂载目标映像:
Dism /Mount-Image /ImageFile:C:\test\images\install.wim /Name:"Windows 7 HomeBasic" /MountDir:C:\test\offline
列出包
可选步骤:查看映像中已安装的包:
Dism /Image:C:\test\offline /Get-Packages
你可以使用 > featurelist.txt 将输出重定向到文件中保存。
删除包
删除包时,指定包标识:
DISM /Image:C:\test\offline /Remove-Package /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0 /PackageName:Microsoft-Windows-MediaPlayer-Package~31bf3856ad364e35~x86~~6.1.6801.0
提交更改并卸载映像
最后,提交更改并卸载映像:
Dism /Unmount-Image /MountDir:C:\test\offline /Commit
3. 使用 DISM 和答案文件脱机添加或删除包
创建答案文件
- 打开 Windows SIM (Windows 系统映像管理器)。
- 要添加包,点击“插入” -> “包”,选择包并打开。
- 要删除包,选择包,设置“操作”属性为“删除”。
应用答案文件
使用以下命令将无人参与答案文件应用于映像:
DISM /Image:C:\test\offline /Apply-Unattend:C:\test\answerfiles\myunattend.xml
提交更改并卸载映像
最后,提交更改并卸载映像:
Dism /Unmount-Image /MountDir:C:\test\offline /Commit
注意事项
- Windows ADK 是使用 DISM 必需的工具包,你需要确保安装了最新版本。
- 确保在使用 DISM 时遵循正确的包安装顺序,特别是在依赖关系较复杂时,建议使用无人参与的答案文件。

浙公网安备 33010602011771号