用 DISM 命令备份与还原 Windows 系统
本帖最后由 SzqZys 于 2013-1-3 20:09 编辑本文为庆祝Win8正式发布,同时感谢微软让我用上了好系统。特整理出“用 DISM 命令备份与还原 Windows 系统”,供同我一样的广大小白参考使用。
用浅显易懂的语言全面详细的解说用DISM命令进行系统备份与还原的文章在网上没有先例,特整理出“用 DISM 命令备份与还原 Windows 系统”,供同我一样的广大小白参考使用。本文由本人首发在《远景》论坛。
用 DISM 命令进行系统备份与还原不需要任何第三方软件,是利用 Windows 7、Windows 8 系统自带的 DISM 命令进行操作,安全放心,备份文件占用空间小(比 Ghost 的小得多),而且还能进行增量备份,进一步节约了磁盘空间。用 DISM 命令进行系统备份与还原需要在 Windows 7 以上 PE 或 Windows To Go 中进行,并以管理员身份运行命令提示符。
注意:有的 PE 精简过分可能不能运行 DISM 命令。由于 DISM 命令不能进行系统热备份,所以在第二系统中进行备份时,如果当前系统的启动引导文件在需要进行备份的分区中,DISM 会显示“另一个程序正在使用此文件,进程无法访问。”
Windows 8 对 DISM 命令进行了升级,所以如果在 Windows 7 系统(包括 PE)中使用 DISM 命令可以把 Windows 8 系统 C:\Windows\System32 中的 Dism 文件夹与 Dism.exe 复制到 Windows 7 系统(包括 PE) C:\Windows\System32 下就可以使用 DISM 所有命令了。
一、初始备份(例如:把 C 分区的系统备份到 D 分区的 Win8BF 文件夹中,备份文件名为 Win8Pro.wim):
Dism /Capture-Image /ImageFile:D:\Win8BF\Win8Pro.wim /CaptureDir:C:\ /Name:Win8Pro-1 /Description:0000-00-00
命令解释:
/Capture-Image - 将驱动器的映像捕获到新的 WIM 文件中,捕获的目录包含所有子文件夹和数据。
/ImageFile - 指定映像文件路径。
/CaptureDir - 指定捕获目录。
/Name - 指定名称。此项不能省略。
/Description - 指定描述。描述是为了说明这次备份的具体情况,我们这里用了时间。此项可省略。
注意:如果是在 Win8 系统中进行操作,备份时注意暂时关闭 Windows Defender,它要对整个备份文件进行扫描,其中 MsMpEng.exe 对 CPU 的占用有时高达 90% 以上,严重拖慢备份速度,有时甚至使备份时间延长十倍以上。
二、增量备份(例如:把 C 分区的系统增量备份到 D:\Win8BF\Win8Pro.wim 中):
Dism /Append-Image /ImageFile:D:\Win8BF\Win8Pro.wim /CaptureDir:C:\ /Name:Win8Pro-2 /Description:0000-00-00
命令解释:
/Append-Image - 将其他映像添加到 WIM 文件中。
Dism 允许各卷映像之间同名,但为了以后应用方便,各卷映像之间的名称最好不同。Dism 可以指定卷映像索引号或名称来对卷映像进行操作。索引号可能因删除某卷映像而发生改变,但名称是不会变的,如果各卷映像之间同名,用指定名称来对卷映像进行操作时就会出现问题。
重要事项:
确保有足够的磁盘空间可用于运行 /Append-Image 选项。如果在附加映像期间磁盘空间不足,则可能会损坏 .wim 文件。
三、系统还原(例如:把 D:\Win8BF\Win8Pro.wim 中第二次备份还原到 C 分区):
Dism /Apply-Image /ImageFile:D:\Win8BF\Win8Pro.wim /Index:2 /ApplyDir:C:\
/Apply-Image - 应用一个映像。
/ApplyDir - 指定应用目录。
/Index - 指定索引。此项不能省略。
因 Dism 安装 WIM 映像不会像 Ghost 那样格式化磁盘,所以如果需要可以自己格式化系统盘。
修改映像路径与应用目录可把任意一个系统备份的卷映像还原到任意一个分区。修改卷映像索引号或卷映像名称可以还原备份映像中的任意一个备份。
也可以用此命令把 Windows 系统(WIM 映像)快速安装到任何分区。例如在 PE 中把 Win8Pro 安装到 C 分区(设 Win8ISO 用虚拟光驱加载的盘符为 E):
Dism /Apply-Image /ImageFile:E:\sources\install.wim /Index:1 /ApplyDir:C:\
由于 Windows 系统原始(WIM 映像)中没有启动引导文件,需要添加启动引导:
bcdboot C:\windows /s C: /l zh-cn
如果是把 Windows 8 安装到 USB 设备中作 Windows To Go,也应添加启动引导:
bcdboot X:\windows /s X: /l zh-cn /f ALL (X为 USB 设备的盘符)。
四、获取WIM文件映像信息(例如:查看 D:\Win8BF\Win8Pro.wim 映像信息):
Dism /Get-WimInfo /Wimfile:D:\Win8BF\Win8Pro.wim
命令解释:
/Get-WimInfo - 显示有关 WIM 文件中的映像的信息。
/Wimfile - 指定 WIM 文件路径。
可以在后面添加索引号或名称来查看某次备份的详细信息。还可以在后面添加 >d:\list.txt 把信息导出为记事本,方便查看。如:
Dism /Get-WimInfo /Wimfile:D:\Win8BF\Win8Pro.wim /Index:1 >d:\list.txt
或:Dism /Get-WimInfo /Wimfile:D:\Win8BF\Win8Pro.wim /Name:Win8Pro-1 >d:\list.txt
在一个映像中如果有两个卷映像同名,就不能用指定名称来查看这两个卷映像的详细信息。
五、从具有多个卷映像的 WIM 文件中删除指定的卷映像(例如:删除 D:\Win8BF\Win8.wim 中的第二次备份):
Dism /Delete-Image /ImageFile:D:\Win8BF\Win8Pro.wim /Index:2
命令解释:
/Delete-Image - 从具有多个卷映像的 WIM 文件删除指定的卷映像。
此命令仅删除卷映像名称与描述,而不会删除卷映像数据。可用于防止误应用该卷映像。
六、从具有多个卷映像的 WIM 文件中提取单独的卷映像。
增量备份多了,WIM 文件也变得大起来了,删除指定的卷映像仅删除了名称与描述,而不会删除卷映像数据,所以不会减小 WIM 文件的体积。这就要用 /Export-Image 命令从具有多个卷映像的 WIM 文件中提取需要保留的单独卷映像,以减小 WIM 文件的体积。(例如:从 D:\Win8BF\Win8Pro.wim 中提取第二次备份到 D:\Win8BF\ 中,保存为 Win8Pro-2.wim):
**** Hidden Message *****
---------------------------------------------
2012-12-26 增加内容
406楼 xpyzwzp 于 2012-12-2 16:53:15 提出“怎么在备份及还原命令中加入/ScratchDir 参数,请写一条完整的命令指教指教为谢!”我回答“对不起,这个小白我还没弄懂,希望另有高师解答。”我以前确实也没有运用过这个命令,是真心希望有高师通俗易懂的解答这个问题。好在本论坛网友 yufei-deepin 于 2012-11-20 16:15:21 的帖子《在Win8中的DISM命令已具备ImageX的功能;使用DISM处理WIM时,进行以下处理避免80错误》https://bbs.pcbeta.com/forum.php?mod=viewthread&tid=1195696&highlight= 已给出了答案,只是不够通俗易懂。现在借花献佛,参考 yufei-deepin 的帖子与微软官方网站的资料把 /ScratchDir 命令的说明整理归纳,重新编排,尽量使它通俗易懂,方便小白们实际操作。不妥之处,还望高人斧正。
下面分隔符中为微软官方原文,只是把它整理归纳,重新编排了一下。
------------分隔符------------
创建或处理 Windows 映像时,你应使用带有 DISM 的 /ScratchDir 选项,在不同的驱动器上创建临时目录。临时目录适用于许多 DISM 操作,包括捕获映像、安装语言包、更新或在 Windows 映像中安装或删除 Windows 功能。先将一些文件扩展到此临时目录,然后再将它们应用于 Windows 映像。
/ScratchDir - 指定暂存目录的路径。
指定用来解压缩服务文件的临时目录。此目录必须存在。
指定在服务期间提取临时使用的文件时要使用的临时目录。该目录必须位于本地。
安装完成后,不再需要此目录的内容,可以将其删除。
如果你不使用 /ScratchDir 选项设置临时目录路径, Windows PE 将默认创建 32-MB 临时目录。
如果未指定临时目录,将使用 \Windows\%Temp% 目录,以及每次运行 DISM 时随机生成的十六进制值的子目录名称。每次操作后,都会删除暂存目录中的项。
作为最佳做法,你应使用 /ScratchDir 选项,转而在其他有足够空间支持任何映像管理和你所执行的服务操作的分区上指定目录。
------------分隔符------------
运行 DISM 命令临时目录空间不足的问题多出现在 PE 操作的情况下,下面就是备份及还原命令中 /ScratchDir 具体使用的完整命令。
以初始备份为例(例如:把 C 分区的系统备份到 D 分区的 Win8BF 文件夹中,备份文件名为 Win8Pro.wim,指定临时目录为 D:\Temp):
Dism /Capture-Image /ImageFile:D:\Win8BF\Win8Pro.wim /ScratchDir:D:\Temp /CaptureDir:C:\ /Name:Win8Pro-1 /Description:0000-00-00
注意:必须先在D盘建立一个Temp文件夹,D盘必须有充足的可用空间。
以还原为例(例如:把 D:\Win8BF\Win8Pro.wim 中第二次备份还原到 C 分区,指定临时目录为 D:\Temp):
Dism /Apply-Image /ImageFile:D:\Win8BF\Win8Pro.wim /Index:2 /ScratchDir:D:\Temp /ApplyDir:C:\ /Verify
谢谢分享啊啊啊啊 额,Windows有完备的图形化界面备份与还原,干嘛还要麻烦到敲命令?你当linux来用~~ 哎,好久不见技术贴。这得支持。 正要找这个帖子呢,mark下 本帖最后由 SzqZys 于 2012-10-26 14:12 编辑
sheren2 发表于 2012-10-26 13:59 static/image/common/back.gif
额,Windows有完备的图形化界面备份与还原,干嘛还要麻烦到敲命令?你当linux来用~~
win7备份与还原,体积大,如果装了软件在其他分区,会连其他分区一起备份。
DISM图形控制台用起来不如这方便。
SzqZys 发表于 2012-10-26 14:08 static/image/common/back.gif
win7备份与还原,体积大,如果装了软件在其他分区,会连其他分区一起备份。
晕,备份还原中心底层就是用你列出命令,可能你从来没使用过高级备份和还原选项,而且你那个命令行方式一旦不能引导就完蛋了,而高级备份还原选项里可以创建定制的还原启动盘等选项,我就不说了,你自己看吧 纯技术帖,支持。 非常感谢
辛苦了
~~ 和 imagex 有什么不同。
有什么优势呢 sheren2 发表于 2012-10-26 14:13
晕,备份还原中心底层就是用你列出命令,可能你从来没使用过高级备份和还原选项,而且你那个命令行方式一 ...
要说这个……你去弄那个AIK不是更牛! skylineage 发表于 2012-10-26 14:20 static/image/common/back.gif
要说这个……你去弄那个AIK不是更牛!
抬杠不是?你能增量吗,你有定制功能吗?本来微软提供的备份和还原功能就比较强大,但为什么有那么多人愿意花钱去购买备份还原方案呢?毕竟别人有专门做这些方案的,别人在企业用户中已经用了很多年了~~ 不錯的文章,謝謝樓主 DISM功能确实很强大。 very good infomation! 不錯的文章,謝謝樓主 看看隐藏了些什么 感谢分享。。。。 记下办法 下次或许用得着 备份还是很重要的