DISM 是 Windows 7+ 系统自带的命令行工具,也集成于 Windows ADK 和 WinPE。用于服务和管理 Windows 映像、更新包、驱动程序、语言包,以及修复系统健康、清理 WinSxS 存储。
查看 ADK 下载
DISM 不是清理工具,而是映像维护框架。以下功能均通过命令行实现,离线或在 WinPE 中运作。
将 .wim / .vhd / .vhdx 挂载到本地目录,添加或移除驱动、更新包、语言包,修改后保存,整个过程不启动目标系统。
WinSxS 组件存储随更新累积变大。DISM 提供 /StartComponentCleanup 和 /ResetBase,安全回收旧版本组件,释放 C 盘空间。
在线或离线检查系统映像损坏,使用 /RestoreHealth 从 Windows 更新或本地源修复,解决系统文件缺失问题。
将运行中的系统或挂载的目录捕获为 .wim 文件,或快速应用映像到分区,是批量部署和备份的核心步骤。
不是日常清理,而是系统维护、部署、排错时的关键工具。
为预安装的 Windows 映像批量添加存储或网卡驱动,适用于新硬件部署,无需额外 PE 环境。
服务器或长期不清理的 WinSxS 可能占几十 GB,使用 /StartComponentCleanup /ResetBase 安全回收。
系统无法启动时,从 WinPE 启动 DISM 对离线系统运行 /RestoreHealth,修复损坏系统文件。
将参考机系统捕获为 .wim,然后应用到多台同硬件电脑,实现标准化部署。
这些都是命令行爱好者、系统管理员的使用心得。
DISM 是我在 PE 下的主力工具,挂载映像、注入驱动、清理 WinSxS,一套命令就能完成。比第三方 GUI 工具更可控。
WinSxS 清理用 /StartComponentCleanup 后 C 盘从 60G 降到 40G,而且系统完全正常。之前用第三方工具总怕误删。
最常用的是 /RestoreHealth 修复系统,配合本地源文件,很多“蓝屏”或“文件缺失”问题都能救回来,比重装省时间。
我把 DISM 命令写成脚本,在 WinPE 启动时自动挂载映像、打补丁、卸载,批量部署效率提升 60%。
不堆砌参数,讲明白它怎么运作的。
DISM 将 .wim 中的文件系统映射到本地目录,类似“沙盒”。你添加驱动或更新包,实际在挂载目录操作,最后 /Commit 才写入 .wim 文件,避免直接破坏原始映像。
Windows 组件版本有硬链接和引用计数。/StartComponentCleanup 标记旧版本,当没有引用时移除。/ResetBase 将当前版本设为基准,进一步清理。这些操作经过微软测试,不会影响系统运行。
对比系统文件与 Windows 更新源(或指定 /Source 路径),发现哈希不一致或缺失则从源复制。如果源不完整,会尝试从 Windows 更新下载,确保文件完整。
在线服务直接作用于运行中的系统,需要管理员权限;离线服务通过 /Image 指定目录,针对挂载的或未启动的映像,常用于 WinPE 环境,避免文件被占用。
SFC 侧重系统文件完整性校验,DISM 则提供更底层的映像修复和组件管理。通常先用 DISM /RestoreHealth 修复映像,再用 SFC 校验系统文件,二者配合使用。