Wie defragmentieren Sie die MFT auf einer NTFS-Festplatte?

28

Vor einiger Zeit war meine Festplatte fast voll, viel mehr als das empfohlene Maximum von 85% der Kapazität. Ich glaube, dass NTFS angefangen hat, Dateien in dem für die Master File Table (MFT) reservierten Speicherbereich zu speichern, und die MFT musste im Zuge ihres Wachstums an anderer Stelle fragmentiert werden.
Ich habe Speicherplatz auf der Festplatte freigegeben, aber die MFT bleibt offenbar fragmentiert, und es gibt eine Menge langsamen Festplattenzugriffs für selbst sehr einfache Vorgänge wie Öffnen eines Ordners oder einer kleinen Datei. Das bringt Leistung um. Ich erinnere mich, dass der Windows-Standarddefragmentierer die MFT nicht defragmentiert, da die MFT verwendet wird, wenn das Betriebssystem ausgeführt wird. Ich verwende Vista Ultimate, und sein Defragmentierungsdienstprogramm bietet im Hinblick auf die Berichterstellung nur sehr wenige Funktionen als ältere Versionen.

Ich vermute, dass eine Lösung darin bestehen könnte, von einem optischen Datenträger mit einem Basisbetriebssystem ("Live CD") zu booten und von dort aus ein Defragmentierungsprogramm auszuführen. Kann mir jemand sagen, welches Programm ich verwenden soll oder wie ich meine MFT defragmentieren soll?

Vielen Dank!

WBT
quelle
1
Es ist nicht kostenlos, aber ich weiß, dass Disckeeper damit umgehen kann.
Zoredache

Antworten:

35

Sie können das Sysinternals-Tool Contig verwenden :

contig.exe c:\$mft
Dmitri Sologoub
quelle
2
Hat bei mir nicht funktioniert. UltimateDefrag zeigt, dass $ MFT von einer Nicht-System-Partition fragmentiert ist, aber contig sagt "Alle Dateien wurden bereits defragmentiert oder konnten nicht defragmentiert werden." Wie auch immer, ich weiß wirklich nicht, warum es dort $ MFT gibt.
Yuri Ghensev
15

Auslogics Disk Defrag Pro erledigt dies für Sie. Obwohl es sich nicht um ein kostenloses Programm handelt, können Sie eine kostenlose Testversion herunterladen. Wenn Sie sich für den Kauf entscheiden, steht die Lizenz für die Verwendung auf bis zu drei PCs zur Verfügung.

Ultradefrag ist ein kostenloses und leistungsstarkes FOSS- Defragmentierungsprogramm für die Windows-Plattform. Es kann alle Systemdateien einschließlich Registrierungsstrukturen und Auslagerungsdateien defragmentieren. Es enthält eine MFT-Optimierung, die nur die MFT verarbeitet.

Simon
quelle
3
+1 Ultradefrag hat mir mit einer hartnäckigen $ MFT Wunder gebracht, die selbst Contig(die hier so viele positive Stimmen erhalten hat) nicht besiegen konnte
BornToCode 16.04.13
@BornToCode Gibt es eine Möglichkeit, Ultradefrag dazu zu bringen, Dateien nicht an das Ende der Partition zu verschieben, wenn die MFT optimiert wird?
RockPaperLizard
1
@RockPaperLizard - Ich weiß nicht, aber die Alternative, diese wenigen Dateien nicht ans Ende zu verschieben, besteht darin, jede andere Datei auf der Festplatte zu verschieben. Sie können versuchen, Windows Defrag oder Diskeeper nach Ultradefrag auszuführen. Bedenken Sie jedoch, dass es ein langer Vorgang ist, jede Datei so oft zu bestellen, wie sie verwendet wird. Wenn Sie das nächste Mal einen Webbrowser starten, bricht dies zusammen.
KeithS
Beachten Sie, dass Sie jetzt dem Download-Link zu den "alten Versionen" folgen müssen, da die aktuelle Version 8 nicht mehr FOSS ist.
1.
6

Das mit Abstand beste Werkzeug war der alte JKdefrag, jetzt Mydefrag. Defragmentiert die MFT. Es ist auch kostenlos.

Die ursprüngliche Website ist nicht verfügbar, die neueste Version finden Sie hier: https://www.techspot.com/downloads/3720-jkdefrag-mydefrag.html

