6

创建还原点后,Windows 开始监视卷,并且任何更改都记录在系统卷信息文件夹内的专有差异文件中。

通过 VSS-SDK api,我们可以公开该卷,但它向我们展示了整个卷以及自快照创建以来已修改或未修改的所有文件/文件夹,并且在访问任何文件时,过滤器驱动程序应用diff,如果需要,并向我们显示文件。

我的问题:是否可以列出所有修改过的文件,关于还原点(比较影子卷和主卷中每个文件的蛮力方法除外)?

当我们单击文件属性中的先前版本选项卡时,Windows 是如何做到的?

4

4 回答 4

3

利用NTFS 更改日志。Windows 在日志数据库中记录对 NTFS 卷上所有文件的所有更改(如果日志已打开)。可以查询这从特定的起始 USN 编号(您的还原点)返回所有更改

这是一篇关于在实现更改日志功能时帮助我很多的日志的文章

于 2010-10-27T14:04:10.670 回答
1

要检测当前文件系统与卷影副本的变化,您可以使用第三方软件(如 WinMerge)和卷影副本 UNC 路径 http://winmerge.org/。这将提供一个用于比较的 GUI

例如,使用“C:\”,与“\localhost\C$\@GMT-2017.08.24-18.07.46”

当然,输入有效的 UNC 路径以与卷影副本的日期和时间一致。

于 2017-08-24T18:15:44.423 回答
0

我猜最好的方法是蛮力,再加上 USN number-comparison 供参考,类似问题的链接在这里

于 2010-09-06T06:54:03.563 回答
-1

Windows 从属性日期知道修改。它比较这两个文件并检查修改日期。

于 2010-09-02T20:59:35.867 回答