2010-11-13 54 views
6

我已經編寫了一個備份工具,可以備份Windows的卷和卷的映像。要檢測哪些文件已更改,請使用Windows更改日記。我已經使用卷影複製功能來執行文件和捲圖像的一致副本。在Windows中更改日誌塊(NTFS)

要檢測哪些塊已經改變,我現在使用散列。這意味着整個卷必須被讀取一次(因爲要查看哪個塊已經改變了所有塊的哈希值必須被計算)。 集成到Windows 7中的備份能夠在不檢查所有塊的情況下創建增量卷映像。我無法找到一種塊級更改日誌的API。

有誰知道如何訪問這些信息? (我願意深入研究NTFS內部 - 甚至是讀取和解析特殊文件)

回答

3

我不認爲塊級別更改信息在任何地方都可用。最有可能的是Windows 7集成備份的功能是安裝一個File System Filter Driver像一些備份產品和反病毒軟件。過濾器驅動程序可以攔截所有文件系統調用,並以此方式知道哪些塊已更改。如果你這樣做,你基本上可以建立你自己的更改日記,它只適用於你感興趣的文件。

我真的很想在這裏知道更好的答案。

+0

創建(過濾器)驅動程序就好了。問題是,這是一個開源項目,我無法負擔(或者更好:不想承擔)(64位)Windows驅動程序證書每年500美元的費用。我看到的唯一選擇是創建一個影子副本,然後以某種方式找出窗口保存到這個影子副本中的內容。這有兩個缺點:無法刪除卷影副本(花費空間),並且沒有關於卷影副本(磁盤格式)的文檔可用。人們必須對整個事情進行逆向工程。 – UrOni 2011-02-21 21:26:07

+2

不知道有涉及的費用。影子複製方法的另一個問題是實現可能會因使用的VSS提供程序而異。 – 2011-02-22 06:48:05

+0

這個討論有點遲,但是如果有人還在尋找這個... – 2013-06-15 02:59:35

0

當你說Windows Change Journal時,我認爲你指的是NTFS USN?它看起來非常像Windows 7備份使用VSC和NTFS USN的組合來檢測更改並創建增量映像,就像您已經在做的一樣。