bearbeiten

Die von MyDefrag verwendete Windows Defrag API unterstützt das Defragmentieren der MFT.

Im Folgenden sind die von FSCTL_MOVE_FILE unterstützten Systemdatei-, Stream- und Stream-Typen im Format "Dateiname: Streamname: $ Typname" aufgeführt.

$ MFT :: $ DATA $ MFT :: $ ATTRIBUTE_LIST $ MFT :: $ BITMAP

Und die Skriptdokumentation von MyDefrag :

Inode   Filename    Description
0   $MFT    Master File Table - An index of every file.
1   $MFTMirr    A backup copy of the first 4 records of the MFT.
2   $LogFile    Transactional logging file.
3   $Volume Serial number, creation time, dirty flag.
4   $AttrDef    Attribute definitions.
6   $Bitmap Contains volume's cluster map (in-use vs. free).
7   $Boot   Boot record of the volume.
8   $BadClus    Lists bad clusters on the volume.
9   $Quota  [Windows NT only] Quota information.
9   $Secure Security descriptors used by the volume.
10  $UpCase Table of uppercase characters used for collating.
11  $Extend A directory for: $ObjId, $Quota, $Reparse, $UsnJrnl.
$Extend\$ObjId  Unique Ids given to every file.
$Extend\$Quota  Quota information.
$Extend\$Reparse    Reparse point information.
$Extend\$UsnJrnl    USN Journal.
$Extend\$RmMetadata Transactional data.

Während es nicht auf einer Live-CD läuft, läuft es auf Bart PE oder der Ultimate Windows BootCD .

Zum Defragmentieren der MFT ist beides nicht erforderlich.

surfasb
quelle
Ja, das. Ich glaube, die Defragmentierungs-API wurde mit Vista geändert, sodass Sie nicht einmal neu starten müssen.
Hydaral
1
MyDefrag läuft nur unter Windows. Sie können es nicht von einer Open-Source-Live-CD ausführen. Es wird behauptet, nur Dateien aus dem reservierten MFT-Speicher zu entfernen und die MFT nicht zu defragmentieren, wenn sie bereits fragmentiert ist. Gibt es ein anderes Programm, das die MFT defragmentieren kann?
WBT
Sie liegen falsch. Dies ist nicht explizit, da die Defrag API das Defragmentieren der MFT unterstützt. Außerdem können Sie die MyDrag-Skripte überprüfen.
Surfasb
Die Seite ist jetzt: mydefrag.net
Randall Flagg
jkdefrag und mydefrag sind jetzt tot - mydefragGUI kann immer noch auf mydefrag.net heruntergeladen werden, wie der obige Kommentar zeigt, aber seit 2009 gab es kein Update
thomasrutter
5

Diese Schritte haben bei mir funktioniert:

  1. Führen Sie das MiniXP in Hirens BootCD aus .
  2. Deaktivieren Sie den Ruhezustand , den virtuellen Speicher und den Kernelspeicherauszug.
  3. Folgen Sie den Anweisungen in diesem Link (verwenden Sie das fsutil).
  4. Führen Sie MyDefrag bei MiniXP mit der Option "Consolidate free space" aus.
  5. Starten Sie Windows erneut und jetzt können Sie Ihre Partition verkleinern.
gagallo7
quelle
-1

Es gibt eine Option für ultimatedefrag, die eine Boot-Zeit-Defragmentierung bietet, die jedoch bei mir nicht funktioniert hat, aber ich hoffe, dass sie bei Ihnen funktioniert

ultimatedefrag> tools> settings ...> boot time

Wählen Sie das gewünschte Laufwerk aus. Es dauert eine Weile, das Laufwerk zu analysieren. Wenn die Analyse abgeschlossen ist, können Sie den Speicherort der MFT-Datei anpassen. Ich empfehle jedoch, ihn unverändert zu lassen. Schalten Sie dann die Option Beim nächsten Start ausführen um und starten Sie den PC neu

für mich stapelt es jedes Mal bei 24% und bootet dann die Fenster, ohne die Datei zu defragmentieren, aber ich hoffe, es funktioniert für Sie. Teilen Sie auch Ihr Fachwissen

abbas gut aussehend
quelle