Resposta curta: $MFTMirr é um pequeno arquivo contendo um duplicado dos primeiros registros MFT — no mínimo os registros 0–3 ($MFT, $MFTMirr, $LogFile, $Volume), tipicamente os 16 primeiros. O NTFS o usa para iniciar a recuperação quando a $MFT principal não pode ser lida. Se tanto a MFT principal quanto seu espelho estão ilegíveis, você vê "Windows cannot recover master file table" sair do chkdsk.
Por que existe um espelho
Os primeiros registros da Master File Table são críticos: o registro 0 descreve a própria $MFT, o registro 2 é $LogFile, o registro 3 é $Volume. Se os bytes no início de $MFT estão danificados, o NTFS não pode encontrar nenhum dos outros arquivos do volume — incluindo o log de transações que ele normalmente usaria para recuperar.
O espelho resolve essa circularidade. $MFTMirr é um arquivo separado em uma localização física diferente, contendo um duplicado desses primeiros registros. Quando o driver monta um volume, ele lê o registro 0 de $MFT; se isso falhar, ele recorre ao registro 0 de $MFTMirr e usa o duplicado para realocar o resto.
Onde fica
$MFTMirr é o registro MFT 1. Seu atributo $DATA é não residente, com cluster runs que tradicionalmente apontam para o meio do volume — longe o suficiente da própria $MFT para que uma única falha localizada (um cluster ruim, uma gravação interrompida em uma região) não possa derrubar os dois.
Versões modernas do NTFS o colocam no LCN clusterCount / 2. Em um volume de 500 GB, isso coloca o espelho por volta da marca dos 250 GB.
Você pode localizá-lo de um sistema vivo:
fsutil file queryextents C:\$MFTMirr
O que contém
$MFTMirr armazena cópias byte por byte dos primeiros registros MFT. A garantia histórica era os quatro primeiros registros (0–3); versões atuais do Windows espelham os dezesseis primeiros — todo o conjunto de metadados NTFS descrito em a referência da master file table.
Cada cópia é um registro MFT normal, fixup array e tudo. Um parser apontado para $MFTMirr o percorre exatamente da mesma forma que percorre $MFT.
Como o NTFS o usa na montagem
Em uma montagem saudável, o driver não toca em $MFTMirr. Em uma montagem danificada:
- Ler o registro 0 de
$MFT. - Se a leitura retornar um erro de I/O ou se a verificação do fixup falhar, ler o registro 0 de
$MFTMirrem vez disso. - Se a cópia do registro 0 do espelho for válida, usar seus data runs para localizar
$MFTno disco. - Continuar normalmente.
O espelho não precisa substituir $MFT — ele só precisa fornecer informação suficiente para encontrá-la. Depois que o driver localizou $MFT a partir do ponteiro do espelho, ele prossegue com a tabela viva.
Como o chkdsk o usa
O chkdsk é mais agressivo. Quando detecta corrupção nos primeiros registros de $MFT, ele cruza cada registro com o espelho. Se ambas as cópias são válidas e diferem, o chkdsk trata o espelho como autoritativo para os primeiros registros críticos (a suposição sendo que os registros vivos foram atualizados mais recentemente e corrompidos no processo).
Se $MFT está ilegível e o espelho está ilegível, o chkdsk reporta Windows cannot recover master file table. CHKDSK aborted. Nesse ponto, a recuperação exige ferramentas offline — tipicamente carving por assinaturas FILE através do volume bruto — em vez do autorreparo embutido do NTFS.
Por que $MFTMirr não é um backup completo
Ele só espelha os arquivos de metadados. Os registros 16 e acima — todo arquivo e diretório de usuário — existem apenas em $MFT. Se $MFT está danificada além do registro 16, o espelho não pode ajudá-lo. O espelho é suficiente para montar o volume; recuperar arquivos arbitrários a partir de dano exige as mesmas técnicas que você usaria sem ele.
Interesse forense
$MFTMirr raramente é o artefato principal em um caso, mas tem dois usos:
- Verificação cruzada. Os registros 0–15 no espelho deveriam bater bit a bit com os registros vivos. Uma divergência sugere que um dos lados foi modificado fora de banda (bug de driver, adulteração deliberada, recuperação parcial).
- Instantâneo pré-corrupção. Se os registros vivos de
$MFTforam modificados mas o espelho ainda não foi sincronizado, o espelho contém o estado mais antigo. Essa janela é curta — o NTFS os mantém sincronizados — mas em um caso de falha súbita pode ser a única cópia limpa restante.
Perguntas frequentes
$MFTMirr é o mesmo que um backup de toda a MFT?
Não. Ele contém apenas os primeiros registros (os arquivos de metadados de sistema). Os arquivos de usuário não são espelhados.
Posso analisar $MFTMirr com as mesmas ferramentas de $MFT?
Sim. É estruturalmente idêntico — mesmo formato de registro, mesmo fixup array, mesmos atributos. Solte-o no parser navegador ou passe-o para o MFTECmd.
Posso excluir ou mover $MFTMirr?
Não. Como $MFT, ele fica bloqueado enquanto o Windows está em execução. Desabilitar o espelho por completo não é uma operação suportada; o chkdsk recusaria o volume.
O que acontece se meu disco não tiver $MFTMirr?
Ele tem. Todo volume NTFS tem um, criado no momento da formatação. Se $MFTMirr está ausente ou ilegível, o volume está severamente danificado e o chkdsk vai falhar.