Wie NTFS Speicherplatz für die Masterdateitabelle (Master File Table, MFT) reserviert

In diesem Artikel wird beschrieben, wie NTFS Speicherplatz für die Master file Table (MFT) reserviert.

Gilt für: Windows 10 (alle Editionen), Windows Server 2012 R2
Ursprüngliche KB-Nummer: 174619

Zusammenfassung

Das NTFS-Dateisystem enthält im Kern eine Datei namens master File Table (MFT). Es gibt mindestens einen Eintrag im MFT für jede Datei auf einem NTFS-Volume, einschließlich der MFT selbst.

Da Hilfsprogramme, die NTFS-Volumes defragmentieren, keine MFT-Einträge verschieben können und eine übermäßige Fragmentierung des MFT die Leistung beeinträchtigen kann, reserviert NTFS Speicherplatz für das MFT, um das MFT so zusammenhängend wie möglich zu halten, wie es wächst.

Unter Windows defragmentiert das Hilfsprogramm defragmentiert MFT.

Das Defragmentierungs-Hilfsprogramm

Ein Defragmentierungsvorgang auf dem MFT kombiniert eine MFT-Datei in 1 und verhindert, dass sie an mehreren Orten gespeichert wird, die nicht sequenziell auf dem Datenträger sind. In dieser Vorgangsklasse ist die MFT-Datei sequenzieller. Es ist jedoch genau die Größe, die die MFT-Datei vor dem Defragmentierungsvorgang hatte.

Ein MFT kann zu groß sein, wenn auf einem Volume viele Dateien gelöscht wurden. Die gelöschten Dateien verursachen interne Lücken im MFT. Diese Lücken sind wichtige Regionen, die von Dateien nicht verwendet werden. Es ist unmöglich, diesen Raum freizugeben. Dies gilt zumindest für ein aktives NTFS-Volume.

Weitere Informationen

NTFS verwendet MFT-Einträge, um die Dateien zu definieren, denen sie entsprechen. Alle Informationen zu einer Datei, einschließlich Größe, Zeit- und Datumsstempel, Berechtigungen und Dateninhalten, werden entweder in MFT-Einträgen oder außerhalb des MFT-Bereichs gespeichert, aber von den MFT-Einträgen beschrieben.

(Verzeichniseinträge, außerhalb des MFT, enthalten auch einige redundante Informationen zu Dateien. Aber eine vollständige Erläuterung aller Strukturen auf NTFS würde den Rahmen dieses Artikels sprengen.)

Wenn Dateien zu einem NTFS-Volume hinzugefügt werden, werden dem MFT weitere Einträge hinzugefügt, sodass die Größe des MFT zunimmt. Wenn Dateien von einem NTFS-Volume gelöscht werden, werden ihre MFT-Einträge als frei gekennzeichnet und können wiederverwendet werden, aber der MFT wird nicht verkleinern. Daher wird der von diesen Einträgen belegte Speicherplatz nicht vom Datenträger freigegeben.

Aufgrund der Bedeutung von MFT für NTFS und der möglichen Auswirkungen auf die Leistung, wenn diese Datei stark fragmentiert wird, unternimmt NTFS besondere Anstrengungen, um diese Datei zusammenhängend zu halten. NTFS reserviert 12,5 Prozent des Volumens für die exklusive Nutzung des MFT, bis und es sei denn, der Rest des Volumes ist aufgebraucht. Daher wird speicherplatz für Dateien und Verzeichnisse aus dieser MFT-Zone erst zugewiesen, wenn der gesamte andere Speicherplatz zuerst zugewiesen wird.

Hinweis

Sie können den Registrierungsschlüssel NtfsMFTZoneReservation ändern, um das Volume in Windows zu erhöhen. Weitere Informationen zum MFT finden Sie im Abschnitt Wichtige Elemente im Datenträger-Defragmentierungsprozess unter Verwalten der Spitzenleistung von Windows 2000 durch Defragmentierung.

Abhängig von der durchschnittlichen Dateigröße und anderen Variablen kann entweder die reservierte MFT-Zone oder der nicht reservierte Speicherplatz auf dem Datenträger vor dem anderen verbraucht werden, wenn der Datenträger bis zur Kapazität gefüllt wird.

Volumes mit einer kleinen Anzahl relativ großer Dateien erschöpfen zuerst den nicht reservierten Speicherplatz, während Volumes mit einer großen Anzahl relativ kleiner Dateien zuerst den MFT-Zonenspeicherplatz aufgebraucht. In beiden Fällen beginnt die Fragmentierung des MFT, wenn die eine oder die andere Region voll wird. Wenn der nicht reservierte Speicherplatz voll wird, wird Speicherplatz für Benutzerdateien und Verzeichnisse aus der MFT-Zone zugewiesen, die mit dem MFT für die Zuweisung konkurriert. Wenn die MFT-Zone voll wird, wird Speicherplatz für neue MFT-Einträge vom rest des Datenträgers belegt, was wiederum mit anderen Dateien konkurriert.

