Windows笔记系统经验菜鸟

快速笔记:分享应用于日常修复Windows组件的常用DISM命令集 By AndyX

部署映像服务和管理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 映像变得无法使用,它也会尝试对其进行自我修复。 此操作的修复源与用于按需功能的源相同,并由组策略设置确定。

快速笔记:分享应用于日常修复Windows组件的常用DISM命令集 By AndyX插图

给大家快速分享一些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收集整理发布。