Você cria um arquivo.
Renomeia uma pasta.
Um programa modifica centenas de arquivos.
Uma atualização substitui componentes.
Milhares de arquivos são criados e excluídos durante uma instalação.
Como programas e componentes do Windows conseguem descobrir que alguma coisa mudou sem precisar analisar continuamente todos os arquivos existentes no SSD?
Parte dessa resposta está escondida dentro do sistema de arquivos NTFS.
O nome do mecanismo é:
USN Change Journal.
Também podemos encontrá-lo chamado simplesmente de:
USN Journal
ou:
Change Journal.
Ele funciona como um diário de alterações mantido pelo NTFS em cada volume no qual está disponível.
Quando arquivos, diretórios e outros objetos NTFS sofrem determinadas alterações, o sistema de arquivos pode acrescentar registros nesse diário.
Esses registros permitem que programas descubram mudanças de maneira muito mais eficiente do que percorrer milhões de arquivos comparando datas e outras informações repetidamente.
E existe um detalhe interessante:
o próprio Windows possui ferramentas capazes de consultar informações desse mecanismo.
Uma delas é:
fsutil usn
Por exemplo:
fsutil usn queryjournal C:
Esse comando permite consultar informações sobre o USN Change Journal do volume C:.
Mas antes de executar comandos, precisamos entender o que o USN realmente é, o que ele registra e, principalmente, o que ele não registra.
Primeiro: o que é NTFS?
Para entender o USN Journal, precisamos começar pelo sistema de arquivos.
Um SSD ou HD não organiza sozinho conceitos como:
C:\Usuarios
C:\Windows
C:\Program Files
O dispositivo de armazenamento fornece blocos nos quais informações podem ser armazenadas.
É o sistema de arquivos que cria a estrutura lógica utilizada pelo sistema operacional para organizar:
- arquivos;
- diretórios;
- nomes;
- atributos;
- permissões;
- metadados;
- localização dos dados;
- diversas outras informações.
No Windows, um dos principais sistemas de arquivos é:
NTFS — New Technology File System.
É comum encontrarmos a unidade do sistema:
C:
formatada em NTFS.
Podemos verificar isso facilmente.
Abra o PowerShell e execute:
Get-Volume
Entre as informações apresentadas existe:
FileSystem
Em uma instalação comum do Windows, poderemos encontrar algo semelhante a:
DriveLetter : C
FileSystem : NTFS
Isso será importante porque o USN Change Journal está intimamente ligado ao funcionamento do sistema de arquivos.
O problema de descobrir o que mudou
Imagine um computador contendo:
1.000 arquivos
Descobrir mudanças nesse conjunto não parece particularmente difícil.
Agora imagine:
100.000 arquivos
Depois:
1.000.000 arquivos
Ou vários milhões.
Um programa interessado em descobrir alterações poderia, teoricamente, percorrer todos eles periodicamente e comparar informações.
Algo conceitualmente semelhante a:
Arquivo 1 mudou?
Arquivo 2 mudou?
Arquivo 3 mudou?
Arquivo 4 mudou?
...
Arquivo 2.000.000 mudou?
Depois de algum tempo:
Vamos verificar tudo novamente.
Esse método seria extremamente ineficiente.
É justamente aqui que um diário de alterações se torna interessante.
Em vez de perguntar repetidamente:
“Qual dos milhões de arquivos mudou?”
o programa pode utilizar informações mantidas pelo sistema de arquivos para descobrir alterações ocorridas desde determinado ponto.
A lógica muda para algo conceitualmente parecido com:
Estado conhecido
↓
USN
↓
novas alterações
↓
programa processa apenas
o que precisa investigar
Isso pode economizar uma enorme quantidade de trabalho.
O que significa USN?
USN significa:
Update Sequence Number.
Em português, podemos traduzir aproximadamente como:
Número de Sequência de Atualização.
Os registros do Change Journal são organizados utilizando números de sequência.
Novos registros aparecem posteriormente no fluxo e recebem valores que permitem determinar sua posição relativa.
Podemos imaginar uma representação simplificada:
USN 1000 → alteração A
USN 1100 → alteração B
USN 1200 → alteração C
USN 1300 → alteração D
USN 1400 → alteração E
Um programa pode guardar uma referência do ponto até onde processou.
Por exemplo:
Último USN processado:
1200
Depois, em vez de analisar novamente tudo desde o começo, ele procura os registros posteriores ao ponto conhecido.
Conceitualmente:
1200
↓
1300
1400
1500
1600
Essa lógica ajuda a compreender por que o mecanismo é tão eficiente.
O USN Journal existe para cada arquivo?
Não.
Essa distinção é importante.
O Change Journal pertence ao:
volume.
Por exemplo, podemos ter:
C:
com seu diário.
Outro volume:
D:
pode possuir outro diário.
Portanto, não existe simplesmente:
um USN Journal global
para todo o computador
A arquitetura é associada aos volumes.
Imagine:
SSD
C: NTFS
↓
USN Change Journal C:
D: NTFS
↓
USN Change Journal D:
Os dois volumes possuem contextos separados.
O que o USN Journal registra?
Quando objetos NTFS são:
- adicionados;
- excluídos;
- modificados;
o NTFS pode criar registros no Change Journal.
Cada registro contém informações que permitem identificar o objeto e o tipo ou motivo da alteração.
Existem vários motivos possíveis.
Alguns exemplos conceituais incluem:
dados sobrescritos
dados acrescentados
dados truncados
arquivo criado
arquivo excluído
renomeação
alteração de informações básicas
alteração de segurança
fechamento
Esses motivos aparecem tecnicamente através de sinalizadores conhecidos como:
USN_REASON
Portanto, o diário não guarda simplesmente:
Arquivo mudou.
Ele consegue fornecer informações mais específicas sobre a natureza da mudança.
Um exemplo simples
Imagine:
C:\Documentos\relatorio.txt
O usuário abre o arquivo.
Depois altera seu conteúdo.
Salva.
Fecha.
O NTFS pode gerar informações relacionadas às alterações ocorridas durante esse processo.
Uma representação didática seria:
relatorio.txt
↓
conteúdo modificado
↓
registro USN
↓
motivo da alteração
Isso permite que um programa interessado saiba que aquele objeto sofreu uma mudança.
O USN Journal guarda o conteúdo antigo do arquivo?
Não.
Esse é provavelmente o ponto mais importante de todo o artigo.
Imagine que:
relatorio.txt
continha:
Versão A
Depois você substituiu o conteúdo por:
Versão B
O USN Change Journal pode registrar que ocorreu uma alteração.
Mas isso não significa que ele tenha armazenado:
Versão A
para que você possa recuperá-la posteriormente.
Portanto:
USN Journal
≠
backup
Também não devemos tratá-lo como:
USN Journal
≠
Histórico de Arquivos
nem:
USN Journal
≠
controle de versões
O objetivo é outro.
O USN Journal consegue desfazer uma alteração?
Não.
O diário registra informações sobre mudanças, mas não possui dados suficientes para reconstruir o estado anterior de um arquivo.
Essa diferença evita uma interpretação perigosa:
“Se o USN registra que um arquivo foi modificado, consigo recuperar o conteúdo anterior pelo USN.”
Não necessariamente.
O diário sabe que aconteceu uma mudança.
Ele não mantém uma cópia integral do conteúdo anterior necessária para desfazê-la.
USN Journal também não é a Lixeira
Outro erro seria confundir o mecanismo com:
Lixeira do Windows
Quando um arquivo é enviado para a Lixeira, existe outro processo envolvido.
O USN Journal pode registrar alterações relacionadas ao objeto, mas não funciona como local de armazenamento dos arquivos excluídos.
Portanto:
Arquivo excluído
↓
registro de mudança
não significa:
Arquivo excluído
↓
cópia completa guardada
dentro do USN Journal
São coisas completamente diferentes.
Ele também não é um sistema de auditoria completo
Outro cuidado importante.
O USN Journal não deve ser interpretado automaticamente como:
“um registro perfeito de tudo que todos os usuários fizeram no computador.”
Esse não é seu objetivo.
Ele registra alterações no sistema de arquivos.
Além disso, registros antigos podem ser removidos conforme o diário precisa administrar seu tamanho.
Portanto, não devemos tratá-lo como uma trilha histórica permanente e infinita.
O histórico do USN é infinito?
Não.
Se cada mudança feita durante anos fosse preservada indefinidamente, o diário poderia crescer continuamente.
O NTFS precisa administrar esse espaço.
Registros antigos podem ser descartados.
Podemos imaginar:
Registros antigos
100
200
300
400
500
Registros novos
600
700
800
900
1000
Conforme o diário avança, registros mais antigos podem deixar de estar disponíveis.
Portanto:
USN Journal é persistente, mas não significa histórico eterno.
Essa distinção é essencial.
O que significa “persistente” nesse contexto?
Significa que o mecanismo não funciona simplesmente como uma pequena lista temporária mantida apenas enquanto determinado programa está aberto.
O diário faz parte da infraestrutura do volume.
Isso permite que aplicações utilizem os registros para acompanhar mudanças mesmo em situações nas quais seria pouco eficiente depender somente de notificações instantâneas.
Mas novamente:
persistente
não significa:
permanente para sempre
Por que registros antigos podem desaparecer?
Porque o Change Journal possui parâmetros relacionados ao gerenciamento de seu tamanho.
Entre as informações associadas ao diário existem conceitos como:
Maximum Size
Allocation Delta
First USN
Next USN
Esses valores ajudam a entender o estado atual do diário.
Mais adiante vamos consultar essas informações diretamente no Windows.
Como saber se existe um USN Journal no C:?
Abra o Prompt de Comando como administrador.
Execute:
fsutil usn queryjournal C:
O Windows poderá apresentar várias informações técnicas.
Dependendo da versão e configuração, podemos encontrar campos relacionados a:
Usn Journal ID
First Usn
Next Usn
Lowest Valid Usn
Max Usn
Maximum Size
Allocation Delta
Os valores podem aparecer em hexadecimal.
Não se preocupe.
Vamos interpretar cada um deles.
O que é o USN Journal ID?
Cada Change Journal possui um identificador.
Esse identificador é importante porque aplicações não deveriam assumir que um diário consultado hoje é necessariamente exatamente a mesma instância utilizada anteriormente.
Imagine que um programa tenha salvo:
Journal ID: A
Último USN: 50000
Depois o diário é excluído e recriado.
Agora existe:
Journal ID: B
O programa não deveria simplesmente continuar assumindo:
USN > 50000
como se nada tivesse acontecido.
O identificador ajuda a verificar a continuidade do diário.
Por que isso importa?
Imagine um programa que acompanha alterações.
Ele sabe:
Último ponto processado:
USN 9000
Depois o diário é recriado.
Se o programa não verificar o identificador, pode interpretar incorretamente os dados.
Portanto, aplicações que trabalham seriamente com Change Journal precisam considerar tanto:
Journal ID
quanto:
USN
É uma proteção importante contra interpretações erradas.
O que é First USN?
De maneira simplificada, representa a região inicial de registros atualmente disponível para leitura no diário.
Isso nos leva a uma conclusão importante.
Se registros antigos forem removidos:
USN antigo
pode ficar abaixo do ponto que ainda está disponível.
Um programa que deixou de consultar o diário por muito tempo pode descobrir que as informações necessárias já não existem.
Nesse caso, ele pode precisar executar uma nova análise mais ampla do volume.
O que é Next USN?
Podemos pensar no:
Next USN
como a posição associada à continuidade do fluxo de registros.
Conforme novas alterações são registradas, os valores avançam.
Isso permite que aplicações saibam aproximadamente até onde o diário chegou.
Uma representação didática:
First USN
↓
[ registros disponíveis ]
↓
Next USN
Não devemos interpretar esses valores como simples números de quantidade de arquivos.
Eles representam posições/sequências dentro do mecanismo.
USN não é número de versão do arquivo
Outro erro possível:
arquivo.txt
USN 100
e depois:
arquivo.txt
USN 200
não significa necessariamente:
versão 1
versão 2
como acontece em um sistema tradicional de controle de versões.
O USN identifica a posição relacionada aos registros de alteração.
Ele não transforma automaticamente cada arquivo em um documento versionado.
Um arquivo possui somente um registro USN?
Não devemos pensar dessa forma.
Um mesmo arquivo pode participar de vários registros ao longo do tempo conforme diferentes alterações acontecem.
Imagine:
arquivo criado
↓
modificado
↓
renomeado
↓
modificado novamente
↓
excluído
O diário pode conter registros associados a diferentes etapas desse processo.
Por isso a ideia correta é:
diário de alterações
e não:
ficha única do arquivo
Várias gravações podem não produzir registros independentes da maneira que você imagina
Aqui o funcionamento fica ainda mais interessante.
O NTFS trabalha com sinalizadores de motivo.
Durante determinadas sequências de operações sobre um arquivo aberto, alterações do mesmo tipo podem ser consolidadas na forma como os motivos aparecem nos registros.
Isso significa que não devemos interpretar o USN Journal como:
cada tecla digitada
=
um registro
ou:
cada byte gravado
=
um registro
Não funciona assim.
O diário registra mudanças relevantes segundo a lógica do sistema de arquivos.
O sinalizador CLOSE é particularmente interessante
Quando operações sobre determinado arquivo são concluídas e ele é fechado, registros podem envolver o motivo:
USN_REASON_CLOSE
Isso pode ajudar aplicações interessadas em processar alterações após a conclusão de uma sequência de modificações.
Mas novamente:
o USN não fornece uma reprodução completa, passo a passo, de tudo que aconteceu dentro do arquivo.
O diário fornece um histórico parcial
Essa expressão é importante.
Podemos imaginar:
arquivo.docx
criado
↓
alterado
↓
renomeado
↓
alterado
↓
fechado
O USN Journal fornece informações sobre eventos relacionados ao objeto.
Mas não devemos esperar:
conteúdo antes
conteúdo depois
usuário digitou isto
programa mudou aquilo
O nível de informação é diferente.
Por que programas preferem consultar o USN em vez de verificar timestamps?
Imagine um programa acompanhando:
2.000.000 de arquivos
Sem um mecanismo eficiente, ele poderia precisar verificar repetidamente:
Data de modificação
Tamanho
Atributos
de cada arquivo.
Com o Change Journal, ele pode descobrir que apenas:
37 arquivos
sofreram mudanças relevantes desde sua última consulta.
A diferença de trabalho pode ser enorme.
É por isso que a documentação da Microsoft descreve a consulta ao USN Change Journal como muito mais eficiente do que depender de verificações repetidas de timestamps ou de determinadas abordagens baseadas apenas em notificações.
O Windows Search tem relação com isso?
A indexação é um excelente exemplo para entender a utilidade conceitual desse mecanismo.
Imagine que o sistema tenha indexado:
1.500.000 arquivos
Depois você altera apenas:
25 arquivos
Seria extremamente ineficiente reconstruir todo o índice apenas para descobrir quais 25 mudaram.
Um mecanismo de acompanhamento de alterações permite identificar mudanças de maneira muito mais eficiente.
A própria documentação da Microsoft destaca a importância dos Change Journals para recuperação da indexação do sistema de arquivos.
Isso explica por que o Windows consegue acompanhar tantas mudanças?
Em parte, sim.
Mas não devemos atribuir toda a lógica do Windows ao USN Journal.
O sistema operacional possui vários mecanismos diferentes para:
notificações
cache
indexação
sistema de arquivos
sincronização
monitoramento
O USN Change Journal é uma peça importante dessa infraestrutura.
Não é a única.
Onde o USN Journal fica armazenado?
Aqui entramos em uma área interessante do NTFS.
O Change Journal está relacionado a estruturas internas do sistema de arquivos e não aparece como uma pasta comum que você simplesmente abre no Explorer.
Você não encontrará normalmente:
C:\USN Journal
com vários arquivos de texto dentro.
Internamente, o NTFS utiliza estruturas próprias para armazenar essas informações.
Um caminho técnico frequentemente associado ao diário envolve metadados NTFS sob:
$Extend\$UsnJrnl
Isso não significa que devemos começar a tentar abrir, modificar ou excluir manualmente essas estruturas.
Elas pertencem ao funcionamento interno do sistema de arquivos.
O que é $UsnJrnl?
É uma estrutura interna relacionada ao Change Journal do NTFS.
O nome:
$UsnJrnl
pode aparecer em ferramentas que inspecionam estruturas internas do NTFS.
Ela não deve ser tratada como um arquivo comum de usuário.
O sistema de arquivos administra seu conteúdo.
Existe relação entre USN Journal e MFT?
Sim, mas eles não são a mesma coisa.
A:
MFT — Master File Table
é uma das estruturas fundamentais do NTFS.
Ela mantém registros relacionados aos arquivos e diretórios existentes no volume.
Já o:
USN Change Journal
acompanha alterações.
Podemos simplificar:
NTFS
|
+-- MFT
| ↓
| informações sobre
| objetos do sistema
|
+-- USN Change Journal
↓
alterações
ocorridas
Essa é uma simplificação didática, mas ajuda bastante.
A MFT será assunto para outro artigo
A Master File Table merece um post próprio porque é uma das estruturas mais importantes do NTFS.
Ela ajuda a explicar:
- como arquivos são representados;
- metadados;
- referências;
- diretórios;
- fragmentação da própria MFT;
- arquivos pequenos residentes;
- identificação de objetos.
Misturar tudo neste artigo deixaria o assunto excessivamente amplo.
Aqui nosso foco permanece no USN Journal.
Posso visualizar o USN Journal?
Sim.
O próprio fsutil possui comandos relacionados à leitura.
A sintaxe documentada inclui:
fsutil usn readjournal
Além disso, podemos consultar dados USN associados a um arquivo específico.
Por exemplo:
fsutil usn readdata C:\Temp\teste.txt
Esses comandos são muito interessantes porque permitem observar o mecanismo sem instalar programas adicionais.
Vamos criar um arquivo para estudar
Podemos utilizar um arquivo de teste inofensivo.
No PowerShell:
New-Item C:\Temp -ItemType Directory -Force
Depois:
Set-Content C:\Temp\teste-usn.txt "Teste VMIA"
Agora temos:
C:\Temp\teste-usn.txt
Podemos consultar informações USN relacionadas ao arquivo:
fsutil usn readdata C:\Temp\teste-usn.txt
O Windows poderá apresentar informações técnicas relacionadas ao objeto.
Modifique o arquivo
No PowerShell:
Add-Content C:\Temp\teste-usn.txt "Segunda alteração"
Agora o arquivo sofreu uma nova mudança.
Podemos consultar novamente:
fsutil usn readdata C:\Temp\teste-usn.txt
A experiência ajuda a visualizar que o sistema de arquivos acompanha mudanças em um nível muito mais profundo do que aquilo que aparece no Explorer.
readdata e readjournal não são a mesma coisa
Essa diferença é importante.
O comando:
fsutil usn readdata
trabalha com dados USN relacionados a um arquivo especificado.
Já:
fsutil usn readjournal
permite ler registros existentes no Change Journal.
Portanto, não trate os dois comandos como sinônimos.
queryjournal responde outra pergunta
Temos então três comandos com finalidades diferentes:
fsutil usn queryjournal C:
Pergunta:
qual é o estado/configuração do diário deste volume?
fsutil usn readdata arquivo
Pergunta:
quais informações USN estão associadas a este arquivo?
fsutil usn readjournal C:
Pergunta:
quais registros existem no diário?
Separar essas funções deixa o diagnóstico muito mais fácil.
É preciso executar como administrador?
Operações de baixo nível relacionadas ao fsutil podem exigir privilégios administrativos.
Por isso, para acompanhar os exemplos deste artigo, prefira abrir:
Terminal / Prompt de Comando como administrador
quando necessário.
Isso também evita interpretar uma mensagem de falta de permissão como se significasse que o USN Journal não existe.
Posso apagar o USN Journal?
Existe comando para isso.
Mas aqui entra uma recomendação importante:
não faça isso apenas para testar, limpar espaço ou tentar acelerar o Windows.
A Microsoft recomenda extremo cuidado ao desabilitar um Change Journal ativo porque outros componentes e aplicações podem depender dele.
Excluir o diário pode obrigar programas a executar novamente verificações completas do volume.
Portanto, este artigo não recomenda usar:
deletejournal
como ferramenta de limpeza ou otimização.
“Apagar o USN deixa o PC mais rápido” é um mau conselho
Encontrar uma estrutura grande do sistema e concluir:
ocupa espaço
↓
vou apagar
↓
Windows ficará mais rápido
é uma estratégia perigosa.
O USN Journal existe por um motivo.
Se aplicações conseguem descobrir alterações consultando um diário, eliminar esse diário pode justamente obrigá-las a fazer mais trabalho posteriormente.
Portanto, o objetivo deve ser:
entender
diagnosticar
consultar
e não:
apagar tudo que parece grande
O USN Journal pode ocupar espaço?
Sim.
Como qualquer estrutura armazenada, ele utiliza espaço.
Mas seu tamanho é administrado pelo NTFS de acordo com parâmetros próprios.
O comando:
fsutil usn queryjournal C:
permite observar informações relacionadas ao tamanho configurado.
Isso não significa que devemos alterar esses valores sem motivo.
Em um computador doméstico normal, geralmente não existe razão para ficar ajustando manualmente o USN Journal.
O USN Journal causa desgaste excessivo no SSD?
Não devemos concluir isso simplesmente porque o diário registra alterações.
SSDs modernos e o Windows executam inúmeras operações de metadados durante o uso normal.
O Change Journal faz parte do funcionamento previsto do sistema de arquivos.
Desativá-lo aleatoriamente para “poupar o SSD” não é uma recomendação adequada.
Uma análise real de desgaste deve observar dados de saúde da unidade, volume de gravações, carga de trabalho e especificações do dispositivo.
USN Journal é vírus?
Não.
A presença de:
$UsnJrnl
ou informações relacionadas ao USN faz parte do NTFS.
Naturalmente, programas legítimos e maliciosos podem provocar alterações em arquivos que resultam em registros.
Mas o mecanismo em si pertence ao sistema de arquivos.
Antivírus pode utilizar informações de alterações?
Soluções de segurança possuem arquiteturas próprias e podem usar diversos mecanismos do Windows.
O ponto importante é não afirmar que todo antivírus depende obrigatoriamente do USN Journal para funcionar.
O Change Journal fornece uma maneira eficiente de acompanhar alterações, mas cada produto pode implementar sua lógica de maneira diferente.
Programas de backup podem usar USN?
Algumas soluções podem utilizar mecanismos de acompanhamento de alterações para evitar analisar novamente todos os arquivos a cada execução.
Isso é especialmente útil em tarefas incrementais.
Imagine:
Backup inicial
1.000.000 arquivos
Depois apenas:
500 arquivos mudaram
Saber quais objetos sofreram alterações pode tornar o processo muito mais eficiente.
Mas a implementação depende de cada software.
USN Journal não substitui backup incremental
É importante separar:
descobrir que mudou
de:
guardar a nova versão
O USN pode ajudar um programa a descobrir alterações.
O software de backup ainda precisa:
ler os dados
copiar os dados
armazenar o backup
administrar versões
Portanto:
USN Journal
é um mecanismo de acompanhamento.
Não um destino de backup.
O que acontece se o diário perder registros que um programa precisava?
Essa é uma das limitações mais interessantes.
Imagine:
Programa consultou até USN 1000
Depois ficou muito tempo sem consultar.
Enquanto isso:
milhões de alterações
aconteceram.
O NTFS precisou remover registros antigos.
Agora o registro:
USN 1001
que o programa esperava já não está disponível.
Nesse cenário, a aplicação não pode simplesmente presumir que conhece todas as mudanças.
Ela pode precisar realizar uma nova varredura completa ou outro procedimento de recuperação.
Isso explica por que o gerenciamento correto do diário é tão importante.
Por que o USN Journal é tão interessante?
Porque ele revela uma diferença enorme entre aquilo que enxergamos e aquilo que o Windows precisa administrar.
No Explorer vemos:
Arquivo
Pasta
Data
Tamanho
Por baixo disso existe uma infraestrutura muito mais sofisticada:
NTFS
MFT
identificadores
atributos
metadados
USN
Change Journal
permissões
clusters
O Windows não trabalha apenas com nomes de arquivos.
Ele mantém estruturas projetadas para gerenciar milhões de objetos com eficiência.
O USN Journal é uma dessas estruturas invisíveis
Quando você salva:
foto.jpg
vê apenas um arquivo.
O NTFS precisa lidar com muito mais:
nome
localização
metadados
atributos
segurança
dados
alterações
O Change Journal é uma peça dessa arquitetura.
E justamente por funcionar nos bastidores, muitos usuários nunca ouviram falar dele.
O que aprendemos até aqui?
O USN Change Journal:
- pertence à infraestrutura do NTFS;
- funciona por volume;
- registra alterações em objetos do sistema de arquivos;
- utiliza Update Sequence Numbers;
- permite acompanhar mudanças de maneira eficiente;
- pode ser consultado por aplicações;
- possui tamanho administrado;
- pode perder registros antigos;
- não armazena versões completas dos arquivos;
- não substitui backup;
- não é a Lixeira;
- não deve ser apagado como suposta otimização.
Esse conjunto de conceitos é fundamental antes de começarmos a interpretar os registros reais.
Interpretando o USN Journal na prática
Agora que já entendemos o que é o USN Change Journal, podemos sair da teoria e observar como o NTFS apresenta essas informações no Windows 11.
O primeiro comando é:
fsutil usn queryjournal C:
Ele não mostra uma lista de todos os arquivos alterados. Sua função é consultar o estado atual do diário daquele volume: identificador, limites de USN, capacidade e parâmetros usados para gerenciar o Journal. A própria documentação da Microsoft descreve queryjournal como o comando para coletar informações sobre o diário atual, seus registros e sua capacidade.
Em um computador real, a saída pode variar, mas normalmente veremos campos semelhantes a:
Usn Journal ID
First Usn
Next Usn
Lowest Valid Usn
Max Usn
Maximum Size
Allocation Delta
Vamos entender cada um.
Usn Journal ID: a identidade daquele diário
O campo:
Usn Journal ID
identifica a instância atual do Change Journal.
Isso é importante porque o diário pode ser excluído e recriado. Imagine que um programa tenha armazenado:
Journal ID = A
Último USN = 0x250000
Na próxima execução, ele encontra:
Journal ID = B
Nesse caso, não deve simplesmente continuar lendo depois de 0x250000, porque aquele ponto pertencia a outro Journal.
A lógica correta seria:
Journal ID anterior
↓
comparar
↓
Journal ID atual
↓
igual?
┌──────┴──────┐
sim não
↓ ↓
continuar revisar estado
Esse detalhe é fundamental para aplicações que dependem do Change Journal de forma confiável.
First Usn: até onde o passado ainda está disponível
O:
First Usn
indica o ponto inicial disponível para leitura no estado atual do Journal.
Isso ajuda a entender um dos conceitos mais importantes do USN:
o diário não cresce para sempre.
Imagine que ontem estivessem disponíveis:
1000
1100
1200
1300
1400
1500
Depois de muitas alterações, registros antigos podem ser descartados.
Hoje poderíamos ter:
1300
1400
1500
1600
1700
1800
O programa que ainda precisa do:
1100
tem um problema: aquela informação pode não existir mais.
É por isso que aplicações que utilizam o USN Journal precisam verificar se o ponto no qual pretendem continuar ainda é válido.
Next Usn: onde o Journal continua
Outro valor importante é:
Next Usn
Podemos enxergá-lo conceitualmente como a posição para a continuidade do fluxo.
Imagine:
First USN
↓
[ registros existentes ]
↓
Next USN
Novos registros são acrescentados ao final do diário. A documentação oficial confirma que os registros USN são adicionados ao final do fluxo conforme objetos NTFS são criados, excluídos ou modificados.
É importante novamente evitar uma interpretação errada.
Se aparecer algo como:
Next Usn = 0x000000004A123000
isso não significa que existam 4 bilhões de arquivos ou determinada quantidade de alterações.
USN é uma posição/número de sequência dentro do mecanismo.
Lowest Valid Usn
O nome praticamente explica a função:
Lowest Valid Usn
é um limite relacionado aos valores USN que ainda podem ser considerados válidos na situação atual do Journal.
Para um programa que guardou um ponto anterior, essa informação é relevante para determinar se ainda consegue continuar seu processamento incremental ou se precisa executar uma nova análise.
Podemos simplificar:
USN salvo pelo programa
↓
ainda está dentro
do intervalo válido?
/ \
sim não
↓ ↓
continuar reavaliar
Esse é um dos motivos pelos quais o USN Journal é mais sofisticado do que simplesmente manter uma lista de nomes de arquivos.
Maximum Size: quanto espaço o Journal pretende usar
Outro campo encontrado é:
Maximum Size
Ele está relacionado ao tamanho máximo configurado para o Change Journal.
A documentação do fsutil usn descreve o parâmetro m=<maxsize> como o tamanho máximo, em bytes, que o NTFS aloca ao diário.
Isso não deve ser interpretado de maneira rígida como:
Maximum Size = exatamente o tamanho
do arquivo neste segundo
O gerenciamento do Journal envolve alocação e remoção de espaço conforme o NTFS trabalha.
O importante é entender a ideia:
Journal cresce
↓
atinge determinada região
de gerenciamento
↓
registros antigos podem
ser removidos
Allocation Delta
Também podemos encontrar:
Allocation Delta
Esse parâmetro define unidades usadas no crescimento e gerenciamento do Change Journal.
A documentação do fsutil descreve allocationdelta como a quantidade adicionada ao final e removida do início do diário durante seu gerenciamento.
Isso ajuda a evitar alterações minúsculas constantes no espaço reservado.
Didaticamente:
Journal precisa crescer
↓
adiciona um bloco
↓
continua trabalhando
e, ao realizar manutenção:
registros antigos
↓
blocos podem deixar
de fazer parte da região útil
Os valores podem aparecer em hexadecimal
Ao executar:
fsutil usn queryjournal C:
é comum encontrar valores iniciados por:
0x
Por exemplo:
0x00000000031f0000
Isso indica representação hexadecimal.
Não precisamos converter todos esses valores para usar o comando como diagnóstico.
No contexto deste artigo, muitas vezes o mais útil é comparar:
antes
versus
depois
ou observar:
First Usn
Next Usn
Journal ID
Agora vamos observar um arquivo real
Vamos criar uma pasta somente para o teste:
mkdir C:\Temp\VMIA-USN
Depois crie um arquivo:
echo Primeira linha > C:\Temp\VMIA-USN\teste.txt
Agora execute:
fsutil usn readdata C:\Temp\VMIA-USN\teste.txt
A Microsoft documenta readdata justamente como o comando usado para ler os dados USN associados a um arquivo.
A saída pode incluir informações técnicas como:
Major Version
Minor Version
File Reference Number
Parent File Reference Number
Usn
Time Stamp
Reason
Source Info
Security Id
File Attributes
A composição exata pode variar conforme versão e formato do registro.
File Reference Number: o NTFS não depende apenas do nome
Um dos conceitos mais interessantes que aparece nesse nível é o:
File Reference Number
Para nós, um arquivo é:
C:\Temp\VMIA-USN\teste.txt
Para o NTFS, o nome não é a única forma de identificar aquele objeto.
Internamente existem referências associadas aos registros da MFT.
Isso se torna particularmente importante quando pensamos em renomeações.
Imagine:
teste.txt
passando a se chamar:
relatorio.txt
O nome mudou.
Mas isso não significa necessariamente que o NTFS tenha criado um arquivo completamente novo apenas porque o texto visível do nome mudou.
A referência ajuda aplicações a acompanhar o objeto mesmo diante de determinadas mudanças de nome e localização.
Parent File Reference Number
Também podemos encontrar uma referência ao objeto pai:
Parent File Reference Number
Se temos:
C:\Temp\VMIA-USN\teste.txt
o arquivo está dentro de:
VMIA-USN
Essa pasta possui sua própria representação dentro do NTFS.
Em registros do Change Journal, a combinação entre referência do objeto, referência do diretório pai e nome permite reconstruir informações importantes sobre o contexto daquela mudança.
O campo Reason é onde a coisa fica realmente interessante
O:
Reason
indica por que aquele registro foi criado.
O Windows define uma série de sinalizadores:
USN_REASON_...
Esses valores podem ser combinados.
Portanto, um registro não precisa representar somente:
arquivo alterado
Ele pode indicar diferentes tipos de mudança.
Vamos conhecer os mais úteis.
USN_REASON_FILE_CREATE
O sinalizador:
USN_REASON_FILE_CREATE
indica que um arquivo ou diretório foi criado.
O valor documentado é:
0x00000100
A documentação da Microsoft define esse motivo como a criação inicial do arquivo ou diretório.
Nosso comando:
echo Primeira linha > C:\Temp\VMIA-USN\teste.txt
acabou de provocar uma criação.
Conceitualmente:
teste.txt não existe
↓
arquivo criado
↓
FILE_CREATE
USN_REASON_FILE_DELETE
Quando um arquivo ou diretório é excluído, existe:
USN_REASON_FILE_DELETE
com valor:
0x00000200
O motivo registra a exclusão do objeto.
Mais uma vez:
FILE_DELETE
não significa que o conteúdo excluído ficou armazenado dentro do Journal.
Significa apenas que o Journal registrou o evento relacionado à exclusão.
DATA_OVERWRITE: dados foram sobrescritos
O:
USN_REASON_DATA_OVERWRITE
aparece quando dados do arquivo são sobrescritos.
Seu valor é:
0x00000001
A documentação oficial associa esse motivo diretamente à sobrescrita dos dados.
Podemos provocar um exemplo simples:
echo Conteudo novo > C:\Temp\VMIA-USN\teste.txt
O operador:
>
substitui o conteúdo do arquivo.
DATA_EXTEND: o arquivo ganhou dados
Agora execute:
echo Mais uma linha >> C:\Temp\VMIA-USN\teste.txt
Observe a diferença:
>
sobrescreve.
Enquanto:
>>
acrescenta conteúdo ao final.
Uma operação que amplia dados pode envolver:
USN_REASON_DATA_EXTEND
documentado com o valor:
0x00000002
e associado ao acréscimo de dados ao arquivo ou diretório.
DATA_TRUNCATION
Outro sinalizador é:
USN_REASON_DATA_TRUNCATION
Valor:
0x00000004
Ele representa truncamento.
Em termos simples, significa que o conteúdo foi reduzido.
Imagine um arquivo contendo:
Linha 1
Linha 2
Linha 3
Linha 4
Linha 5
que passa para:
Linha 1
O tamanho efetivo dos dados diminuiu.
Esse tipo de situação pode gerar o motivo de truncamento.
BASIC_INFO_CHANGE não significa mudança no conteúdo
Este é um ótimo detalhe para diagnóstico.
Existe:
USN_REASON_BASIC_INFO_CHANGE
Ele pode aparecer quando mudam atributos ou timestamps.
Exemplos incluem:
Somente leitura
Oculto
Sistema
Arquivo
Sparse
timestamps
A Microsoft documenta explicitamente esses casos.
Portanto:
BASIC_INFO_CHANGE
não significa automaticamente:
conteúdo textual do arquivo mudou
Pode ter sido apenas um atributo.
Por exemplo:
attrib +R C:\Temp\VMIA-USN\teste.txt
marca o arquivo como somente leitura.
Isso altera metadados sem necessariamente mudar o conteúdo.
SECURITY_CHANGE
Também existe:
USN_REASON_SECURITY_CHANGE
relacionado a mudanças na segurança do arquivo ou diretório.
Isso pode envolver alterações no descritor de segurança.
É uma lembrança importante de que o NTFS não controla apenas:
nome
dados
tamanho
Ele também gerencia permissões e informações de segurança.
COMPRESSION_CHANGE
O motivo:
USN_REASON_COMPRESSION_CHANGE
indica mudança no estado de compactação do objeto. A Microsoft documenta esse sinalizador para transições de arquivo/diretório compactado para não compactado ou vice-versa.
Isso conecta o USN Journal a outro recurso interessante do NTFS:
compactação
Ou seja, uma mudança que parece simplesmente uma propriedade do arquivo também pode gerar informação no Journal.
ENCRYPTION_CHANGE
Também existe:
USN_REASON_ENCRYPTION_CHANGE
associado a uma mudança no estado de criptografia do arquivo ou diretório.
Novamente percebemos que o Change Journal acompanha muito mais que gravações tradicionais de conteúdo.
RENAME_OLD_NAME e RENAME_NEW_NAME
Renomear um arquivo é particularmente interessante.
Existem dois sinalizadores:
USN_REASON_RENAME_OLD_NAME
e:
USN_REASON_RENAME_NEW_NAME
A documentação descreve o primeiro como o registro contendo o nome antigo e o segundo como o registro contendo o novo nome.
Vamos testar:
ren C:\Temp\VMIA-USN\teste.txt relatorio.txt
Conceitualmente:
teste.txt
↓
RENAME_OLD_NAME
relatorio.txt
↓
RENAME_NEW_NAME
Essa dupla de registros permite acompanhar uma renomeação.
Renomear não é simplesmente “apagar e criar outro”
Para um usuário olhando o Explorer:
teste.txt
desaparece e:
relatorio.txt
aparece.
Seria fácil imaginar:
teste.txt excluído
+
relatorio.txt criado
Mas o NTFS possui um motivo específico para renomeação.
Isso demonstra por que interpretar apenas nomes pode levar a conclusões erradas.
E mover um arquivo para outra pasta?
Uma movimentação dentro do mesmo volume também pode envolver informações de renomeação/contexto.
Imagine:
C:\Temp\VMIA-USN\relatorio.txt
movido para:
C:\Documentos\relatorio.txt
Não devemos assumir automaticamente que isso equivale a:
arquivo original destruído
+
novo arquivo criado do zero
O comportamento dependerá da operação e, especialmente, se ela ocorre dentro do mesmo volume ou entre volumes diferentes.
Essa diferença é importante.
Mover:
C: → C:
não é conceitualmente idêntico a mover:
C: → D:
porque estamos atravessando sistemas de arquivos/volumes distintos.
O significado especial de CLOSE
Agora chegamos a:
USN_REASON_CLOSE
valor:
0x80000000
Esse sinalizador indica que o arquivo ou diretório foi fechado.
Mas seu papel no Journal é mais interessante do que parece.
A documentação da Microsoft explica que várias alterações durante a mesma abertura de um arquivo podem acumular motivos, e o registro final com CLOSE pode funcionar como um resumo dos tipos de alterações daquela sequência.
Um exemplo oficial ajuda a entender
Imagine um programa que:
abre arquivo
↓
grava dados
↓
altera timestamp
↓
grava novamente
↓
trunca
↓
grava
↓
fecha
Seria intuitivo pensar:
6 operações
=
6 registros independentes
Mas não necessariamente.
A Microsoft explica que, quando o mesmo tipo de alteração ocorre repetidamente sem fechamento e reabertura intermediários, o NTFS pode evitar a criação de um novo registro simplesmente porque aquele motivo já está marcado.
Portanto:
write
write
write
write
não significa obrigatoriamente:
4 × DATA_OVERWRITE
Isso destrói um mito importante sobre o USN Journal
O Journal não é um gravador de cada operação individual.
Ele não deve ser interpretado como:
14:01:01 - byte alterado
14:01:02 - outro byte alterado
14:01:03 - outro byte alterado
Sua lógica é baseada nos tipos de alteração registrados pelo NTFS.
A documentação oficial chama a sequência resultante de um histórico parcial das mudanças no arquivo.
Essa palavra é fundamental:
parcial.
O registro CLOSE não informa a ordem de todas as alterações
Imagine que o registro final tenha sinalizadores equivalentes a:
DATA_OVERWRITE
BASIC_INFO_CHANGE
DATA_TRUNCATION
CLOSE
Podemos concluir que esses tipos de alteração ocorreram naquela sequência de uso.
Mas não podemos usar somente esse registro final para afirmar:
primeiro aconteceu A
depois B
depois C
A própria Microsoft observa que o registro final com CLOSE resume os tipos de mudança, mas não indica a ordem delas.
Vamos montar um teste completo
Crie novamente o arquivo:
echo Inicio > C:\Temp\VMIA-USN\teste.txt
Consulte:
fsutil usn readdata C:\Temp\VMIA-USN\teste.txt
Agora acrescente dados:
echo Segunda linha >> C:\Temp\VMIA-USN\teste.txt
Consulte novamente:
fsutil usn readdata C:\Temp\VMIA-USN\teste.txt
Renomeie:
ren C:\Temp\VMIA-USN\teste.txt teste-renomeado.txt
Consulte:
fsutil usn readdata C:\Temp\VMIA-USN\teste-renomeado.txt
Finalmente, exclua:
del C:\Temp\VMIA-USN\teste-renomeado.txt
Agora já não podemos executar:
fsutil usn readdata ...
sobre aquele caminho porque o arquivo deixou de existir.
É aqui que precisamos olhar para o diário completo.
readjournal: entrando no fluxo de registros
Execute:
fsutil usn readjournal C:
Esse comando lê registros do USN Journal daquele volume. A documentação atual do Windows 11 também permite parâmetros como startusn, além de filtros relacionados às versões dos registros.
Há um problema prático:
o resultado pode ser enorme.
Em um Windows em uso, alterações acontecem continuamente:
logs
cache
Windows Defender
navegadores
serviços
Windows Update
aplicativos
arquivos temporários
indexação
Por isso simplesmente executar:
fsutil usn readjournal C:
pode gerar uma quantidade gigantesca de saída.
É aí que startusn se torna útil
A sintaxe atual suporta:
fsutil usn readjournal startusn=<USN> C:
A Microsoft fornece inclusive exemplo de leitura começando em um USN específico.
A estratégia profissional é:
1. consultar Next Usn
2. guardar esse valor
3. fazer a alteração de teste
4. ler a partir daquele ponto
Assim reduzimos drasticamente o ruído.
Exemplo de metodologia
Primeiro:
fsutil usn queryjournal C:
Anote:
Next Usn
Imagine que seja:
0x0000000012345000
Agora crie:
echo VMIA > C:\Temp\VMIA-USN\observacao.txt
Renomeie:
ren C:\Temp\VMIA-USN\observacao.txt observacao-renomeada.txt
Depois leia a partir do ponto anotado:
fsutil usn readjournal startusn=0x0000000012345000 C:
Agora você estará olhando principalmente para eventos que aconteceram depois daquele ponto.
Ainda pode existir ruído de outros processos, mas a análise fica muito mais prática.
Não espere encontrar apenas seu arquivo
Mesmo que você faça o teste rapidamente, o Windows continua ativo.
Enquanto isso:
serviço A escreve log
navegador atualiza cache
antivírus toca arquivo
Explorer cria informação
programa salva configuração
Todos esses eventos podem gerar alterações no NTFS.
Portanto, o Change Journal fornece uma excelente demonstração de quanto trabalho acontece nos bastidores do Windows.
Por que timestamps sozinhos seriam piores?
Suponha que um programa queira saber quais arquivos mudaram desde ontem.
Uma estratégia seria visitar:
Arquivo 1
Arquivo 2
Arquivo 3
...
Arquivo 3.000.000
e comparar:
LastWriteTime
O USN Journal oferece um modelo muito mais eficiente porque o programa pode trabalhar com alterações registradas desde um determinado ponto.
A Microsoft afirma explicitamente que consultar o Change Journal pode ser mais eficiente do que verificar timestamps ou depender exclusivamente de notificações de arquivo.
Mas o Journal não responde todas as perguntas
Essa limitação é essencial.
Imagine que um registro indique:
DATA_OVERWRITE
Sabemos que dados foram sobrescritos.
Mas não sabemos automaticamente:
qual texto existia antes
qual texto existe depois
qual linha mudou
qual usuário digitou
qual intenção havia
Precisamos de outras fontes para essas respostas.
O USN Journal responde principalmente:
“que tipo de alteração o NTFS registrou para este objeto?”
USN Journal não substitui o Visualizador de Eventos
O Visualizador de Eventos responde perguntas sobre eventos gerados por componentes e aplicações.
O USN Journal trabalha no nível do sistema de arquivos.
São camadas diferentes.
Exemplo:
Visualizador de Eventos
↓
serviço falhou
aplicativo travou
driver gerou evento
Enquanto:
USN Journal
↓
arquivo criado
dados alterados
arquivo renomeado
arquivo excluído
Combinar fontes pode ser muito poderoso em uma investigação técnica.
Também não substitui auditoria de arquivos
O Windows possui mecanismos específicos para auditoria de acesso a objetos.
Se a pergunta for:
“qual usuário tentou acessar este arquivo?”
o Change Journal sozinho não é necessariamente a ferramenta adequada.
Se a pergunta for:
“o NTFS registrou uma mudança neste objeto?”
aí o USN se torna muito mais relevante.
O que o técnico deve extrair do USN?
Para suporte e diagnóstico, os conceitos mais úteis são:
objeto alterado
tipo de alteração
posição USN
identidade do Journal
continuidade dos registros
Não devemos vender o USN como uma ferramenta mágica de investigação.
Seu valor está justamente em saber qual pergunta ele consegue responder.
Por que isso é útil para entender backups e indexadores?
Agora fica muito mais fácil compreender a arquitetura.
Imagine um programa de backup incremental.
Na última execução:
Journal ID: ABC
Último USN: X
Na execução seguinte:
Journal ID ainda é ABC?
↓
sim
↓
X ainda é válido?
↓
sim
↓
ler alterações posteriores
Isso evita necessariamente voltar a verificar milhões de arquivos simplesmente para descobrir quais mudaram.
A implementação real depende de cada software, mas esse modelo mostra por que um Change Journal é tão valioso.
E se o Journal tiver sido recriado?
O fluxo quebra.
Imagine:
ontem
Journal ID = ABC
Hoje:
Journal ID = XYZ
O programa não deve confiar cegamente no antigo USN.
Ele precisa reconhecer que perdeu a continuidade.
Esse é outro motivo para não excluir o Change Journal manualmente sem necessidade.
E se o First Usn já tiver passado do ponto salvo?
Outro cenário:
Programa guardou:
USN 1000
Hoje o volume informa:
First Usn = 5000
Os registros entre:
1000 → 4999
já não estão disponíveis naquele Journal.
Nesse caso, o programa não tem como reconstruir todas aquelas mudanças apenas lendo o diário atual.
Pode ser necessário:
nova varredura
reindexação
resincronização
dependendo da aplicação.
Por isso “limpar o USN” pode causar exatamente o oposto de otimização
O usuário encontra um tutorial:
apague o Journal para liberar espaço
Executa.
Depois determinados componentes precisam:
reanalisar
reindexar
reconciliar
informações.
Resultado possível:
mais I/O
mais CPU
mais tempo
temporariamente.
A documentação oficial alerta para o impacto de excluir/desabilitar um Journal ativo justamente porque aplicações que dependem dele podem precisar executar uma nova varredura completa.
Um pequeno mapa mental do USN Journal
Depois desta parte, podemos resumir o funcionamento assim:
Arquivo/diretório NTFS
↓
mudança acontece
↓
NTFS identifica motivo
↓
USN_REASON
↓
registro entra no Change Journal
↓
recebe posição USN
↓
aplicação consulta o Journal
↓
processa somente mudanças relevantes
Mas sempre lembrando:
USN Journal
↓
registra a mudança
USN Journal
X
não armazena automaticamente
a versão anterior do conteúdo
Um diagnóstico interessante: “o arquivo realmente mudou?”
Suponha que um aplicativo diga:
“Detectei que este arquivo foi alterado.”
Mas o usuário acredita que ninguém mexeu nele.
O USN Journal pode fornecer uma pista de que alguma alteração realmente ocorreu.
Porém isso não necessariamente significa:
conteúdo modificado pelo usuário
O motivo poderia ser:
BASIC_INFO_CHANGE
por causa de timestamp ou atributo.
Essa diferença é enorme.
“Arquivo mudou” pode significar várias coisas no NTFS.
E por isso o campo Reason é mais importante que simplesmente observar a data
No Explorer você pode enxergar:
Data de modificação
No Change Journal, o sistema pode distinguir categorias como:
DATA_OVERWRITE
DATA_EXTEND
DATA_TRUNCATION
FILE_CREATE
FILE_DELETE
BASIC_INFO_CHANGE
SECURITY_CHANGE
RENAME_OLD_NAME
RENAME_NEW_NAME
COMPRESSION_CHANGE
CLOSE
Isso oferece uma visão muito mais técnica do que aconteceu com o objeto.
Não tente interpretar cada registro isoladamente
Esse é um erro comum.
Um registro pode possuir vários sinalizadores combinados.
Além disso, uma sequência de operações pode gerar diferentes registros até o fechamento do arquivo.
Portanto, uma boa investigação olha:
objeto
+
USN
+
Reason
+
sequência
+
contexto
e não apenas uma única linha.
USN Journal em diagnósticos reais no Windows 11
Depois de entender a estrutura do Journal e os principais motivos registrados pelo NTFS, surge a pergunta mais importante: como isso pode ajudar em um diagnóstico real?
O USN Journal não substitui ferramentas como Visualizador de Eventos, histórico de versões, backup, auditoria ou antivírus. Mas ele pode responder perguntas muito específicas sobre alterações ocorridas no sistema de arquivos.
Por exemplo:
este arquivo foi criado?
foi apenas renomeado?
teve o conteúdo alterado?
mudou somente um atributo?
foi excluído?
houve uma alteração de segurança?
Esse tipo de diferença é muito útil porque o Explorer normalmente mostra apenas uma visão simplificada do arquivo.
Um arquivo pode “mudar” sem o conteúdo mudar
Imagine:
C:\Documentos\relatorio.docx
O usuário afirma:
“Eu não alterei esse documento.”
Mas um programa diz que o arquivo mudou.
A primeira interpretação costuma ser:
conteúdo foi editado
Só que isso não é obrigatoriamente verdade.
O NTFS também registra mudanças de metadados.
Um exemplo é:
USN_REASON_BASIC_INFO_CHANGE
Esse motivo pode aparecer quando atributos ou determinadas informações básicas do arquivo são alteradas.
Portanto:
arquivo mudou
pode significar:
conteúdo modificado
mas também pode significar:
atributo alterado
timestamp alterado
estado de compactação modificado
informação de segurança modificada
Essa distinção é essencial em uma investigação técnica.
Comparar o Reason muda completamente o diagnóstico
Imagine dois registros.
Primeiro:
Reason:
BASIC_INFO_CHANGE
Segundo:
Reason:
DATA_OVERWRITE
Nos dois casos poderíamos dizer genericamente:
“houve uma alteração.”
Mas tecnicamente são situações bem diferentes.
No segundo caso existe uma indicação muito mais direta de mudança nos dados do arquivo.
No primeiro, a alteração pode ter ocorrido apenas em metadados.
Por isso, ao estudar o USN Journal, o técnico não deve perguntar apenas:
“Existe um registro?”
A pergunta correta é:
“Qual motivo o NTFS registrou?”
Criação ou renomeação?
Outro cenário interessante ocorre quando um arquivo “desaparece” com um nome e aparece com outro.
Imagine:
relatorio.txt
depois:
relatorio-final.txt
Um programa pouco sofisticado poderia interpretar isso como:
relatorio.txt foi excluído
relatorio-final.txt foi criado
Mas o Change Journal possui motivos específicos para renomeação:
RENAME_OLD_NAME
RENAME_NEW_NAME
Isso permite entender que provavelmente estamos acompanhando o mesmo objeto NTFS passando por uma mudança de nome.
É aí que o:
File Reference Number
se torna ainda mais interessante.
O nome não é a identidade completa do arquivo
Para nós:
C:\Relatorios\financeiro.xlsx
parece ser a identidade daquele arquivo.
Para o NTFS, o caminho é apenas parte da história.
O sistema trabalha também com referências internas relacionadas à MFT.
Isso permite acompanhar um objeto mesmo quando seu nome é alterado.
Podemos imaginar:
Objeto NTFS
Reference Number: X
↓
financeiro.xlsx
↓
renomeado
↓
financeiro-2026.xlsx
O nome mudou.
A referência interna ao objeto pode continuar relacionada ao mesmo registro.
Isso é muito mais robusto do que tentar acompanhar arquivos apenas por strings de caminho.
E se o arquivo for movido para outra pasta?
Agora imagine:
C:\Temp\arquivo.txt
sendo movido para:
C:\Documentos\arquivo.txt
Se a movimentação ocorrer dentro do mesmo volume NTFS, o comportamento pode envolver mudança de nome/contexto do diretório pai em vez de uma cópia física completa seguida de exclusão, dependendo da operação executada.
Conceitualmente:
mesmo volume
C: → C:
permite ao NTFS tratar o objeto de maneira diferente de uma transferência entre volumes.
Mover entre volumes é outra história
Agora imagine:
C:\Temp\arquivo.txt
movido para:
D:\Backup\arquivo.txt
Temos:
C:
e:
D:
Cada volume possui sua própria estrutura NTFS e seu próprio USN Change Journal.
Nesse cenário, a operação frequentemente envolve algo conceitualmente semelhante a:
copiar dados para D:
↓
criar novo objeto no volume D:
↓
remover objeto original do volume C:
Portanto, não devemos interpretar:
mover arquivo
como uma operação idêntica em todos os casos.
Mover dentro do volume e mover entre volumes têm implicações diferentes para o sistema de arquivos.
Dois volumes significam dois Journals
Se temos:
C:
D:
podemos consultar:
fsutil usn queryjournal C:
e:
fsutil usn queryjournal D:
Os dois Journals são independentes.
Portanto, durante uma investigação envolvendo cópia ou movimentação entre unidades, pode ser necessário examinar os dois lados.
Isso é particularmente importante quando o técnico pensa:
“Vou procurar o evento de criação no Journal do C:.”
Mas a criação ocorreu no:
D:
USN Journal e Windows Search
Um dos usos conceituais mais interessantes do Change Journal está relacionado à indexação.
Imagine que o Windows Search já tenha processado:
2.000.000 de arquivos
Depois o usuário altera apenas:
120 arquivos
Reanalisar milhões de arquivos simplesmente para descobrir quais 120 mudaram seria desperdício de processamento e I/O.
Um mecanismo de acompanhamento de alterações permite reduzir muito esse trabalho.
É justamente por isso que Change Journals são úteis para indexadores e outros softwares que precisam acompanhar modificações continuamente.
O que acontece se o Journal desaparecer?
Imagine que um indexador conhece:
Journal ID: ABC
Último USN processado: 500000
Depois alguém exclui e recria o USN Journal.
Agora:
Journal ID: XYZ
O histórico de continuidade foi quebrado.
O software não pode simplesmente assumir:
continuo de 500001
porque aquele valor pertencia ao diário anterior.
A reação pode ser:
reindexação
nova varredura
reconciliação de estado
dependendo da aplicação.
Por isso apagar o USN Journal aleatoriamente pode causar exatamente o efeito contrário do esperado.
O mito da “limpeza do USN”
Alguns tutoriais tratam qualquer estrutura que ocupa espaço como candidata à remoção.
A lógica costuma ser:
arquivo grande
↓
apagar
↓
mais espaço
↓
mais desempenho
Esse raciocínio não funciona bem com estruturas do sistema.
O Change Journal existe para reduzir trabalho futuro.
Se um programa perde o histórico incremental, ele pode precisar fazer:
varredura completa
em vez de:
processar somente mudanças
Ou seja, uma suposta “otimização” pode gerar:
mais leitura
mais processamento
mais tempo
temporariamente.
USN Journal e programas de backup
Programas de backup incremental enfrentam um desafio semelhante.
Depois do backup inicial, eles querem descobrir:
o que mudou?
Imagine:
Backup inicial:
3.000.000 de arquivos
No dia seguinte:
2.300 arquivos alterados
Não seria eficiente verificar todos os três milhões novamente apenas para localizar esses 2.300.
Algumas soluções podem usar mecanismos de rastreamento de mudanças para reduzir esse trabalho.
Mas existe um detalhe importante:
cada software implementa isso de sua própria maneira.
Não devemos afirmar que todo programa de backup depende obrigatoriamente do USN Journal.
O USN apenas ajuda a descobrir mudanças
Mesmo quando um programa utiliza o Change Journal, ainda existem outras etapas.
Ele pode descobrir:
arquivo X mudou
arquivo Y foi criado
arquivo Z foi excluído
Mas ainda precisa decidir:
copiar?
ignorar?
versionar?
compactar?
enviar para nuvem?
manter histórico?
Portanto:
USN
é apenas uma fonte de informação.
Ele não executa o backup.
USN Journal e sincronização em nuvem
O mesmo raciocínio pode aparecer em softwares de sincronização.
Imagine uma pasta com:
500.000 arquivos
Se o cliente precisar descobrir alterações continuamente, mecanismos do sistema de arquivos podem ajudar a reduzir a necessidade de reexaminar tudo.
Porém, novamente, não devemos concluir automaticamente:
OneDrive usa exatamente desta forma
Dropbox usa exatamente desta forma
Google Drive usa exatamente desta forma
sem documentação específica de cada produto.
A ideia geral é que um Change Journal oferece uma maneira eficiente de acompanhar alterações no volume.
Dá para descobrir quem alterou um arquivo pelo USN?
Não necessariamente.
Essa é uma das limitações mais importantes.
O Journal pode informar que ocorreu:
DATA_OVERWRITE
ou:
FILE_DELETE
Mas isso não significa que ele forneça automaticamente:
usuário responsável
processo responsável
programa responsável
motivo humano
Para essas perguntas, precisamos de outras fontes.
Então como descobrir qual programa mexeu no arquivo?
O USN sozinho não resolve essa pergunta.
Ferramentas mais apropriadas podem incluir:
Process Monitor
auditoria de objetos
Visualizador de Eventos
logs do próprio aplicativo
Microsoft Defender
dependendo da situação.
O USN pode confirmar:
“houve uma alteração.”
O Process Monitor, quando configurado previamente, pode ajudar a mostrar:
“qual processo executou determinada operação.”
São ferramentas complementares.
USN Journal não é Process Monitor
Essa comparação ajuda bastante.
O Process Monitor observa operações em tempo real enquanto está sendo executado.
Já o Change Journal mantém informações persistentes sobre alterações registradas pelo NTFS.
Podemos simplificar:
Process Monitor
↓
quem fez?
qual processo?
qual operação?
qual resultado?
Enquanto:
USN Journal
↓
qual objeto mudou?
qual tipo de mudança?
qual posição no Journal?
Cada ferramenta responde perguntas diferentes.
E se o técnico chegar depois do problema?
Aí o USN pode ficar especialmente interessante.
Imagine que um usuário diga:
“Ontem alguma coisa renomeou centenas de arquivos.”
O Process Monitor não estava aberto ontem.
Logo, ele não pode simplesmente voltar no tempo.
O Change Journal, por ser persistente, pode ainda conter registros relacionados às mudanças.
Se os registros ainda estiverem dentro da janela disponível, eles podem fornecer pistas sobre:
criações
renomeações
exclusões
alterações
ocorridas anteriormente.
Mas devemos sempre lembrar:
persistente
≠
infinito
USN Journal como ferramenta forense: cuidado com exageros
O USN Journal pode aparecer em ferramentas de análise forense porque mantém informações muito úteis sobre atividade no sistema de arquivos.
Mas isso não significa que seja uma fonte perfeita ou completa.
Existem várias limitações:
registros antigos podem desaparecer
Journal pode ser recriado
eventos podem ser consolidados
não há conteúdo anterior do arquivo
não há necessariamente identidade do processo
não há necessariamente identidade do usuário
Portanto, uma análise séria combina diversas fontes de evidência.
Não conclua autoria apenas pelo horário
Imagine:
14:30
arquivo alterado
e você sabe que um usuário estava usando o computador às 14:30.
Isso não prova automaticamente que aquela pessoa realizou a mudança.
Um serviço em segundo plano também poderia ter alterado o arquivo.
Um antivírus poderia ter mexido em metadados.
Um programa poderia ter feito salvamento automático.
O USN fornece contexto técnico, não intenção.
E o Timestamp do registro?
Os registros USN podem conter informações de tempo.
Isso ajuda a organizar a sequência de alterações.
Mas novamente:
timestamp
deve ser interpretado junto com:
Reason
File Reference Number
Parent Reference
nome
contexto do sistema
A investigação fica muito mais confiável quando não dependemos de um único campo.
Como investigar centenas de arquivos renomeados?
Imagine um cenário:
foto1.jpg → foto1.xyz
foto2.jpg → foto2.xyz
foto3.jpg → foto3.xyz
...
O técnico poderia procurar padrões como:
RENAME_OLD_NAME
RENAME_NEW_NAME
em uma janela de USNs próxima ao horário do incidente.
Isso pode ajudar a confirmar que houve uma sequência massiva de renomeações.
Mas para identificar o processo responsável, provavelmente serão necessárias outras evidências.
Como diferenciar exclusão de renomeação?
Se encontramos somente:
FILE_DELETE
a interpretação é diferente de encontrar uma sequência relacionada a:
RENAME_OLD_NAME
RENAME_NEW_NAME
Esse tipo de distinção evita conclusões erradas.
Um arquivo que “sumiu” do caminho original pode ter:
sido excluído
ou:
sido renomeado
ou:
sido movido
O Journal pode fornecer pistas importantes para separar essas possibilidades.
E se o arquivo foi substituído por outro com o mesmo nome?
Esse é um cenário especialmente interessante.
Imagine:
relatorio.txt
sendo excluído.
Logo depois outro arquivo é criado com o mesmo nome:
relatorio.txt
Para o usuário, parece que:
o arquivo continua ali
Mas internamente podemos estar diante de objetos diferentes.
Aí o:
File Reference Number
se torna extremamente útil.
Mesmo nome não significa necessariamente o mesmo objeto NTFS.
Isso explica alguns comportamentos estranhos de programas
Alguns aplicativos acompanham arquivos não apenas pelo caminho, mas também por identificadores internos.
Por isso, substituir um arquivo por outro com o mesmo nome pode produzir comportamento diferente de simplesmente editar o arquivo original.
Exemplo conceitual:
arquivo A
nome: relatorio.txt
ID interno: 100
Depois:
arquivo B
nome: relatorio.txt
ID interno: 900
Visualmente:
mesmo nome
Internamente:
objeto diferente
USN e arquivos temporários
Muitos programas não salvam documentos simplesmente sobrescrevendo o arquivo original.
Uma estratégia comum é algo semelhante a:
criar arquivo temporário
↓
gravar conteúdo novo
↓
fechar
↓
substituir arquivo antigo
↓
renomear
Por isso, ao analisar o Journal durante o salvamento de um documento, podemos encontrar muito mais atividade do que o usuário imagina.
Ele clicou:
Salvar
Mas o sistema de arquivos pode registrar uma sequência bem mais complexa.
Salvar um Word não significa uma única gravação
Esse conceito vale para vários aplicativos.
O usuário vê:
Ctrl + S
Mas o programa pode executar:
criação temporária
escrita
metadados
renomeação
substituição
exclusão
Isso é outro motivo para não interpretar cada evento USN isoladamente.
O contexto da aplicação importa.
Como um técnico pode usar isso sem virar analista forense?
Não precisamos transformar cada atendimento em uma investigação de baixo nível.
O USN é útil quando existe uma pergunta específica.
Exemplos:
esse arquivo foi realmente renomeado?
houve exclusão?
houve sobrescrita?
o objeto é o mesmo ou foi recriado?
o Journal foi reiniciado?
o programa perdeu continuidade incremental?
Se a pergunta for simplesmente:
“Meu computador está lento.”
o USN Journal provavelmente não é o primeiro lugar onde devemos olhar.
Quando o USN não é a ferramenta certa
Não use o Change Journal como primeira ferramenta para:
Internet lenta
Wi-Fi caindo
temperatura alta
CPU em 100%
aplicativo travando
erro de tela azul
SSD com SMART ruim
Esses problemas exigem outros diagnósticos.
O valor do USN está em problemas relacionados à:
atividade de arquivos e diretórios
Diagnóstico VMIA: sequência prática para investigar alteração em arquivo
Quando existe suspeita de alteração inesperada, uma sequência organizada pode ser:
1. identificar o volume
2. verificar se ele utiliza NTFS
3. consultar o estado do Journal
4. anotar Journal ID
5. observar First Usn e Next Usn
6. localizar a janela temporal relevante
7. procurar o arquivo ou objeto
8. analisar Reason
9. comparar File Reference Number
10. correlacionar com logs e outras ferramentas
Essa ordem evita começar com conclusões antes de entender o estado do sistema.
Passo 1: identificar o volume
No PowerShell:
Get-Volume
Confirme:
DriveLetter
FileSystem
Se o arquivo estiver em:
D:
não adianta analisar somente o Journal de:
C:
Passo 2: verificar o Journal
Execute:
fsutil usn queryjournal D:
Observe principalmente:
Usn Journal ID
First Usn
Next Usn
Esses campos ajudam a entender se existe continuidade suficiente para aquela investigação.
Passo 3: não altere o sistema antes de coletar informações
Um erro comum é começar executando:
limpeza
reindexação
deletejournal
CHKDSK sem necessidade
programas de otimização
antes de observar o estado.
Cada mudança pode gerar novos registros e aumentar o ruído da investigação.
Primeiro:
observe
Depois:
interprete
Só então:
modifique
se realmente necessário.
Passo 4: combine com outras fontes
Se existe suspeita de programa específico, examine:
Visualizador de Eventos
logs do aplicativo
Process Monitor
Histórico do Defender
Agendador de Tarefas
dependendo do caso.
O USN não precisa responder tudo sozinho.
Um exemplo de interpretação errada
Imagine que encontramos:
BASIC_INFO_CHANGE
e imediatamente concluímos:
“Alguém editou o conteúdo.”
Isso pode estar errado.
Agora imagine:
DATA_OVERWRITE
e concluímos:
“O usuário X editou o arquivo.”
Também pode estar errado.
O primeiro registro indica tipo de mudança.
O segundo não necessariamente identifica autoria.
Diagnóstico técnico exige separar:
o que aconteceu
de:
quem fez
Outro erro: achar que FILE_DELETE significa perda definitiva
O registro:
FILE_DELETE
indica que o objeto foi excluído daquele contexto NTFS.
Isso não responde automaticamente:
arquivo ainda está na Lixeira?
existe backup?
há cópia na nuvem?
há versão anterior?
Essas são outras camadas.
O Journal registra o evento.
Não determina todas as possibilidades de recuperação.
Outro erro: acreditar que o Journal guarda o conteúdo
Mesmo depois de três partes deste artigo, vale reforçar.
Se o Journal mostra:
DATA_OVERWRITE
ele não fornece automaticamente:
dados antigos
nem:
dados novos completos
Ele registra o tipo de alteração.
Não funciona como sistema de versionamento.
Outro erro: considerar todos os Reason como eventos independentes
Os motivos podem ser combinados.
Um registro pode conter mais de um sinalizador.
Exemplo:
DATA_OVERWRITE
BASIC_INFO_CHANGE
CLOSE
Portanto, um analisador precisa interpretar os bits combinados em vez de imaginar que cada linha representa uma ação única e isolada.
Outro erro: esperar um log perfeito desde a instalação do Windows
O Change Journal possui limites.
Registros antigos podem desaparecer.
O Journal pode ser:
removido
recriado
redimensionado
Além disso, uma aplicação pode perder a janela necessária para sua leitura incremental.
Por isso ele não é equivalente a:
histórico completo de toda a vida do computador
E se First Usn avançou demais?
Imagine:
Último USN conhecido:
100000
Mas agora:
First Usn:
500000
O intervalo necessário já saiu da região disponível.
A conclusão correta não é:
“Nada aconteceu.”
A conclusão é:
“Não possuímos mais aqueles registros através deste Journal atual.”
Essa diferença é fundamental.
Ausência de registro disponível não prova ausência de evento.
O Journal pode ser usado para “vigiar” alguém?
Esse não é o objetivo adequado do mecanismo.
O USN é uma infraestrutura do NTFS para acompanhamento de mudanças no sistema de arquivos.
Seu uso técnico correto está relacionado a:
diagnóstico
indexação
backup
sincronização
administração
análise de alterações
e não a conclusões invasivas sobre comportamento pessoal.
O que um técnico realmente ganha entendendo USN?
Principalmente uma visão mais precisa de como o Windows gerencia arquivos.
Depois de entender o Change Journal, fica mais fácil compreender por que sistemas modernos conseguem:
indexar rapidamente
fazer backup incremental
acompanhar alterações
sincronizar diretórios
detectar renomeações
evitar varreduras completas constantes
Ele também ajuda a abandonar uma visão simplista de que o Windows trabalha apenas com:
nome
pasta
data
tamanho
Na prática, existe uma camada rica de metadados e identificadores.
Relação final entre MFT e USN Journal
Podemos resumir assim:
NTFS
|
+-- MFT
| ↓
| registros e metadados
| dos objetos
|
+-- USN Change Journal
↓
histórico parcial
de alterações
A MFT ajuda o NTFS a representar os objetos.
O Change Journal ajuda a acompanhar alterações nesses objetos.
Eles se complementam, mas não devem ser confundidos.
O USN Journal muda a forma de olhar para arquivos no Windows
Depois de conhecer esse mecanismo, situações aparentemente simples ganham novas perguntas.
Antes:
arquivo sumiu
Agora:
foi excluído?
foi renomeado?
foi movido?
foi substituído?
Antes:
arquivo mudou
Agora:
dados mudaram?
atributos mudaram?
segurança mudou?
houve compactação?
Antes:
arquivo tem o mesmo nome
Agora:
é realmente o mesmo objeto NTFS?
Esse é o principal valor técnico do USN Journal: transformar afirmações genéricas em perguntas muito mais precisas.
Conclusão
O USN Change Journal é uma das estruturas menos visíveis e mais interessantes do NTFS.
Enquanto o usuário enxerga arquivos e pastas no Explorer, o sistema de arquivos mantém um fluxo de registros que permite acompanhar alterações de maneira muito mais eficiente.
Comandos como:
fsutil usn queryjournal C:
fsutil usn readdata C:\caminho\arquivo.txt
e:
fsutil usn readjournal C:
permitem observar partes desse mecanismo diretamente no Windows 11.
Mas o verdadeiro valor não está em simplesmente executar os comandos.
Está em interpretar corretamente o que eles mostram.
O USN pode indicar:
criação
exclusão
renomeação
sobrescrita
ampliação
truncamento
mudança de atributos
mudança de segurança
mas não devemos confundi-lo com:
backup
Histórico de Arquivos
auditoria completa
Process Monitor
controle de versões
Também não devemos apagar o Journal como uma suposta “otimização”.
Ele existe justamente para permitir que programas acompanhem mudanças sem precisar reexaminar milhões de arquivos continuamente.
Entender esse mecanismo abre uma porta para compreender muito melhor como o Windows trabalha internamente com arquivos, indexação, backup, sincronização e metadados.
FAQ — USN Journal no Windows 11
O que é o USN Journal?
É o Change Journal do NTFS, um mecanismo que registra alterações ocorridas em arquivos e diretórios de um volume NTFS.
USN significa o quê?
USN significa Update Sequence Number.
Todo computador com Windows 11 possui USN Journal?
Ele está relacionado a volumes NTFS. É preciso consultar o volume específico para verificar seu estado.
Como verificar o USN Journal?
fsutil usn queryjournal C:
O USN Journal registra arquivos excluídos?
Ele pode registrar eventos relacionados à exclusão por meio de motivos como FILE_DELETE.
Consigo recuperar um arquivo excluído pelo USN Journal?
Não. O Journal não guarda automaticamente uma cópia completa do conteúdo excluído.
O USN Journal é um backup?
Não.
Ele guarda versões anteriores dos arquivos?
Não funciona como controle de versões.
Posso descobrir se um arquivo foi renomeado?
Registros podem incluir RENAME_OLD_NAME e RENAME_NEW_NAME.
Consigo descobrir quem renomeou o arquivo?
O USN Journal sozinho normalmente não fornece todas as informações necessárias para atribuir autoria.
O que significa DATA_OVERWRITE?
Indica uma alteração envolvendo sobrescrita de dados.
E BASIC_INFO_CHANGE?
Pode indicar alteração em metadados, atributos ou determinadas informações básicas do objeto.
Qual a diferença entre FILE_DELETE e RENAME?
São motivos diferentes. Uma exclusão não deve ser automaticamente confundida com uma renomeação.
O que é File Reference Number?
É uma referência interna relacionada à identificação do objeto no NTFS, associada à estrutura da MFT.
Dois arquivos com o mesmo nome podem ter File Reference Numbers diferentes?
Sim. Um arquivo pode ser excluído e outro criado posteriormente com o mesmo nome.
O USN Journal cresce para sempre?
Não. O NTFS gerencia seu tamanho e registros antigos podem deixar de estar disponíveis.
O que acontece quando registros antigos são removidos?
Aplicações que precisavam deles podem perder a continuidade incremental e precisar de uma nova varredura.
Posso apagar o USN Journal para liberar espaço?
O comando existe, mas não é uma prática recomendada como “limpeza”. Aplicações podem depender dele.
Apagar o Journal deixa o Windows mais rápido?
Não existe motivo técnico para tratar isso como uma otimização genérica. Em alguns casos, programas podem precisar realizar mais trabalho posteriormente.
Windows Search pode se beneficiar de Change Journals?
Mecanismos de indexação podem usar acompanhamento de alterações para evitar verificar novamente todo o sistema de arquivos.
Backup incremental pode usar USN?
Algumas soluções podem utilizar mecanismos de rastreamento de mudanças, dependendo da implementação do software.
O USN Journal mostra qual programa alterou o arquivo?
Não necessariamente. Para identificar processos, ferramentas como Process Monitor podem ser mais apropriadas.
USN Journal e MFT são a mesma coisa?
Não. A MFT representa objetos e metadados fundamentais do NTFS; o Change Journal acompanha alterações.
Posso usar fsutil usn readjournal C: em qualquer PC?
O comando existe no Windows, mas o volume precisa ser compatível e algumas operações podem exigir privilégios administrativos.
Por que readjournal mostra tanta coisa?
Porque o Windows e seus programas alteram arquivos constantemente em segundo plano.
É possível começar a leitura em um ponto específico?
Sim. O fsutil usn readjournal suporta parâmetros para iniciar a leitura a partir de determinado USN, o que ajuda a reduzir o volume de dados analisado.
O USN Journal é útil para técnicos?
Sim, principalmente em diagnósticos envolvendo arquivos criados, alterados, renomeados, substituídos ou excluídos.
VMIA
Se arquivos estão sendo alterados, renomeados ou excluídos sem uma causa aparente, simplesmente reinstalar programas ou executar ferramentas de limpeza pode esconder as pistas necessárias para descobrir o que realmente está acontecendo.
A VMIA – Manutenção e Configuração realiza diagnóstico técnico de computadores e notebooks Windows, análise de falhas do sistema, programas, armazenamento, desempenho e configurações do Windows.
Atendimento presencial ou por acesso remoto, conforme o tipo de problema.
VMIA – Manutenção e Configuração
Telefone e WhatsApp: (11) 99779-7772
Site: https://vmia.site
Blog técnico: https://vmia.com.br
Bibliografia técnica
Para a elaboração deste artigo, as principais referências técnicas são a documentação oficial da Microsoft sobre o USN Change Journal, estruturas USN_RECORD, motivos USN_REASON e o comando fsutil usn. A Microsoft documenta que os registros são acrescentados ao Change Journal quando objetos NTFS são modificados e que o diário fornece um histórico parcial das alterações, não uma cópia dos dados anteriores.
A documentação do fsutil usn também descreve os comandos queryjournal, readdata, readjournal, criação e exclusão do Journal, além dos parâmetros de capacidade e gerenciamento utilizados pelo NTFS.
Faça um comentário