无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 10886|回复: 122
打印 上一主题 下一主题

【短平快】win8.1之简单玩法:wimboot(主体)+VHDX(指针文件),然后差分VHDX,再秒还原.

    [复制链接]
1#
发表于 2023-3-3 08:25:30 | 显示全部楼层
本帖最后由 Climbing 于 2023-3-3 08:28 编辑

我现在给人装系统,从win7-win11都是这么玩。而且,不需要什么siso,A/B两个子系统里一个批处理互相还原。
D:\wimboot\W10Px64H2SLLi>dir /b
1.CreateABCvhdFilesV2.bat
system_TF3G(si)_uni1(vhdsize).7z
W10RestoreABC.bat
W10SLLiwib00.7z
W10SLLiwib00.vhd
W10SLLiwib00.vhd.e
W10SLLiwib00_A.vhd
W10SLLiwib00_B.vhd
W10SLLiwib00_C.vhd
wd3W10SLLi_TF3G.wim
双击还原WIN10系统(AB系统互相还原).lnk



  1. ::双击还原WIN10系统(AB系统互相还原).lnk/RestoreABC.BAT
  2. @echo off
  3. cls
  4. echo.
  5. echo.
  6. echo.
  7. echo 启动到B系统下运行本程序恢复A系统,反之也可。
  8. set zapp="C:\Program Files\7-Zip\7z.exe"
  9. set arch=D:\wimboot\W10Px64H2SLLi\W10SLLiwib00.7z
  10. set dstdir=D:\wimboot\W10Px64H2SLLi\
  11. %zapp% e -aoa -o%dstdir% %arch%
  12. echo.
  13. echo.
  14. echo.
  15. echo 恢复完成!重启进入另一个系统。&pause
  16. shutdown -r -f -t 30
复制代码


点评

这个能展开说说吗  详情 回复 发表于 2023-3-3 15:21
仔细看了一下,产生一个想法,你把你所有批处理打包为一个文件自动执行,然后把母VHD拖到批处理上运行生成123以及配置引导,让它一键傻瓜化全自动实现。这样我就放弃那个WIMBOOT配合SNAPSHOT的方法了。  详情 回复 发表于 2023-3-3 13:15
斑竹大人 你的批处理有帖子吗? 我太菜看不懂  详情 回复 发表于 2023-3-3 10:53
感谢分享好经验  详情 回复 发表于 2023-3-3 10:08

评分

参与人数 3无忧币 +15 收起 理由
董大 + 5 赞一个!
d9o + 5 赞一个!
879792799 + 5 一直不太明白 版主大大这个玩法!要好好学.

查看全部评分

回复

使用道具 举报

2#
发表于 2023-3-3 18:22:20 | 显示全部楼层
没想到我随手回复一个帖子,有这么多人关注,我就把好长时间以前发的一个帖子转过来吧(帖子里很多下载链接都应该失效了,但不影响了解原理):

【2021-06-06】【分享】安利wimboot_vhd系统(基于wimboot技术的vhd系统)
https://bbs.et8.net/bbs/showthread.php?t=1394039

从Windows 8开始,微软推出wimboot技术,最早用于平板电脑硬盘空间比较小的情况,让Windows系统基于高度压缩的wim文件运行,可以极大减小硬盘空间占用,正常情况下,Windows系统分区一般空间占用不小于10G,如果使用wimboot技术,则可以压缩一半,极限情况下,5G+1G=6G即可运行一个Windows系统,当然,硬盘空间现在并不是瓶颈。用这种方法,我可以在一个16G的ssd硬盘上部署win7+win10双系统。

关于vhd系统我想大家应该比较熟悉,就是不再给系统分区,而是将Windows系统安装到一个vhd文件中。vhd系统的优点是可以差分,安装一个母系统的vhd,然后可以无限差分(类似于虚拟机的快照技术),在差分系统中随意操作,不用担心损坏母系统,也就避免了给系统做克隆的情况(客观上也节省了硬盘空间)。本质上vhd系统跟安装到分区的系统没有区别,只不过vhd系统用vhd文件代替了分区。另外,使用vhd系统后,由于不再需要分出系统分区,原则上硬盘也不再需要进行分区操作,所有硬盘只要一个分区即可。

