DISM(Deployment Image Servicing and Management)可以编辑WIM,安装,卸载,配置WinRE或者WinPE,也可以用来部署系统。它通常存在于C:\Windows\system32路径下(若是WinPE环境,则路径为X:\Windows\system32)。以管理员权限运行cmd或者powershell可以直接调用。简单整理了一部分常用的命令。
第一部分 如何在WinPE环境下安装系统篇
-
查看镜像版本:DISM.exe /Get-WimInfo /WimFile:D:\OS\OS.wim 此命令是获取D:\OS\OS.WIM里的信息,比如包含有哪个版本,以确认后续安装时的索引号。以Windows Server 2019镜像为例:
-
解压镜像到系统盘: Dism /apply-image /imagefile:install.wim /index:2 /ApplyDir:C:\ 此命令是将D:\OS\OS.WIM里索引2的系统解压到C盘内,此命令需要在WinPE下执行。如何获取WinPE环境:
这里是引用如何获取WinPE环境
- 写入启动项: x86系统:C:\Windows\System32\bcdboot C:\Windows /l en-US
x64系统: C:\Windows\SysWOW64\bcdboot C:\Windows /l en-US
第二部分 如何向WinPE的WIM文件中添加驱动以及组件
-
获取指定路径下的Wim信息,以Wim存在于D:\OS\WinPE.wim下为例: DISM.exe /Get-WimInfo /WimFile:D:\OS\WinPE.wim
-
装载WinPE映像: Dism /Mount-Image /ImageFile:D:\OS\WinPE.wim /index:1 /MountDir:D:\temp\mount,将索引1的映像装载至D:\temp\mount路径下。此步骤需确认wim路径以及装载路径正确。
-
将指定的驱动添加至映像中: Dism /Image:D:\temp\mount /Add-Driver /Driver:C:\drivers\mydriver.inf
若装载的指定文件夹下的驱动,则命令位: Dism /Image:D:\temp\mount /Add-Driver /Driver:c:\drivers /Recurse
如果需要加载未签名的驱动程序,则需添加 /ForceUnsigned参数。
添加完,可以使用DISM /image:d:\temp\mount /get-drivers 查看加载的所有第三方驱动列表 -
将指定的cab添加至映像中,以添加"WinPE-HTA.cab"为例:dism /image:D:\temp\mount /add-package /packagepath:“WinPE-HTA.cab”
-
保存更改并卸载映像: Dism /Unmount-Image /MountDir:D:\temp\mount /Commit
第三部分 如何删除WinPE中的驱动
-
获取指定路径下的Wim信息,以Wim存在于D:\OS\WinPE.wim下为例: DISM.exe /Get-WimInfo /WimFile:D:\OS\WinPE.wim
-
装载WinPE映像: Dism /Mount-Image /ImageFile:D:\OS\WinPE.wim /index:1 /MountDir:D:\temp\mount,将索引1的映像装载至D:\temp\mount路径下。此步骤需确认wim路径以及装载路径正确。
-
查看已加载的所有第三方驱动程序: DISM /image:d:\temp\mount /get-drivers
-
从映像中删除指定的驱动: Dism /Image:C:\test\offline /Remove-Driver /Driver:OEM1.inf /Driver:OEM2.inf
删除启动所必须的驱动可能会导致映像无法正常启动。 -
保存更改并卸载映像: Dism /Unmount-Image /MountDir:D:\temp\mount /Commit
第四部分 DISM系统下常用的命令
- 当卸载失败或者挂载时命令窗口关闭导致挂载目录中有残留文件和目录时,可以使用以下命令清除状态。否则可能影响下一次挂载:
dism /cleanup-mountpoints - 在系统下获取安装的第三方驱动信息:dism /online /get-drivers
- 删除与已损坏的已安装WIM映像关联的资源:dism /Cleanup-wim
- 恢复孤立的WIM安装目录:dism /remount-wim /mountdir:d:\temp\mount