2010-11-13 2 views
6

Я написал инструмент резервного копирования, способный резервировать файлы и изображения томов для Windows. Чтобы определить, какие файлы были изменены, я использую журнал изменений Windows. Я уже использую функцию теневой копии для последовательной копии файлов и образов томов.Измените журнал для блоков в Windows (NTFS)

Чтобы определить, какие блоки были изменены, я использую хеши в данный момент. Это означает, что весь том должен быть прочитан один раз (потому что для того, чтобы увидеть, какой блок изменил хэши всех блоков, нужно вычислить). Резервное копирование, интегрированное в Windows 7, позволяет создавать инкрементные тома без проверки всех блоков. Я не смог найти API для своего рода журнала изменений уровня блока.

Кто-нибудь знает, как получить доступ к этой информации? (я готов глубоко погрузиться в внутренние части NTFS - даже чтение и разбор специальных файлов)

ответ

3

Я не думаю, что информация об изменении уровня блока доступна в любом месте. Скорее всего, что делает интегрированная резервная копия Windows 7, она устанавливает File System Filter Driver, как и некоторые продукты для резервного копирования, и антивирусное программное обеспечение. Драйвер фильтра может перехватывать все вызовы файловой системы и таким образом знать, какие блоки были изменены. Если вы это сделаете, вы можете создать собственный журнал изменений, который будет работать на уровне блоков, но только для файлов, которые вас интересуют.

Мне бы очень хотелось узнать лучший ответ здесь.

+0

Создание драйвера (фильтра) было бы в порядке. Проблема в том, что это проект с открытым исходным кодом, и я не могу позволить себе (или лучше: не хочу позволить себе) 500-летнюю годовую плату за сертификат 64-битного окна. Единственный вариант, который я вижу, это создать теневую копию, а затем как-то узнать, какие окна сохраняются в этой теневой копии. Это имеет два недостатка: теневую копию нельзя удалить (стоит пробел), и нет никакой документации о теневых копиях (в формате диска). Нужно было бы полностью переделать все это. – UrOni

+2

Если бы не идея, это была плата. Другая проблема с подходом к теневой копии заключается в том, что реализация может различаться в зависимости от используемого поставщика VSS. –

+0

Немного поздно к этому обсуждению, но в случае, если кто-то все еще ищет это ... –

0

Когда вы говорите журнал изменений Windows, я так понимаю, вы имеете в виду NTFS USN? Это похоже на то, что резервная копия Windows 7 использует комбинацию VSC и NTFS USN для обнаружения изменений и создания дополнительных изображений, как вы уже делали.

Смежные вопросы