而wimboot+vhd系统,就是将两个技术结合起来,安装基于wim文件的vhd系统(下面简称为wimboot_vhd系统)。经过我实践,发现基于wimboot的vhd系统跟实体系统在运行效率上并没有什么损失(当然,固态硬盘性能肯定更好,其实主要表现在启动速度上),完全可以用来代替常规的系统安装方法,而且部署起来更为灵活。大部分时候,部署一个基于wimboot的vhd系统,所用时间不超过1分钟,重装系统的时间几乎可以忽略不计。由于不再需要分区,你甚至可以基于同一个wim文件部署N个完全独立的系统。

另外,在我的实践中,wimboot_vhd系统完全可以使用grub4dos(UEFI) + ntboot/ntloader直接启动,不需要再考虑Windows引导修复、bcd文件编辑这一类的复杂问题。由于 Windows 10 不再限制是否从usb设备启动,甚至可以用这种方法直接从移动硬盘启动一个完整系统(类似于Windows to go),当然,从移动硬盘启动多个系统也完全没有问题,甚至跟从硬盘上启动也没有本质区别。

当然,wimboot_vhd系统并不要求一定要新装系统,完全可以将你当前正在运行的系统转成wimboot_vhd系统。

wimboot_vhd系统的原理先介绍到这里,如果大家对技术细节感兴趣,回帖告诉我,我再进一步公布技术细节。


干货来了。。。

【2021年6月11日 10:46:07更新】由于我的本地网络出现问题,下面的下载链接失效,请从百度网盘下载:
链接: https://pan.baidu.com/s/1AiP9Y0RwqueorYOUj_5saA 提取码: 9kr6

关于wimboot_vhd系统的制作和部署,涉及到的细节比较多,为了简化这个过程,需要指定一些前置条件,以方便大家试验并进一步扩展。

1、使用我定制的Win10系统的wim文件(这个文件大小是2.6G)。
下载地址:http://ntfans.net/wimbo ... d0W10Px64H2SLLi.wim

由于wimboot_vhd系统不需要分区,所以最初试验时你不需要改变你硬盘的分区结构,找一个空闲空间在20G以上的硬盘分区,假设是D:盘吧,在D:盘根目录建立wimboot目录,然后将下载的wim文件放到“d:\wimboot\W10Px64H2SLLi\”目录下。其实目录结构完全可以灵活掌握,但大家初次接触,先抄好作业,等掌握了原理,大家再根据自己的习惯自由发挥。

有人可能关注这个wim文件如何制作,其实非常简单,对于win10系统,只要使用dism++的备份功能将当前系统备份成wim文件即可。至于win7系统,由于win7并不原生支持wimboot启动,所以需要使用chenall的wimboot 2.5工具进行魔改,这个操作略复杂,暂不考虑,有兴趣的再单独讨论。

2、使用grub4dos+ntboot方式启动。由于grub4dos只兼容传统的bios+mbr模式,所以试验的电脑最好使用传统的Legacy模式(BIOS+MBR)模式,也就是在BIOS设置中要关闭Secure Boot(安全启动),然后打开Legacy + CSM方式启动。其实,这种系统安装方式也兼容UEFI+GPT模式,但要使用grub4dos_UEFI + ntloader方式启动,你还是需要关闭Secure Boot,然后还要让UEFI默认启动grub4dos_UEFI,涉及到的操作比较多。grub4dos的新版跟ntboot(无忧chenall的作品)有启动兼容性问题,经我测试,grub4dos要使用一个特定的版本(2019年2月22日的版本),所以,最好使用我提供的grub4dos+ntboot启动包,下载地址如下(文件大小为11.4M):

http://ntfans.net/wimbo ... x86)_xyf20210606.7z

下载后,将这个包解压到D:\根目录下,这个包里有一个grldr文件和一个boot文件夹,确保这两个文件(夹)在D:\根目录下。

3、wimboot_vhd系统制作、部署配套工具wibTools,下载地址如下(文件大小为10.1M):

http://ntfans.net/wimboot/WibTools/WibTools.7z

下载后,解压到D:\wimboot\WibTools目录下。这个包里包括dism++、chenall提供的wimboot 2.5、WinNTSetup 3.7.9;我定制的WinntSetup 4.2.1,以及我当初试验这个系统时记录的日志文档之类的东西(文档仅供参考)。

