I wrote a backup tool capable of backing up files and volume images for Windows. To determine which files have been modified, I use the Windows change log. I already use the shadow copy function to make a consistent copy of files and volume images.
To determine which blocks have been changed, I use hashes at the moment. This means that the entire volume must be read once (because in order to see which block changed the hashes of all the blocks, you need to calculate it). The backup integrated in Windows 7 is capable of creating incremental volumes of images without checking all blocks. I could not find an API for a kind of block level change log.
Does anyone know how to access this information? (I'm ready to dive deep into the internal parts of NTFS - even reading and parsing special files)
windows block ntfs
Uroni
source share