2010-11-13 28 views
6

J'ai écrit un outil de sauvegarde capable de sauvegarder des fichiers et des images de volumes pour Windows. Pour détecter quels fichiers ont changé, j'utilise le Windows Change Journal. J'utilise déjà la fonctionnalité de copie d'ombre pour faire une copie cohérente des fichiers et des images de volume.Journal des modifications pour les blocs sous Windows (NTFS)

Pour détecter les blocs qui ont changé, j'utilise des hachages pour le moment. Cela signifie que le volume entier doit être lu une fois (parce que pour voir quel bloc a changé, les hachages de tous les blocs doivent être calculés). La sauvegarde intégrée à Windows 7 est capable de créer des images de volume incrémentielles sans vérifier tous les blocs. Je n'ai pas réussi à trouver une API pour un type de journal de changement de niveau de bloc.

Est-ce que quelqu'un sait comment accéder à cette information? (Je suis prêt à plonger profondément dans les internes de NTFS - même en lisant et en analysant des fichiers spéciaux)

Répondre

3

Je ne pense pas que les informations de changement de niveau de bloc soient disponibles n'importe où. Le plus probablement ce que fait la sauvegarde intégrée de Windows 7 est qu'il installe un File System Filter Driver comme certains produits de sauvegarde et un logiciel anti-virus. Un pilote de filtre peut intercepter tous les appels de système de fichiers et ainsi savoir quels blocs ont été modifiés. Si vous faites cela, vous pouvez créer votre propre journal des modifications qui fonctionne au niveau du bloc, mais uniquement pour les fichiers qui vous intéressent.

J'aimerais vraiment avoir une meilleure réponse ici.

+0

La création d'un pilote (filtre) serait très bien. Le problème est qu'il s'agit d'un projet open source et que je ne peux pas me permettre (ou mieux: ne pas me permettre) les frais annuels de 500 $ pour un certificat de pilote Windows (64 bits). La seule option que je vois est la création d'un cliché instantané, puis la découverte de ce que Windows enregistre dans ce cliché instantané. Cela a deux inconvénients: le cliché instantané ne peut pas être supprimé (il coûte un espace) et il n'y a pas de documentation sur les clichés instantanés (au format disque) disponibles. Il faudrait inverser le tout. – UrOni

+2

Je n'avais aucune idée qu'il y avait des frais impliqués. L'autre problème avec l'approche de cliché instantané est que l'implémentation peut varier en fonction du fournisseur VSS utilisé. –

+0

Un peu en retard à cette discussion, mais dans le cas où quelqu'un est toujours à la recherche de ceci ... –

0

Lorsque vous dites Windows Change Journal, je suppose que vous faites référence à NTFS USN? Il ressemble beaucoup à la sauvegarde Windows 7 utilise une combinaison de VSC et NTFS USN pour détecter les modifications et créer des images incrémentielles beaucoup comme vous le faites déjà.