详细的教程,教你如何使用 DISM (部署映像服务和管理) 工具,离线地添加或删除 Windows 映像中的包。
DISM Image Management Command-Line Options | 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:查看映像信息
获取映像索引号(用于多版本系统)
cmd
复制
dism /Get-ImageInfo /ImageFile:"D:\sources\install.wim"
输出结果会显示映像的索引号(如 Index: 1 对应 Windows 专业版)。
步骤 2:挂载映像
cmd
复制
dism /Mount-Image /ImageFile:"D:\sources\install.wim" /Index:1 /MountDir:"C:\Mount" /CheckIntegrity /Verify
参数说明:
/Index:1: 选择映像的索引号。
/MountDir: 指定挂载目录(需为空文件夹)。
/CheckIntegrity 和 /Verify: 可选,用于校验映像完整性。
步骤 3:管理包
添加包
cmd
复制
dism /Image:"C:\Mount" /Add-Package /PackagePath:"D:\packages\package.cab"
若要添加多个包,可指定文件夹路径并使用通配符:
cmd
复制
dism /Image:"C:\Mount" /Add-Package /PackagePath:"D:\packages\*.cab"
删除包
列出已安装的包(查找包名称):
cmd
复制
dism /Image:"C:\Mount" /Get-Packages
根据包名称删除:
cmd
复制
dism /Image:"C:\Mount" /Remove-Package /PackageName:Package_for_KB1234567~31bf3856ad364e35~amd64~~10.0.1.0
步骤 4:保存更改并卸载映像
cmd
复制
dism /Unmount-Image /MountDir:"C:\Mount" /Commit
/Commit: 保存更改。若放弃更改则使用 /Discard。
步骤 5:验证操作
重新挂载映像或检查映像文件大小,确认更改已生效。
常见问题
挂载失败
确保挂载目录为空且有写入权限。
检查映像文件是否损坏:dism /Check-Image /ImageFile:"D:\sources\install.wim"
包依赖错误添加包时若提示依赖缺失,需按顺序安装依赖包(通常按文件名排序)。
映像占用问题卸载前确保所有程序未访问挂载目录。
高级操作
清理映像(减少体积):
cmd
复制
dism /Image:"C:\Mount" /Cleanup-Image /StartComponentCleanup /ResetBase
导出为新的映像文件:
cmd
复制
dism /Export-Image /SourceImageFile:"D:\sources\install.wim" /SourceIndex:1 /DestinationImageFile:"D:\new.wim"
通过以上步骤,你可以离线修改 Windows 映像中的包配置,适用于系统部署、定制或修复场景。
详细的教程,教你如何使用 DISM (部署映像服务和管理) 工具,离线地添加或删除 Windows 映像中的包。
1. 使用 DISM 添加包到脱机映像
获取映像信息
首先,使用以下命令来检索你要修改的映像的名称或索引号:
bashCopy Code
Dism /Get-ImageInfo /ImageFile:C:\test\images\install.wim
挂载映像
接着,挂载目标 Windows 映像:
bashCopy Code
Dism /Mount-Image /ImageFile:C:\test\images\install.wim /Name:"Windows 7 HomeBasic" /MountDir:C:\test\offline
添加包
然后,使用以下命令来添加包。你可以一次性添加多个包:
bashCopy Code
Dism /Image:C:\test\offline /Add-Package /PackagePath:C:\packages\package1.cab /PackagePath:C:\packages\package2.cab
提交更改并卸载映像
最后,提交更改并卸载映像:
bashCopy Code
Dism /Unmount-Image /MountDir:C:\test\offline /Commit
2. 使用 DISM 从脱机映像中删除包
获取映像信息
首先,获取映像信息:
bashCopy Code
Dism /Get-ImageInfo /ImageFile:C:\test\images\install.wim
挂载映像
接着,挂载目标映像:
bashCopy Code
Dism /Mount-Image /ImageFile:C:\test\images\install.wim /Name:"Windows 7 HomeBasic" /MountDir:C:\test\offline
列出包
可选步骤:查看映像中已安装的包:
bashCopy Code
Dism /Image:C:\test\offline /Get-Packages
你可以使用 > featurelist.txt 将输出重定向到文件中保存。
删除包
删除包时,指定包标识:
bashCopy Code
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
提交更改并卸载映像
最后,提交更改并卸载映像:
bashCopy Code
Dism /Unmount-Image /MountDir:C:\test\offline /Commit
3. 使用 DISM 和答案文件脱机添加或删除包
创建答案文件
打开 Windows SIM (Windows 系统映像管理器)。
要添加包,点击“插入” -> “包”,选择包并打开。
要删除包,选择包,设置“操作”属性为“删除”。
应用答案文件
使用以下命令将无人参与答案文件应用于映像:
bashCopy Code
DISM /Image:C:\test\offline /Apply-Unattend:C:\test\answerfiles\myunattend.xml
提交更改并卸载映像
最后,提交更改并卸载映像:
bashCopy Code
Dism /Unmount-Image /MountDir:C:\test\offline /Commit
注意事项
Windows ADK 是使用 DISM 必需的工具包,你需要确保安装了最新版本。
确保在使用 DISM 时遵循正确的包安装顺序,特别是在依赖关系较复杂时,建议使用无人参与的答案文件。