差分vhd,不借助软件实现开机还原。
以前用得好好的还原软件,在win7_x64下总有说不出的毛病,经常引起资源管理器垮台。整毛了。思路:
1、vhd先安装win7以上系统,这个不多说,比如安装在e:\software\system.vhd里,大小30g,并做好一切优化设置,在开机启动里加载一个批处理快捷方式,批处理内容暂时可不写。
2、用win7pe或安装盘启动,改system.vhd为Win7_X64_Base.vhd,在Win7_X64_Base.vhd基础上建立差分vhd,名字叫system.vhd。
3、复制system.vhd为win7.bak,复制system.vhd为win7.vhd
4、建立一个win7.vhd的启动项。启动项名字为windows 7 hf
5、写批处理,开机切换默认启动,将系统启动时间设置为1秒。
@echo off
setlocal enabledelayedexpansion
cd /d E:\SoftWare
for /f "delims=" %%i in ("E:\SoftWare\system.vhd") do (
set a=%%~zi '将system.vhd大小付给变量a,由于30g太大,cmd比较有点问题,要做下处理
set /a a=!a:~0,-3! '去掉数字末尾3位
if !a! gtr 20737418 ( '判断system.vhd大小是否大于20g,20g也去掉了末尾3位。
del win7.vhd /q /f '删除win7.vhd
copy win7.bak win7.vhd '恢复win7.vhd
bcdedit /default {22c15c8b-cc4b-11e6-8765-a93418af9209} '将默认启动指向win7.vhd的条目
) else (
del system.vhd /q /f '删除system.vhd
copy win7.bak system.vhd ''恢复system.vhd
bcdedit /default {22c15c88-cc4b-11e6-8765-a93418af9209} '将默认启动指向system.vhd的条目
)
)
)
捣鼓了一天,眼睛都整花了,终于可以了。超级好的兼容性。
以上的所有名字自己取,像这样的ID号{22c15c88-cc4b-11e6-8765-a93418af9209} 根据自己机器用bcdedit查 技术贴啊,大家快来试试 楼主如果用差分的话,应该就不用删除、复制那么大的文件了吧? 弱贴!
这种方法是远景传出来的,试过,发现差分后的VHD占用空间超大,超出原文件很多,还麻烦得要命!
不如直接复制一份得了! 差分还原搞得这么复杂干什么啊,要还原直接差分那个处理下就行了,最多几百K的文件 偶的意思是取代象冰点、影子系统之类的还原软件,每次都自动还原,手工的话嫌麻烦。差分站空间是有点大,运行起来查分盘和母盘建立是的空间一样大。任何事情总得付出代价嘛。 谢谢楼主的贡献。批处理怎么用,放到哪?给小白一个现成的呗 谢谢分享,对一些喜欢用360的大妈来说这种还原很合适。 wsdyleon 发表于 2016-12-31 09:36
谢谢楼主的贡献。批处理怎么用,放到哪?给小白一个现成的呗
批处理随便放哪里,只要能开机启动就行 这个批处理没收啦!!! 好吧,最初我也是这种想法,后来改进了把还原写入引导管理器中。我的作品名叫sTool,互相学习啊。你的脚本写的很有水平!
页:
[1]