使用 DISM 挂载映像

前言

所有的操作都需要管理员身份,执行前请二选一执行以下操作:

  • 按下 WIN + X 以打开“高级菜单”,选择“终端管理员”,“Windows PowerShell (管理员)”或“命令提示符(管理员)”
  • 按下 WIN + QWIN + S 以打开“Windows 搜索”,输入 wt.exe(终端)、cmd.exe(命令提示符)或 powershell.exe(Windows PowerShell),选择最佳匹配结果并点击“以管理员身份运行”

挂载映像

查询映像内可用版本

1
Dism.exe /Get-WimInfo /WimFile:<映像文件路径>

若我的映像文件路径在 C:\Temp\offline,文件名为 install.wim,则命令如下:

1
Dism.exe /Get-WimInfo /WimFile:C:\Temp\offline\install.wim

Get-WimInfo

使用 /Mount-Image挂载镜像

1
Dism.exe /Mount-Image /Imagefile:<映像文件路径> /Index:<映像索引编号> /MountDir:<挂载目录>

若我的映像文件路径在 C:\Temp\offline,文件名为 install.wim,映像索引编号为 2,挂载目录在 C:\Temp\offline\mount,则命令如下(请确保你没有打开挂载目录,且挂载目录为空

1
Dism.exe /Mount-Image /Imagefile:C:\Temp\offline\install.wim /Index:2 /MountDir:C:\Temp\offline\mount

Mount-Image

提交对映像的更改

1
Dism.exe /Commit-Image /MountDir:<挂载目录>

提交对映像的更改时,可以使用 /CheckIntegrity 来检测和跟踪 .wim 文件损坏情况,应用或装载映像时,请再次使用 /CheckIntegrity,以便在检测到文件损坏时停止操作;但不能对虚拟硬盘 (VHD) 文件使用 /CheckIntegrity 命令

若我的挂载目录在 C:\Temp\offline\mount,则命令如下(请确保你没有打开挂载目录

1
Dism.exe /Commit-Image /MountDir:C:\Temp\offline\mount

Commit-Image

卸载映像

1
Dism.exe /Unmount-Image /MountDir:<挂载目录> {/Commit | /Discard}

/Commit/Discard 参数必须二选一,/Commit 为提交更改,/Discard 为放弃更改,已经提交过的更改不会被放弃

若我的挂载目录在 C:\Temp\offline\mount,并提交更改,则命令如下(请确保你没有打开挂载目录

1
Dism.exe /Unmount-Image /MountDir:C:\Temp\offline\mount /Commit

Unmount-Image

你还可以减少映像占用空间

在使用 /ResetBase 参数前,请充分阅读:使用 DISM 清理 WinSxS 文件夹

1
Dism.exe /Image:<挂载目录> /Cleanup-Image /StartComponentCleanup /ResetBase  
1
Dism.exe /Unmount-Image /MountDir:<挂载目录> /Commit
1
Dism.exe /Export-Image /SourceImageFile:<映像文件路径> /SourceIndex:1 /DestinationImageFile:<输出映像文件路径>

疑难解答

如果本主题中的 DISM 命令失败,请尝试以下做法:

  1. 确保使用随 Windows ADK 一起安装的 Windows 10/11 版 DISM

  2. 不要将映像装载到受保护的文件夹,例如 User\Documents 文件夹

  3. 如果 DISM 进程中断,请考虑暂时断开网络连接并禁用病毒防护

  4. 如果 DISM 进程中断,请考虑改为从 Windows 预安装环境 (WinPE) 运行命令

后记

  1. 使用 DISM 修改 Windows 映像 | Microsoft Learn
  2. DISM映像管理命令行选项(/Capture-Image等);微软仍随Windows ADK包发布ImageX工具 - 远景论坛