维护 Windows 映像和组件存储,修复系统更新与驱动。
dism(Deployment Image Servicing and Management)管理 Windows 映像和组件存储:在线修复系统健康、清理被取代的组件、查看和导入驱动、启用系统功能,以及挂载/修改离线 WIM。系统更新失败、sfc 无法修复、组件存储损坏时,通常先用它。
边界:DISM 修复的是组件存储和系统映像,不修文件系统(用 chkdsk)、不修用户数据、也不替代驱动厂商的安装程序。/restorehealth 默认从 Windows Update 取源,断网或代理受限时会失败,需要挂载同版本 ISO 指定 /source。清理命令会真实删除组件,尤其 /resetbase 不可逆。
Windows 10/11 行为一致;Windows 11 24H2 起 WMIC 默认不再安装,但 DISM 仍是系统自带工具。PowerShell 有 Get-WindowsImage、Repair-WindowsImage 等 cmdlet,适合对象化操作;传统脚本和离线维护仍广泛使用 dism.exe。
影响范围:
/restorehealth会修改在线系统组件存储;/startcomponentcleanup /resetbase会删除被取代的组件,导致已安装更新无法卸载;/add-driver会向系统注入驱动。前置条件:管理员权限、足够磁盘空间、与系统版本/语言匹配的安装源(离线修复时)、停机窗口和备份/还原点。恢复方式:/resetbase不可逆,只能靠系统还原、备份或重装;驱动问题可用/remove-driver回退;操作前记录dism /online /get-drivers和更新历史。
# 1. 快速检查组件存储是否被标记为损坏(秒级)
dism /online /cleanup-image /checkhealth
# 2. 完整扫描组件存储,耗时较长但不修复
dism /online /cleanup-image /scanhealth
# 3. 在线修复组件存储(默认从 Windows Update 取源)
dism /online /cleanup-image /restorehealth
# 4. 断网/代理环境:用同版本 ISO 的 install.wim 作修复源
dism /online /cleanup-image /restorehealth /source:E:\Sources\install.wim /limitaccess
# 5. 清理被取代的组件,释放 WinSxS 空间
dism /online /cleanup-image /startcomponentcleanup
# 6. 危险:/resetbase 后无法卸载已安装更新;先备份并确认不需要回滚
dism /online /cleanup-image /startcomponentcleanup /resetbase
# 7. 导出/查看第三方驱动,重装或回滚前留底
dism /online /export-driver /destination:C:\Temp\DriversBackup
dism /online /get-drivers /format:table
# 8. 启用系统功能(以 .NET 3.5 为例),源路径按实际 ISO 调整
dism /online /enable-feature /featurename:NetFx3 /all /source:E:\Sources\sxs /limitaccess
0x800f081f(找不到源文件):组件存储损坏且 Windows Update 不可用或被代理拦截;挂载同版本 ISO,用 /source:...\install.wim 或 sxs,并加 /limitaccess。/restorehealth 卡在 20%/62.3% 很久:正常,不要中断;先确认磁盘空间和网络。中断后可以重跑,但可能更慢。The source files could not be found:源版本、语言或 edition 与系统不匹配;用 dism /get-wiminfo 确认版本,选对 /index:N。/resetbase 不可逆:之后无法卸载任何已安装更新,系统还原点也可能无法回滚组件;生产机除非明确要缩小映像,否则不要执行。/startcomponentcleanup 可能与自动维护竞争并占用大量 CPU/磁盘;先 /analyzecomponentstore 看是否值得清理,并在维护窗口执行。/image:C:\ 要求该 Windows 未运行;在线系统只能用 /online,混用会报错。%ERRORLEVEL%,不要只看最后一行输出。dism /online /remove-driver /driver:oemXX.inf 回退,先记录 oem 编号和原始驱动。dpkg — Debian 包管理/修复对照apt-get — Debian 包安装与修复对照boot-failure — 启动失败排查路径合上页面,先回答,再展开对照。
0x800f081f 时应该怎么处理?/startcomponentcleanup /resetbase 很危险?/source)并加 /limitaccess,或先恢复 Windows Update 网络。dism /online /cleanup-image /restorehealth,再 sfc /scannow。
小程序版
微信扫码,随时查命令