|
|
本帖最后由 Bluebells 于 2026-4-3 21:01 编辑
Drive Snapshot 原始文档中根本没有提到所谓的"热还原(Hot Restore)", 即使是其它的众多备份还原软件中都不曾见过, 而"热备份"这个词汇倒是经常会看到
先看看从网上找到的"热备份"的定义: A hot backup, also known as a dynamic backup or an online backup, is the process of backing up data while the system continues to be in operation.
从热备份的定义中, 实在想不到如何实现所谓的"热还原"???
国内网友所指的"热还原"应该是 Drive Snapshot 中的"schedule restore", 计划在下次(系统)重启时还原映像内容
从 Drive Snapshot 官网的页面 http://www.drivesnapshot.de/en/restboot.htm 有相关说明, 也可以在命令行中执行 snapshot --help, 其输出内容也有相关说明
从上面的帮助信息中, 我们可以指定相关参数"计划在下次重启时还原", 但不立即执行重启系统操作
我们可以先使用 nirsoft 的 RegFromApp 监控一下 snapshot 执行 schedule restore 时是否有对注册表进行数据更改
从上面的截图中可以看到 snapshot 在执行 schedule restore 时确实有对注册表数据进行更改, 而且发现一处很有意思的注册表项[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\SESSION MANAGER], 及其值"BootExecute"
为什么说这个注册表项的值的很有意思, 如果以前折腾过"0PE"的话, 对该注册表项的值的数据不会感到陌生
打开注册表编辑器, 定位到注册表项[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\SESSION MANAGER], 并查看值"BootExecute"的数据
又发现一个很有趣的字符串"snapnative.exe", 其实这是一个文件名, 在系统所在分区的 \Windows\System32 目录中可以找到这个文件(这个文件是 Drive Snapshot 执行 schedule restore 时释放到此处的)
将这个文件复制到非系统分区的随便一个位置, 然后使用 Exeinfo PE 查看一下这个文件的信息
PS: 将该文件复制到其它位置是为了避免文件系统重定向问题
可以发现该可执行文件是一个 Windows Native 程序(其实所有利用那个注册表项的值 BootExecute 的程序都是这种程序)
再看看另一处改写的注册表项[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Snapshot]的所有内容
所谓的"热还原"就谈到这了
测试完后, 可以执行 snapshot --removeschedule 取消 schedule restore
PS: 也有人将 schedule restore 在执行还原时的环境称为 DOS, 如果你了解 DOS 与 UEFI 的兼容问题, 也许就不会这么说了吧
此外, Drive Snapshot 的 32 位版本是支持在 DOS 环境下运行的
上图为 drive snapshot 在 FreeDOS 下直接执行时的输出内容
|
|