Napisałem narzędzie do tworzenia kopii zapasowych, które umożliwia tworzenie kopii zapasowych plików i obrazów woluminów dla systemu Windows. Aby wykryć, które pliki się zmieniły, korzystam z Dziennika zmian systemu Windows. Korzystam już z funkcji kopiowania w tle, aby uzyskać spójną kopię zarówno plików, jak i obrazów woluminów.Dziennik zmian bloków w systemie Windows (NTFS)
Aby wykryć, które bloki uległy zmianie używam w tym momencie skrótów. Oznacza to, że cała objętość musi zostać odczytana jeden raz (ponieważ aby zobaczyć, który blok zmienił, należy obliczyć skoki wszystkich bloków). Kopia zapasowa zintegrowana z systemem Windows 7 umożliwia tworzenie przyrostowych obrazów woluminu bez sprawdzania wszystkich bloków. Nie udało mi się znaleźć interfejsu API dla pewnego rodzaju dziennika zmian na poziomie bloku.
Czy ktoś wie, jak uzyskać dostęp do tych informacji? (Jestem gotów zagłębić się w wewnętrzne partycje NTFS - nawet czytanie i przetwarzanie plików specjalnych)
Tworzenie sterownika (filtra) byłoby w porządku. Problem polega na tym, że jest to projekt typu open source i nie mogę sobie pozwolić (lub lepiej: nie chcę sobie pozwolić) na roczną opłatę 500 $ za certyfikat (64-bitowy) sterownika Windows. Pozostała mi tylko opcja tworzenia kopii w tle, a następnie w jakiś sposób dowiedzenia się, jakie okna zapisują w tej kopii w tle. Ma to dwie wady: kopia w tle nie może zostać usunięta (przestrzeń kosztuje) i nie ma dokumentacji o kopiach w tle (w formacie dysku). Trzeba by było wszystko odwrócić. – UrOni
Nie miałem pojęcia, że było za to opłata. Innym problemem z metodą kopiowania w tle jest to, że implementacja może się różnić w zależności od dostawcy VSS, który jest używany. –
Trochę za późno na tę dyskusję, ale na wypadek, gdyby ktoś jeszcze tego szukał ... –