Ein neuer Registrierungsparameter kann den Prozentsatz eines Volumes erhöhen, das NTFS für seine master Dateitabelle reserviert. NtfsMftZoneReservation ist ein REG_DWORD Wert, der einen Wert zwischen 1 und 4 annehmen kann, wobei 1 der minimalen MFT-Zonengröße und 4 dem Maximum entspricht. Wenn der Parameter nicht angegeben oder ein ungültiger Wert angegeben wird, verwendet NTFS für diesen Parameter den Standardwert 1. Die genauen Verhältnisse, die den einzelnen Einstellungen entsprechen, sind nicht dokumentiert, da sie nicht standardisiert sind und sich in zukünftigen Releases ändern können. Um zu wissen, welche Einstellung für Ihre Umgebung am besten geeignet ist, müssen Sie möglicherweise mit verschiedenen Werten experimentieren.

Um die aktuelle Größe des MFT auf einem Windows-Computer zu bestimmen, geben Sie den dir /a $mft Befehl auf einem NTFS-Volume ein.

Um die aktuelle Größe des MFT auf einem Windows-Computer zu ermitteln, verwenden Sie die Datenträgerdefragmentierung, um das NTFS-Laufwerk zu analysieren, und klicken Sie dann auf Bericht anzeigen. Dadurch werden die Laufwerksstatistiken angezeigt, einschließlich der aktuellen MFT-Größe und der Anzahl der Fragmente.

Die Datenträgerdefragmentierung zeigt grün für die so genannten Systemdateien an, und auf einem NTFS-formatierten Volume ist dies einfach die Kombination aus MFT, pagefile.sys (sofern auf diesem Volume vorhanden) und der sogenannten "MFT-Zone" oder reserviertem Speicherplatz für die MFT-Erweiterung. Der Defragmentierungsbericht zeigt nur Informationen zur Auslagerungsdatei und MFT an. die MFT-Zone wird nicht Erwähnung, da sie sich in keiner Weise auf die Datenträgerauslastung oder -kapazität auswirkt.

Die MFT-Zone wird nicht vom verfügbaren (freien) Speicherplatz subtrahiert, der für Benutzerdatendateien verwendet wird, es ist nur der zuletzt verwendete Speicherplatz. Wenn die MFT größer werden muss, z. B. neue Dateien und Verzeichnisse erstellt haben, wird sie zuerst aus der MFT-Zone übernommen, wodurch die MFT-Fragmentierung verringert und die MFT-Leistung optimiert wird.

Die MFT-Standardzone wird von Ntfs.sys berechnet und reserviert, wenn das Volume eingebunden wird, und basiert auf der Volumegröße. Sie können die MFT-Zone mithilfe des unten dokumentierten Registrierungseintrags erhöhen, aber Sie können die MFT-Standardzone nicht kleiner machen, als von Ntfs.sys berechnet wird. Das Erhöhen der MFT-Zone verringert in keiner Weise den Speicherplatz, der von Benutzern für Datendateien verwendet werden kann.

Hinweis

Die vom Dir-Befehl zurückgegebenen Ergebnisse sind möglicherweise nicht aktuell. Die vom Befehl dir gemeldete Größe kann zwischengespeicherte Daten widerspiegeln, die die Größe des MFT zum Zeitpunkt des Systemstarts nach einem ordnungsgemäßen Herunterfahren widerspiegeln.

Wichtig

Dieser Abschnitt, diese Methode bzw. diese Aufgabe enthält eine Beschreibung der Schritte zum Bearbeiten der Registrierung. Durch die falsche Bearbeitung der Registrierung können schwerwiegende Probleme verursacht werden. Daher ist es wichtig, bei der Ausführung der folgenden Schritte sorgfältig vorzugehen. Für zusätzlichen Schutz sichern Sie die Registrierung, bevor Sie sie ändern. Sie können die Registrierung wiederherstellen, wenn ein Problem auftritt. Weitere Informationen zum Sichern und Wiederherstellen der Registrierung finden Sie unter Sichern und Wiederherstellen der Registrierung in Windows.

Führen Sie die folgenden Schritte aus, um diesen Wert hinzuzufügen:

  1. Führen Sie Registry Editor (Regedt32.exe) aus, und wechseln Sie zum folgenden Unterschlüssel:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem

  2. Klicken Sie im Menü Bearbeiten auf Wert hinzufügen.

  3. Geben Sie die folgenden Informationen in das Dialogfeld ein:

    • Wertname: NtfsMftZoneReservation
    • Datentyp: REG_DWORD
    • Daten: (gültiger Bereich ist 1-4)
  4. Beenden Sie die Registrierung Editor, und starten Sie Den Computer neu.

Hinweis

Dies ist ein Laufzeitparameter, der sich nicht auf das tatsächliche Format eines Volumes auswirkt. Es wirkt sich vielmehr auf die Art und Weise aus, wie NTFS Speicherplatz auf allen Volumes auf einem bestimmten System zuweist. Daher muss der Parameter ab dem Zeitpunkt, zu dem ein Volume formatiert ist, und während der gesamten Lebensdauer des Volumes wirksam sein, um vollständig wirksam zu sein. Wenn der Registrierungsparameter nach unten angepasst oder entfernt wird, wird die MFT-Zone entsprechend reduziert, aber dies hat keine Auswirkungen auf den bereits zugewiesenen und verwendeten MFT-Speicherplatz.