部署映像服务和管理DISM.exe是一个命令行工具,使用它可以准备Windows映像并为其提供服务,包括用于Windows PE、Windows恢复环境 (Windows RE)和Windows 安装程序的映像。 DISM 可用来维修Windows系统组件, 映像 (.wim) 或虚拟硬盘(.vhd 或 .vhdx)。 DISM 内置于 Windows 系统中,可通过cmd命令行或从PowerShell使用。
使用 DISM 修复 Windows 映像。 可以修复 WIM 或 VHD 文件中的脱机 Windows 映像或联机 Windows 映像。 如果联机 Windows 映像变得无法使用,它也会尝试对其进行自我修复。 此操作的修复源与用于按需功能的源相同,并由组策略设置确定。
[如果您认为本文章帮助到了您,请在文章末尾“打赏”作者,感谢!]
给大家快速分享一些DISM常用的,用于offline离线修复Windows系统的命令:
(文章中的X:表示为Windows目录所在的盘符)
应用场景:
场景1. 如果Windows系统可以启动,但是部分功能运行异常,此时使用在线方法检查和修复系统组件/镜像:
## Run command for verify/restore image health: dism /online /cleanup-Image /ScanHealth dism /online /cleanup-image /restorehealth
场景2. 如果Windows系统因为系统组件丢失或者异常导致无法正常启动,可以在WinPE/WinRE下使用Offline离线方式进行扫描/修复:
## To scan an offline image: Dism /Image:X:\ /Cleanup-Image /ScanHealth ## To repair the windows components/image: Dism /Image:X:\ /Cleanup-Image /RestoreHealth
场景3. 如果Windows系统因为系统组件丢失或者异常导致无法正常启动,并且使用Offline的方式提示需要指定Source,此时可以尝试一下方法从安装光盘(iso)的Wim中恢复:
## To repair an offline image from DVD with wim installation file: DISM /Image:X:\ /Cleanup-Image /RestoreHealth /Source:wim:F:\Sources\install.wim:1 /LimitAccess
场景4. 如果Windows系统因为系统组件丢失或者异常导致无法正常启动,并且使用Offline的方式提示需要Source,并且没有合适的安装光盘(iso),可以尝试从一个相同环境的OS中进行恢复:
(Azure VM环境下可以使用相同OS版本的HostOS对BrokenOS进行恢复)
## To repair an offline image from Host Windows folder: DISM /Image:X:\ /Cleanup-Image /RestoreHealth /Source:F:\windows /LimitAccess
场景5. 当使用从安装光盘的Wim中恢复时,有些光盘镜像的wim拥有多个版本,此时需要运行以下命令检查版本ID以便找到相符合的系统版本:
## What is wim:1? Check the wim info first: dism /Get-WimInfo /WimFile:E:\sources\install.wim
场景6. 当遇到WinSxS损坏或者需要清理这个目录以便于减小磁盘空间占用时,可以运行以下命令清理WinSxs组件:
## To Cleanup the WinSxS: Dism /Image:X:\ /Cleanup-Image /Startcomponentcleanup
场景7. 当遇到因为未完成的Windows Update导致系统无法启动的状况时,运行以下命令检查最近安装了哪些Patch补丁:
## To Check installed package and export as a log: Dism /image:X:\ /get-packages /format:table>X:\packagelist.log ## To Open&Read the log: notepad X:\packagelist.log
场景8. 当遇到因为未完成的Windows Update导致系统无法启动的状况时,执行以下命令尝试恢复未完成的补丁动作:
## To revert pending update actions: dism /image:X:\ /cleanup-image /revertpendingactions
场景9. 当遇到因为未完成的Windows Update导致系统无法启动的状况时,运行以下命令以便移除受影响的Patch补丁包:
## To Remove package by offline: dism /Image:X:\ /Remove-Package /PackageName:Package_for_KB4xxxxxxxx
场景10. 需要测试指定Windows update patch或者某些Patch无法使用双击安装时(例如Hyper-V Integration Services),运行以下命令以便强制安装:
## To Install a windows patch manually: dism /Image:X:\ /add-package /packagepath:"C:\windows6.x-hypervintegrationservices-x64.cab"
DISM执行失败:
如果遇到执行失败,请参照日志c:\windows\logs\dism\dism.log以便获得更多详细的信息。
参考文档:
DISM 概述 | Microsoft Docs
修复 Windows 映像 | Microsoft Docs
DISM 操作系统包 (.cab 或 .msu) Servicing Command-Line 选项 | Microsoft Docs
清理 WinSxS 文件夹 | Microsoft Docs
(END)
文章撰写:AndyX,来自AndyX.Net。本文由AndyX收集整理发布。