- 制作镜像
dism /capture-image /imagefile:d:\backup\win10p_backup.wim /capturedir:c:\ /name:win10_cqcb
- 恢复镜像
dism /apply-image /imagefile:d:\backup\win10p_backup.wim /applydir:c:\ /index:1
- 批处理制作与恢复镜像
-
@echo off
:run_0
cls
set index=
set method=
set search=
set x=
set a=
set b=
set c=
set d=
echo 如果你知晓镜像文件的存放路径,以及操作系统所在盘符,可以跳过查询步骤。
echo 0,退出
echo y,跳过
echo n,查询
set /p search=请选择(0,y,n):
if not defined search (goto run_0)
if %search% == 0 (goto end)
if %search% == y (goto begin)
if %search% == n (goto search)
:search
cls
echo 在系统中找到以下有效盘符:
for %%i in (a: b: c: d: e: f: g: h: i: j: k: l: m: n: o: p: q: r: s: t: u: v: w: x: y: z:) do ((dir %%i 1>nul 2>nul) && (echo %%i))
echo.
for %%i in (a: b: c: d: e: f: g: h: i: j: k: l: m: n: o: p: q: r: s: t: u: v: w: x: y: z:) do ((dir "%%i\Windows\Media\*.wav" 1>nul 2>nul) && (echo 其中 %%i 是物理 Windows 所在分区))
echo.
echo 正在全盘搜索 mywim.*.wim 镜像文件,请稍候...
for %%i in (a: b: c: d: e: f: g: h: i: j: k: l: m: n: o: p: q: r: s: t: u: v: w: x: y: z:) do (dir /s /b %%i\*.wim 2>nul | findstr /i "mywim")
echo.
echo 请记住上述信息,以便后续操作。
echo.
goto begin
:begin
echo.
echo 操作菜单:
echo 0,退出。
echo 1,制作镜像。
echo 2,恢复镜像。
set /p x=请选择(0,1,2):
set method=退出
if not defined x (goto run_0)
if %x% == 0 (goto end)
if %x% == 1 (goto make_wim)
if %x% == 2 (goto recovery_wim) else (goto run_0)
:make_wim
cls
set method=制作镜像
echo 镜像文件名会自动添加 mywim. 的前缀词。
echo 不满足以下条件就返回菜单:
echo 1,【制作源】、【保存到】不能为空。
echo 2,使用有效的绝对路径。&echo.
set /p a=1/4。制作源:
if not defined a (goto run_0)
if "%a:~-1,1%" == "\" (set a=%a:~0,-1%)
(1>nul 2>&1 dir %a%\) || (goto run_0)
echo.
set /p b=2/4。保存到:
if not defined b (goto run_0)
if "%b:~-1,1%" == "\" (set b=%b:~0,-1%)
(1>nul 2>&1 dir %b%\) || (goto run_0)
echo.
echo 在 %b%\ 里有以下镜像文件。
dir %b%\*.wim /b
echo.
set /p c=3/4。镜像文件名:
if not defined c (set c=mywim.Windows%date:~0,4%%date:~5,2%%date:~8,2%%random%)
if not "%c:~0,6%" == "mywim." (set c=mywim.%c%)
set index=%c%
if not "%c:~-4%" == ".wim" (set c=%c%.wim)
echo.
set /p d=4/4。镜像文件索引名:
if not defined d (set d=%index%)
cls
echo 按3次任意键后,将执行如下操作:&echo.
echo 将 %a%\ 制作镜像文件,保存到 %b%,镜像文件名为%c%,镜像文件索引名为 %d% 。&echo.
echo 如果上述信息错误,请按 Ctrl + C 终止。&pause&pause&pause
dism /capture-image /imagefile:%b%\%c% /capturedir:%a%\ /name:%d%
goto end
:recovery_wim
cls
set method=恢复镜像
echo 不满足以下条件就返回菜单:
echo 1,【镜像文件所在目录】、【选择镜像文件】、【恢复到】不能为空。
echo 2,使用有效的绝对路径。&echo.
set /p a=1/4。镜像文件所在目录:
if not defined a (goto run_0)
if "%a:~-1,1%" == "\" (set a=%a:~0,-1%)
(1>nul 2>&1 dir %a%\) || (goto run_0)
echo.
echo 在 %a%\ 里有以下镜像文件。
dir %a%\*.wim /b
echo.
set /p b=2/4。选择镜像文件:
if not defined b (goto run_0)
if not "%b:~-4%" == ".wim" (set b=%b%.wim)
(1>nul 2>&1 dir %a%\%b%) || (goto run_0)
echo.
set /p c=3/4。恢复到:
if not defined c (goto run_0)
if "%c:~-1,1%" == "\" (set c=%c:~0,-1%)
(1>nul 2>&1 dir %c%\) || (goto run_0)
echo.
set /p d=4/4。镜像文件索引号,通常为“1”:
if not defined d (set d=1)
cls
echo 按3次任意键后,将执行如下操作:&echo.
echo 将镜像文件 %a%\%b% 中的第%d%索引,恢复到 %c%\ 。&echo.
echo 如果上述信息错误,请按 Ctrl + C 终止。如果正确无误,按3次任意键后开始执行。&pause&pause&pause&echo.
format %c% /q /y 1>nul 2>nul
dism /apply-image /imagefile:%a%\%b% /applydir:%c%\ /index:%d%
goto end
:end
cls
echo %method%操作完成。欢迎访问个人主页。
echo http://fangyan.win
set index=
set method=
set search=
set x=
set a=
set b=
set c=
set d=
下载
- dism-修复UEFI+GPT引导
format h: /q /x /fs:fat
bcdboot c:\windows /s h: /f uefi /l zh-ch
假设EFI分区盘符为 h:
- DISM-部署更新cab和msu补丁包,批处理。
-
@echo off
:run
set /p x=输入补丁所在绝对路径:
if not defined x (goto run)
if "%x:~-1,1%" == "\" (set x=%x:~0,-1%)
(1>nul 2>&1 dir %x%) || (goto run)
dism /online /add-package /packagepath:%x%\
下载
- dism-win10、win11离线装 .net 的方法
-
将原版ISO装载到虚拟光驱中,假设虚拟光驱盘符为L:\
以虚拟光驱直接操作,执行:
dism /online /enable-feature /featurename:netfx3 /all /limitaccess /source:L:\sources\sxs
在本地目录中操作同理,假设本地操作目录为D:\,则复制L:\sources\sxs目录到D:\ 再执行:
dism /online /enable-feature /featurename:netfx3 /all /limitaccess /source:d:\sxs
参数说明:
使用 /All 启用指定功能的所有父功能。
使用 /LimitAccess 阻止 DISM 与 Windows 更新/WSUS 联系。
使用 /Source 指定还原功能所需的文件的位置。
运行时如果报错,则,
1、重启 windows update 自动更新服务。
2、重启 .net framework 4.6 高级服务。再试。
附加说明:
在当前系统中的安装命令:
DISM /Online /Enable-Feature /FeatureName:NetFx3 /All
将.net程序包封装到WIM镜像文件中。假设将wim镜像文件挂载到C:\test\offline目录,
dism /Image:C:\test\offline /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:L:\sources\sxs
- dism-检查并修复当前系统
-
扫描全部系统文件并和官方系统文件对比:
Dism /Online /Cleanup-Image /ScanHealth
快速检查系统组件存储状态:
dism /online /cleanup-image /checkhealth
把映像中的非官方文件还原为官方文件:
dism /online /cleanup-image /restorehealth
建议,完成上述操作后,重启,接着管理员CMD,运行:
sfc /scannow
- dism-挂载映像
-
rem 获取wim文件信息
dism /get-wiminfo /wimfile:"F:\install.wim"
rem 将F:\install.wim文件的索引3目录挂载到d:\abc
rem 经测,在vhd中OS,引导进桌面后,挂载wim文件时会报错:系统找不到指定文件,在物理硬盘中,挂载wim文件正常。
dism /mount-wim /wimfile:"F:\install.wim" /index:3 /MountDir:d:\abc
rem 把镜像挂载到d:\abc后,要对这个镜像目录启用某个功能
dism /image:d:\abc /enable-feature /featureName:XXXX-XXXXXXXX
从目录中卸载 wim :
rem 对镜像目录进行写入操作或开关某个功能后,要进行提交并取消挂载
dism /unmount-wim /MountDir:d:\abc /Commit
rem 使用完后将挂载的文件取消挂载
dism /unmount-wim /MountDir:d:\abc /discard
执行完成上述2条命令后,删除以下注册表内容,否则再次挂载其他 wim 时命令行会报错:
\HKEY_LOCAL-MACHINE\SOFTWARE\Microsoft\WIMMount\Mounted images ,即删除【Mounted images】项。
命令:
reg delete "HKEY_LOCAL-MACHINE\SOFTWARE\Microsoft\WIMMount\Mounted images" /f
然后再手动删除 d:\abc
命令:
rd d:\abc /s /q
- dism-修复丢失的RE环境
-
修复丢失的RE环境
- dism-备份与恢复驱动程序
-
备份驱动:
dism /online /export-driver /destination:D:\备份驱动
备份当前系统所有第三方驱动程序包到 D:\备份驱动 目录。
dism /Image:C:\test\offline /Export-Driver /Destination:D:\备份驱动
先将WIM镜像文件挂载到 C:\test\offline 目录中,再将其所有第三方驱动程序包,备份到 D:\备份驱动 目录。
恢复驱动:
方法一:
dism /online /Add-Driver /Driver:D:\备份驱动 /Recurse
将 D:\备份驱动 目录中的驱动包恢复到当前系统中。
方法二:
打开设备管理器,在内容窗口中,右键【计算机名称】,添加驱动程序,在后续的步骤中勾选【包括子目录】,按提示完成操作即可。
dism /Image:C:\test\offline /Add-Driver /Driver:D:\备份驱动 /recurse
将 D:\备份驱动 目录中的驱动程序包,恢复到已挂载的镜像 C:\test\offline 中。
使用 /recurse 可查询所有子文件夹中的驱动程序。
使用 /ForceUnsigned 可向基于 X64 的映像中添加未签名的驱动程序。
注意,
不论备份还是恢复驱动,/Image 与 /online 不可同时使用。
只支持 inf 不支持 msi。
部分需要控制程序管理的驱动无法通过备份或恢复操作。