Snapshot还原当前系统分区的技术分析
snapshot从1.4版开始支持还原当前操作系统所在分区,但似乎只能在gui中实现找了半天也没有发现可以用命令行实现的方法或参数
哪位大大知道方法的麻烦说下
这是官方介绍内容http://www.drivesnapshot.de/en/restboot.htm
通过分析注册表发现
"BootExecute"=hex(7):61,00,75,00,74,00,6f,00,63,00,68,00,65,00,63,00,6b,00,20,\
00,61,00,75,00,74,00,6f,00,63,00,68,00,6b,00,20,00,2a,00,00,00,73,00,6e,00,\
61,00,70,00,6e,00,61,00,74,00,69,00,76,00,65,00,2e,00,65,00,78,00,65,00,00,\
00,00,00
在“bootexecute”下多了一个启动程序
snapnative.exe c:\windows\system32\snapnative.exe
而在这里多了以下几个值
"AutoReboot"=dword:00000000
"AutoRebootSuccess"=dword:00000000
"Destination"="\\??\\C:"
"FullImage"="\\??\\x:\\C-Drive.sna"
关于从“bootexecute”键中运行的程序的特点
经查相关技术文档说是win系统在启动到这里时,所有系统分区中的文件都没有被锁定,而snapshot则巧妙的利用了win系统的这一点特性,通过在“bootexecute”键中添加snapnative.exe来还原系统
为什么不是snapshot.exe呢,因为在bootexecute这里运行的程序是很底层的native程序,普通程序在这里还没法运行
通过以上分析,虽然目前还没有命令行参数支持这种还原,但我们却可以通过注册导入相关的键值来实现
[ 本帖最后由 bfgxp 于 2010-12-19 13:03 编辑 ]
Snapshot C: X:\C-DRIVE.sna
-A - save ALL sectors, ignore free cluster info (maintenance)
-L650 - Limit resulting imagesize to 650MB (CDROM size)
-T - Test generated image file (verify correct checksums)
-W - suppress <Hit any key> if started from scheduler
-R - Empty Recycle Bin for this drive before Backup
-G - Graphical status display for command line mode
-PW=MyPassword (also used for restore and viewing)
-C="My comment" add a comment to the image
-ogenerate hash file with name "path\filename"
-o - don't generate hash file
-h<HashFile> make a differential image
Snapshot C:+D:+HD1:3 X:\$disk-DRIVE.sna
HD1:3 is the third partition on the first disk
HD1:* can be used to backup all partitions on the first disk
Options for command line substitutions
Possible values for substitution are:
$diskis substituted with the drive letter
$dateresults in 050131 which represents January 31 2005
$computernameis substituted with the computername
$typeresults in "dif" or "ful" for differential or full image
$weekdayis substituted with the first two characters of the Weekday
$yearis substituted with the year (4 digits)
$monthis substituted with the month (2 digits)
$dayis substituted with the day of the month (2 digits)
$houris substituted with the hour
$minuteis substituted with the minute
$secondis substituted with the second
Snapshot X:\C-DRIVE.sna C:
Snapshot X:\C.sna Z: -V
explores X:\C.sna as virtual drive Z: (-VM for mount only)
(-VQ for mount only and wait for event. Use --unmount to terminate)
Snapshot X:\C.sna -h<HashFileName>
Snapshot X:\C-DRIVE.sna -I
Snapshot X:\C-DRIVE.sna -P
Snapshot X:\C-DRIVE.sna -T
回复 #2 lindafu 的帖子
官方的命令行说明文档看了几遍了Snapshot X:\C-DRIVE.sna C:
这条不行的 原帖由 bfgxp 于 2010-12-17 16:19 发表 http://bbs.wuyou.net/images/common/back.gif
官方的命令行说明文档看了几遍了
Snapshot X:\C-DRIVE.sna C:
这条不行的
你照用X:\C-DRIVE.sna当然不行
X:\C-DRIVE.sna 表示Image放的位和名称
你应该不会放在X:\下吧
你应该改回你放的对应位置吧
回复 #4 andos 的帖子
:)怎么说呢,还是多谢你这个解释,毕竟总有比我还菜的 本人本机备份的恢复是在纯DOS下用的命令:A:\snapshot restore HD1 autoW:\c.drive.sna -Y -V
恢复主引导扇区(MBR)
A:\snapshot.exe restore HD1 MBR W:\c.drive.sna
声明下,是全镜像型的snapshot备份
楼主的意思好象是指针型的snapshot,恢复系统分区将在下一次启动 windows 前还原当前操作系统所在的分区..
在实际操作中,本人还不曾用过
主要是害怕,指针型的snapshot,备份的原盘坏了,数据应该是无法恢复的 不错,也算真正脱离第三方系统了。
我对SNAPSHOT映像不好,两块硬盘之间备份及恢复。
备份一块硬盘其中一个分区,然后再恢复另一个硬盘某一分区,会导致WINDOWS对这个分区极不稳定,日志老是产生错误DISK 原帖由 bfgxp 于 2010-12-17 13:03 发表 http://bbs.wuyou.net/images/common/back.gif
关于从“bootexecute”键中运行的程序的特点
经查相关技术文档说是win系统在启动到这里时,所有系统分区中的文件都没有被锁定,而snapshot则巧妙的利用了win系统的这一点特性,通过在“bootexecute”键中添加snapnative.exe来还原系统
为什么不是snapshot.exe呢,因为在bootexecute这里运行的程序是很底层的native程序,普通程序在这里还没法运行
通过以上分析,虽然目前还没有命令行参数支持这种还原,但我们却可以通过注册导入相关的键值来实现
很有价值,期待进一步研究,实现傻瓜化一键还原。 原帖由 bfgxp 于 2010-12-17 13:03 发表 http://bbs.wuyou.net/images/common/back.gif
snapshot从1.4版开始支持还原当前操作系统所在分区,但似乎只能在gui中实现
找了半天也没有发现可以用命令行实现的方法或参数
哪位大大知道方法的麻烦说下
这是官方介绍内容http://www.drivesnapshot.de/en/ ...
要怎么样才能获得: snapnative.exe 呢???
SORRY, 找到了。。。。 光问没动手....执行一次恢复就有了.
[ 本帖最后由 ban_r 于 2010-12-23 22:39 编辑 ] 一般指针型的snapshot都是只读的,且file system snapshot都是后台拷贝
如果能实现傻瓜式的snapshot一键还原,应该同三名一键恢复,雨过天晴的东西
差不多,就是不知道对系统性能影响大不大? 刚试验过,在WIN7系统中只要修改了:
"BootExecute"=hex(7):61,00,75,00,74,00,6f,00,63,00,68,00,65,00,63,00,6b,00,20,\
00,61,00,75,00,74,00,6f,00,63,00,68,00,6b,00,20,00,2a,00,00,00,73,00,6e,00,\
61,00,70,00,6e,00,61,00,74,00,69,00,76,00,65,00,2e,00,65,00,78,00,65,00,00,\
00,00,00
中的相关信息,确保system32中有snapnative.exe ,那么重新启动WIN7 就能自动恢复
"AutoReboot"=dword:00000000
"AutoRebootSuccess"=dword:00000000
这两项对应为: 不重启, 完成后重启 出错重启
[ 本帖最后由 ban_r 于 2010-12-24 00:27 编辑 ] 原帖由 lianjiang 于 2010-12-23 16:43 发表 http://bbs.wuyou.net/images/common/back.gif
很有价值,期待进一步研究,实现傻瓜化一键还原。
貌似只支持当前有安装系统才能这样使用吧?
如果当前没装系统就没用了,还是要到PE了吧... 原帖由 andos 于 2010-12-24 08:41 发表 http://bbs.wuyou.net/images/common/back.gif
貌似只支持当前有安装系统才能这样使用吧?
如果当前没装系统就没用了,还是要到PE了吧...
没系统要能云还原,那是最高境界。
那样就什么都不需要了,靠意念就可以,呵呵。 原帖由 lianjiang 于 2010-12-24 10:23 发表 http://bbs.wuyou.net/images/common/back.gif
没系统要能云还原,那是最高境界。
那样就什么都不需要了,靠意念就可以,呵呵。
DOS版...可是这个没DOS版...
所以目前它就是这样... 根据楼主的技术分析,写了一个傻瓜一键还原,欢迎测试。
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=183946&extra=page%3D1
[ 本帖最后由 lianjiang 于 2010-12-24 13:47 编辑 ] 回songhangzhou
一样的是全镜像型的 我们都绕了个弯路了..
其实:本来就有这个参数的: --schedule
snapshot --schedule C: x:\image-C.sna 原帖由 ban_r 于 2010-12-30 15:03 发表 http://bbs.wuyou.net/images/common/back.gif
我们都绕了个弯路了..
其实:本来就有这个参数的: --schedule
snapshot --schedule C: x:\image-C.sna
不错的发现。谢谢分享。 原帖由 ban_r 于 2010-12-30 15:03 发表 http://bbs.wuyou.net/images/common/back.gif
我们都绕了个弯路了..
其实:本来就有这个参数的: --schedule
snapshot --schedule C: x:\image-C.sna
这参数哪里找到的?
帮助信息里似乎没有这个参数的说明。 原帖由 lianjiang 于 2010-12-30 15:29 发表 http://bbs.wuyou.net/images/common/back.gif
这参数哪里找到的?
帮助信息里似乎没有这个参数的说明。
deUPX
之后用notepad打开那snapshot.exe就会找到
scheduling the restore of x:\image-C.sna to C: during the next reboot:
snapshot --schedule C: x:\image-C.sna
--autoreboot:off don't boot after the restore has finished
--autoreboot:success reboot after the image was successfully restored
--autoreboot:any reboot after the image was restored
--listschedule list the scheduled restore
--removeschedule removes the scheduled restore
--addDriver- adds a new Hard Disk Diver to a restored Windows system drive.
You need the driver.sys and the driver.inf file. 这一个应该就是传说中的driver injection功能吧....
[ 本帖最后由 andos 于 2010-12-30 16:24 编辑 ] 原帖由 andos 于 2010-12-30 16:16 发表 http://bbs.wuyou.net/images/common/back.gif
deUPX
之后用notepad打开那snapshot.exe就会找到
scheduling the restore of x:\image-C.sna to C: during the next reboot:
snapshot --schedule C: x:\image-C.sna
--autoreboot:off don't b ...
都是高手,能挖掘。 原帖由 lianjiang 于 2010-12-30 16:28 发表 http://bbs.wuyou.net/images/common/back.gif
都是高手,能挖掘。
见笑了,只是我在用别方面的命令行软件用熟了,那时就发现可以用notepad打开来查看而已,呵呵~~
回复 #20 andos 的帖子
厉害,终于找出来了。官方说明没有更新真害人啊
这样就不必自己写gui了 原帖由 bfgxp 于 2010-12-31 07:34 发表 http://bbs.wuyou.net/images/common/back.gif
厉害,终于找出来了。
官方说明没有更新真害人啊
这样就不必自己写gui了
也说明了这个软件的开发商,不是很正规。
连帮助都不能同步更新。 原帖由 lianjiang 于 2010-12-31 07:50 发表 http://bbs.wuyou.net/images/common/back.gif
也说明了这个软件的开发商,不是很正规。
连帮助都不能同步更新。
没有chnagelog也一直被老外讨厌,每次新版都不知道更新了些什么...
开发者应该是只有一个人似的
[ 本帖最后由 andos 于 2010-12-31 08:08 编辑 ] 原帖由 andos 于 2010-12-31 08:07 发表 http://bbs.wuyou.net/images/common/back.gif
没有chnagelog也一直被老外讨厌,每次新版都不知道更新了些什么...
开发者应该是只有一个人似的
确实是的,不知道更新什么,是很让人讨厌的。
喜欢的只好见一个下一个了。 原帖由 lianjiang 于 2010-12-31 08:10 发表 http://bbs.wuyou.net/images/common/back.gif
确实是的,不知道更新什么,是很让人讨厌的。
喜欢的只好见一个下一个了。
所以有老外说它是只更新日期和License期限而已,哈哈~~
1.40这个版本已经一直很久没变动过版号... 原帖由 andos 于 2010-12-31 08:52 发表 http://bbs.wuyou.net/images/common/back.gif
所以有老外说它是只更新日期和License期限而已,哈哈~~
1.40这个版本已经一直很久没变动过版号...
d0z的ghost安装器1年多以来,也是每次更新写的都是“更新引导模块”。
回复 #28 lianjiang 的帖子
大汗,也许确实只更新了引导模块 原帖由 <i>lianjiang</i> 于 2010-12-31 07:50 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2126391&ptid=183485" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br /><br />
<br />
也说明了这个软件的开发商,不是很正规。<br />
连帮助都不能同步更新。 <br />
但不可否认,这个软件非常优秀
页:
[1]
2