Não vou entrar em muitos detalhes, e percebo que essa é uma pergunta do Windows Server, mas vou apontar duas direções que acho viáveis para seus objetivos.
1) Você poderia usar um sistema de arquivos de registro no diário e capturar as entradas de diário conforme elas acontecessem para produzir uma aproximação não perfeita, mas muito próxima de quantas alterações foram feitas em um intervalo de tempo específico. Então você poderia usar um pouco de matemática para determinar mudanças no nível de bloco para um nível decente de precisão.
Muitos sistemas de arquivos de registro no diário permitem que você coloque o próprio diário em uma peça de armazenamento totalmente diferente dos dados, portanto você poderia fazê-lo (com XFS por exemplo) em um grande armazenamento e depois analisar o diário. fatias de tempo com uma ferramenta separada ou observador.
Muitas possibilidades com essa abordagem eu não estou mencionando .. o céu é o limite.
2) Se você precisar de um mapa realmente preciso sobre fatia de tempo (1) vs fatia de tempo (2) no nível de bloco em termos de alterado / não alterado, posso pensar em usar o DRBD e dois escravos somente de leitura separados (ou software RAID 1, que seria mais fácil e possível no Windows Server, mas mais fisicamente limitante) .. um que é trazido em Time (a) e, em seguida, desconectado. Em seguida, traga o segundo em um momento (b) e, em seguida, desconecte-o e faça uma comparação estática usando qualquer tipo de ferramenta desejada. Basta ler cada bloco de ambas as fontes e fazer um XOR. Se o resultado for maior que zero, ele mudou.