4、Win10PE,使用本坛d0z定制的10PE(2019.11.01版本)。其实使用d0z最新版的10PE应该也是可以的,但最新版的10PE的iso中集成了三个PE:10PEx64、10PEx86、7PE,所以体积比较大。本系统部署最好是在Win10或者10PE环境下进行,如果你当前系统是Win10,不需要启动到PE下操作,但我还是建议你下载下面的10PE并按要求放到对应的目录中,以防万一。

d0z的2019.11.01版10PE下载链接(488M):http://ntfans.net/Portable.share/10PE-20191101.iso
d0z的2021.04.21版10PE下载链接(939M):http://ntfans.net/Porta ... et-20210421@d0z.iso

下载任一个,改名为10PE.iso,放到d:\10PE目录下。

5、wimboot_vhd系统的部署步骤。这个步骤略复杂,这里提供我以前给人讲的讲义(word文档)及安装录像(那个录像环境比较差,声音背景比较嘈杂,可以全程静音),下载地址:

http://ntfans.net/wimboot/wimboot_vhd_setup/

6、grub4dos安装到mbr。在走完上述所有步骤后,重启电脑测试之前,最好再执行一次本步骤,以确保grub4dos安装到硬盘mbr中。如果你不想安装grub4dos到mbr中,也可以通过Windows启动菜单加载grldr(或者d:\boot\grldr.mbr),这个可以通过d:\wimboot\wibtools\bootice*.exe来修改bcd完成。

要安装grub4dos到mbr,只需要双击d:\boot\bin\booticehd0.bat文件,它会自动将grub4dos安装到当前D盘所在硬盘的mbr中。另外,确保你硬盘所有分区根目录下没有grldr这个文件(除了当前的D盘),如果有其他的grldr文件,为避免干扰,可以暂时改名。

如果你要通过grub4dos启动你原来的系统,首先,将你当前系统C盘根目录下的bootmgr文件(或者ntldr文件,或者软激活用的OEMSF文件)复制一个出来改名为winold,然后用记事本编辑d:\boot\grub\menu.lst,在“default /boot/default”这一行下面添加这个启动项:
iftitle [find /winold] Windows Old
find --set-root /winold
makeactive
chainloader /winold || chainloader /bootmgr || chainloader /ntldr
savedefault

通过这个启动项可以启动你原来的Windows系统。另外,d:\boot\default文件用来定制下次重启默认启动的系统,将default文件开始的数字(默认是0,对应menu.lst第一项菜单)修改为对应的数字(从0开始计数,0对应第一项,1对应第二项,依次类推)即可。

做完上述步骤,你就可以重启进行新系统的测试了,如果新系统不能正常启动,你还可以通过grub4dos启动进入原来的系统。


=============
写在最后
=============
这个文档是我临时拼凑出来的,可能有些细节没有照顾到。如果遇到问题,可以论坛PM或者直接回帖询问。或者加我微信(QQ):653668,注明CCFer。

关于UEFI+GPT格式下wimboot_vhd系统的部署,有需要的可以再回帖,我再写相关部分的文档。

【2021年6月11日 12:37:49】关于UEFI+GPT,其实系统安装过程跟bios+mbr没啥区别,但是引导软件要换成grub4dos_UEFI(当然,你用Windows boot manager也是可以的)。在百度网盘共享里,WibTools目录下有一个“Xorboot_grub2_grub4UEFI@UNI_20210418.7z”文件,这个包就是UEFI+GPT的解决方案包,你要用Xorboot编辑启动项列表,加入Grub4dos_UEFI相关启动项(在EFI\grub目录下),然后菜单文件是EFI\grub\menu.lst。

点评

牛牛牛 学习了!  发表于 2023-3-3 18:54

评分

参与人数 1无忧币 +5 收起 理由
879792799 + 5 很给力!

查看全部评分

回复

使用道具 举报

3#
发表于 2023-3-3 18:25:57 | 显示全部楼层
天风 发表于 2023-3-3 13:15
仔细看了一下,产生一个想法,你把你所有批处理打包为一个文件自动执行,然后把母VHD拖到批处理上运行生 ...

