Kurze Antwort: $MFTMirr ist eine kleine Datei, die ein Duplikat der ersten MFT-Einträge enthält — mindestens die Einträge 0–3 ($MFT, $MFTMirr, $LogFile, $Volume), typischerweise die ersten 16. NTFS nutzt sie, um die Wiederherstellung anzustoßen, wenn die Haupt-$MFT nicht gelesen werden kann. Sind sowohl die Haupt-MFT als auch ihr Spiegel unlesbar, erscheint „Windows kann die Master File Table nicht wiederherstellen" von chkdsk.
Warum es einen Spiegel gibt
Die ersten Einträge der Master File Table sind kritisch: Eintrag 0 beschreibt $MFT selbst, Eintrag 2 ist $LogFile, Eintrag 3 ist $Volume. Sind die Bytes am Anfang von $MFT beschädigt, findet NTFS keine andere Datei des Volumes mehr — einschließlich des Transaktionsprotokolls, das es normalerweise zur Wiederherstellung nutzen würde.
Der Spiegel löst diese Zirkularität. $MFTMirr ist eine separate Datei an einer anderen physischen Stelle, die ein Duplikat dieser ersten Einträge hält. Wenn der Treiber ein Volume mountet, liest er Eintrag 0 aus $MFT; schlägt das fehl, greift er auf Eintrag 0 aus $MFTMirr zurück und nutzt das Duplikat, um den Rest neu zu lokalisieren.
Wo sie liegt
$MFTMirr ist MFT-Eintrag 1. Ihr $DATA-Attribut ist non-resident, mit Cluster Runs, die traditionell auf die Mitte des Volumes verweisen — weit genug von $MFT entfernt, damit ein einzelner lokalisierter Ausfall (ein defekter Cluster, ein abgerissener Schreibvorgang über eine Region) nicht beide gleichzeitig ausschalten kann.
Moderne NTFS-Versionen platzieren sie an LCN Clusteranzahl / 2. Auf einem 500-GB-Volume liegt der Spiegel damit ungefähr bei der 250-GB-Marke.
Sie können sie auf einem Live-System lokalisieren:
fsutil file queryextents C:\$MFTMirr
Was sie enthält
$MFTMirr speichert byte-genaue Kopien der ersten MFT-Einträge. Die historische Garantie betraf die ersten vier Einträge (0–3); aktuelle Windows-Versionen spiegeln die ersten sechzehn — den vollständigen NTFS-Metadatensatz, beschrieben in der Referenz zur Master File Table.
Jede Kopie ist ein normaler MFT-Eintrag, samt Fixup-Array. Ein Parser, der auf $MFTMirr gerichtet ist, durchläuft sie exakt so wie $MFT.
Wie NTFS sie beim Mounten nutzt
Bei einem gesunden Mount fasst der Treiber $MFTMirr nicht an. Bei einem beschädigten Mount:
- Eintrag 0 aus
$MFTlesen. - Liefert der Lesevorgang einen I/O-Fehler oder schlägt die Fixup-Verifikation fehl, stattdessen Eintrag 0 aus
$MFTMirrlesen. - Ist die Spiegel-Kopie von Eintrag 0 gültig, verwenden Sie ihre Data Runs, um
$MFTauf der Platte zu lokalisieren. - Normal fortfahren.
Der Spiegel muss $MFT nicht ersetzen — er muss nur genug Information liefern, um die echte zu finden. Nachdem der Treiber $MFT über den Zeiger des Spiegels lokalisiert hat, arbeitet er mit der Live-Tabelle weiter.
Wie chkdsk sie nutzt
chkdsk ist aggressiver. Erkennt es eine Korruption in den ersten Einträgen von $MFT, vergleicht es jeden Eintrag mit dem Spiegel. Sind beide Kopien gültig und unterschiedlich, behandelt chkdsk den Spiegel als maßgeblich für die ersten kritischen Einträge (die Annahme ist, dass die Live-Einträge zuletzt aktualisiert und dabei beschädigt wurden).
Ist $MFT unlesbar und der Spiegel unlesbar, meldet chkdsk Windows kann die Master File Table nicht wiederherstellen. CHKDSK wurde abgebrochen. Ab diesem Punkt erfordert die Wiederherstellung Offline-Werkzeuge — typischerweise Signatur-Carving nach FILE-Einträgen über das rohe Volume — statt der eingebauten NTFS-Selbstreparatur.
Warum $MFTMirr keine vollständige Sicherung ist
Sie spiegelt nur die Metadatendateien. Einträge 16 und höher — jede Benutzerdatei und jedes Benutzerverzeichnis — existieren nur in $MFT. Ist $MFT über Eintrag 16 hinaus beschädigt, hilft Ihnen der Spiegel nicht. Der Spiegel genügt, um das Volume zu mounten; die Wiederherstellung beliebiger Dateien nach Schaden erfordert dieselben Techniken, die Sie auch ohne ihn anwenden würden.
Forensisches Interesse
$MFTMirr ist selten das Hauptartefakt in einem Fall, hat aber zwei Nutzen:
- Querprüfung. Die Einträge 0–15 im Spiegel sollten bit-genau den Live-Einträgen entsprechen. Eine Divergenz deutet darauf hin, dass eine Seite außer der Reihe verändert wurde (Treiberfehler, gezielte Manipulation, partielle Wiederherstellung).
- Vorkorruptions-Snapshot. Wurden die Live-Einträge der
$MFTmodifiziert, der Spiegel aber noch nicht geflusht, hält der Spiegel den älteren Zustand. Dieses Zeitfenster ist kurz — NTFS hält beide synchron —, kann in einem plötzlichen Ausfall-Fall aber die einzige saubere Kopie sein.
Häufig gestellte Fragen
Ist $MFTMirr dasselbe wie eine vollständige Sicherung der MFT?
Nein. Sie enthält nur die ersten Einträge (die System-Metadatendateien). Benutzerdateien werden nicht gespiegelt.
Kann ich $MFTMirr mit denselben Werkzeugen parsen wie $MFT?
Ja. Sie ist strukturell identisch — gleiches Eintragsformat, gleiches Fixup-Array, gleiche Attribute. Legen Sie sie auf den Browser-Parser ab oder geben Sie sie an MFTECmd.
Kann ich $MFTMirr löschen oder verschieben?
Nein. Wie $MFT ist sie während des Windows-Betriebs gesperrt. Den Spiegel vollständig zu deaktivieren ist keine unterstützte Operation; chkdsk würde das Volume zurückweisen.
Was passiert, wenn meine Platte keine $MFTMirr hat?
Sie hat eine. Jedes NTFS-Volume besitzt eine, die beim Formatieren erstellt wird. Fehlt $MFTMirr oder ist sie unlesbar, ist das Volume schwer beschädigt und chkdsk wird scheitern.