我编写了一个备份工具,可以为Windows备份卷的文件和映像。要检测哪些文件已更改,请使用Windows Change Journal。我已经使用卷影复制功能来对文件和卷图像进行一致的复制。
要检测哪些块已更改,我现在使用哈希值。这意味着整个卷必须被读取一次(因为要查看哪个块已经改变了所有块的哈希值)。 集成到Windows 7中的备份能够创建增量卷映像而无需检查所有块。我无法为某种块级别更改日志找到API。
有人知道如何访问这些信息吗? (我愿意深入研究NTFS内部 - 甚至阅读和解析特殊文件)
答案 0 :(得分:3)
我不认为块级别更改信息可在任何地方使用。最有可能的是,Windows 7集成备份的功能是安装File System Filter Driver,就像一些备份产品和防病毒软件一样。过滤器驱动程序可以拦截所有文件系统调用,并以这种方式知道哪些块已更改。如果你这样做,你基本上可以构建自己的更改日志,它适用于块级别,但仅适用于您感兴趣的文件。
我真的想在这里找到更好的答案。
答案 1 :(得分:0)
当你说Windows Change Journal我认为你指的是NTFS USN?它看起来非常像Windows 7备份使用VSC和NTFS USN的组合来检测更改并创建增量图像,就像您已经在做的那样。