1.CreateABCvhdFilesV2.bat,这个文件就是自动生成ABC三个子系统的vhd。

至于修复引导,由于我一般使用grub4dos,只要将grub4dos安装上就行。

我比较喜欢批处理都是比较单一的功能,按需执行。
回复

使用道具 举报

4#
发表于 2023-3-3 18:29:27 | 显示全部楼层
879792799 发表于 2023-3-3 10:53
斑竹大人 你的批处理有帖子吗? 我太菜看不懂

这个批处理就是使用7z将一个压缩文件解压(自动覆盖)。而这个压缩文件里保存的是刚生成的ABC三个差分vhd文件,这个压缩文件只有几K。解压覆盖,就相当于秒级还原了。假设你在B系统下,由于B文件在使用中,不会被覆盖,而A和C则会被覆盖。如果你的A系统里有重要的数据,则可以先将A改名,然后再解压覆盖。

点评

这个和我思路一致,进入A自动释放ZIP还原B,反之进入B自动释放ZIP还原A。你那个C没明白是啥。 有没有一个可能用GRUB命令在实模式阶段直接秒还原从而减少一次进入系统的过程。  详情 回复 发表于 2023-3-3 19:21
谢谢斑竹指点!  发表于 2023-3-3 18:38
回复

使用道具 举报

5#
发表于 2023-3-3 18:33:15 | 显示全部楼层
d9o 发表于 2023-3-3 12:03
我也玩过一下wimboot,就是有点瑕疵:不好部署。也就是我做好的vhd(x)文件连同相关的wim文件拷贝到其它磁盘 ...

【2022-02-23 10:25:51】http://bbs.wuyou.net/forum.php?m ... d=429057&extra=

用 dism 的  /get-WIMBootEntry  和 /Update-WIMBootEntry 参数 重新为win10系统指明 WIMBootEntry

【2022.02.27】成功实现了将wimboot_vhd方式安装的系统迁移到同一台电脑的不同分区(wim+vhd文件同时迁移)。

不同电脑间的迁移也试验成功:

将vhd文件和wim文件复制到移动硬盘上,然后挂载移动硬盘上的vhd文件(此时其还指向原电脑上的wim文件),使用dism /Update_WIMbootEntry命令将其指向移动硬盘上的wim,然后弹出vhd。将移动硬盘插到新电脑上,将wim和vhd文件再复制到目标电脑上,不要拔出移动硬盘,挂载新电脑上的vhd(此时其指向移动硬盘上的wim),再使用跟前面同样的命令将vhd指向新电脑上的wim,然后建立vhd的启动项即可正常启动。

没有前面那个Update命令,vhd文件是无法正常在新电脑上挂载的。其实就是用移动硬盘中转了一下。

DISM.exe /Update-WIMBootEntry /Path:I:\ /DataSourceID:0 /ImageFile:H:\wimboot\W10Px64H2SLLi\wd3W10SLLi_TF3G.wim
DISM.exe /Get-WIMBootEntry /Path:I:\

点评

d9o
学习了,谢谢大佬赐教  详情 回复 发表于 2023-3-3 19:04
还可以这样啊!第一次见这么玩,厉害了!  详情 回复 发表于 2023-3-3 18:50

评分

参与人数 2无忧币 +10 收起 理由
879792799 + 5
d9o + 5 很给力!

查看全部评分

回复

使用道具 举报

6#
发表于 2023-3-4 09:21:41 | 显示全部楼层
天风 发表于 2023-3-3 19:21
这个和我思路一致,进入A自动释放ZIP还原B,反之进入B自动释放ZIP还原A。你那个C没明白是啥。
有没有一 ...

我一般给人装系统,第一件事都是备份数据,用户的数据比系统更重要。基于同样的原则,我一般不搞傻瓜化的一键恢复,要给用户一个保留数据的机会。所以,这些恢复操作都是需要手动进行的。如果是在公共机房、网吧这一类的环境是可以这样搞的。现在文件系统越来越复杂,我不知道grub4dos的dd命令是否足够安全。

点评

提醒的是!  发表于 2023-3-4 09:45

评分

参与人数 1无忧币 +5 收起 理由
879792799 + 5 赞一个!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-9 22:34

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表