Ich habe verschiedene Tools zum Reparieren von Festplatten verwendet und mich gefragt, ob es eine Liste gibt, was genau CHKDSK reparieren kann. Die MFT? Bootsektor? Backup Boot Sektor? Cluster? Welche häufigen Probleme können nicht behoben werden?
hard-drive
corruption
chkdsk
Bart Silverstrim
quelle
quelle
Antworten:
CHKDSK (autochk.exe und chkdsk.exe, die DLLs gemeinsam nutzen) wird in wenigen Schritten ausgeführt (das Folgende gilt für NTFS-Volumes und ist etwas vereinfacht):
Stufe 1 - "Überprüfen von Dateien". In dieser Phase wird die Master File Table (MFT) untersucht. Die MFT speichert Dateiattribute für jede Datei und jedes Verzeichnis wie Dateiname, Erstellungsdatum, Zeitstempel usw. in File Record Segments (FRS). CHKDSK überprüft die FRS auf interne Konsistenz und erstellt außerdem zwei Bitmaps (eine mit den FRS und eine mit tatsächlichen Clustern), die mit den in der MFT gespeicherten Bitmaps verglichen werden.
Stufe 2 - "Überprüfen von Indizes". In dieser Phase werden die Indizes (Verzeichnisse) auf dem NTFS-Volume angezeigt. Es überprüft jedes der Verzeichnisse auf interne Konsistenz und stellt sicher, dass jede Datei und jedes Verzeichnis im FRS in einem Verzeichnis enthalten ist. Wenn sich eine Datei nicht in einem Verzeichnis befindet, wird sie als "verwaist" betrachtet und CHKDSK versucht entweder, sie in den vom FRS für diese Datei angegebenen Ordner zu legen, oder sie legt sie in einem "gefundenen" Verzeichnis ab. Es wird auch überprüft, ob jede Datei / jedes Verzeichnis im Verzeichnis einen entsprechenden FRS-Eintrag hat. Wenn das Verzeichnis auf eine Datei oder ein Verzeichnis verweist, das nicht vorhanden ist, wird dieser Eintrag entfernt.
Stufe 3 - "Überprüfen der Sicherheitsbeschreibungen". Die Sicherheitsbeschreibungen (die Sicherheitsinformationen wie ACLs und Überwachungsinformationen enthalten) werden in der tatsächlichen Dateistruktur gespeichert. In dieser Phase überprüft CHKDSK jede dieser Beschreibungen , um sicherzustellen, dass sie die richtige Struktur haben und intern konsistent sind.
Stufe 4 - "Überprüfen der Dateidaten". Diese Phase tritt nur auf, wenn der Befehl / R verwendet wurde (oder das Kontrollkästchen in der GUI aktiviert wurde). In dieser Phase versucht CHKDSK, jeden Sektor auf der Festplatte zu lesen. Wenn / R angegeben wurde, wurde diese Phase in früheren Phasen bereits einmal für die Metadaten- und Dateidatensektoren ausgeführt. Wenn ein fehlerhafter Sektor gefunden wird, wird der Cluster, in dem sich der Sektor befand, zur Liste der fehlerhaften Cluster hinzugefügt und versucht, die Daten in einen guten Sektor zu verschieben (wenn dies nicht möglich ist, wird der neue Cluster mit 0xFF gefüllt).
Stufe 5 - "Überprüfen des freien Speicherplatzes". Dies tritt auch nur auf, wenn / R verwendet wird. In dieser Phase versucht CHKDSK, aus freien Sektoren zu lesen, und fügt der Liste der fehlerhaften Cluster fehlerhafte Cluster hinzu.
Hoffentlich beantwortet das oben genannte Ihre Frage. Weitere Informationen finden Sie in dieser KB , diesem Whitepaper und diesem Handbuch .
Es ist auch zu beachten, dass NTFS über integrierte Metadatenwiederherstellungsfunktionen in Form des NTFS-Transaktionsprotokolls verfügt. Dies ist ein separater Prozess von CHKDSK. Wenn sich das System unerwartet ausschaltet oder abstürzt, führt Windows beim Start der Sicherung einen NTFS-Wiederherstellungsvorgang unter Verwendung der Informationen in der NTFS-Protokolldatei durch. Dieser Vorgang wird in dem oben im Abschnitt "Wiederherstellbarkeit von NTFS-Transaktionsprotokollen" erwähnten Whitepaper beschrieben.
quelle
CHKDSK ist im Grunde eine parallele NTFS-Implementierung (zu NTFS.SYS), die sich mit der "Überprüfung der geistigen Gesundheit" der MFT und erforderlichenfalls mit Reparaturen befasst. Mir ist keine umfassende veröffentlichte Spezifikation für alle Überprüfungen und "Korrekturen" bekannt, die CHKDSK auf NTFS- oder FAT-Volumes durchführt. Ich würde vermuten, dass die einzige umfassende Spezifikation der Quellcode für CHKDSK selbst wäre. Sie können wahrscheinlich etwas aus der Microsoft-Dokumentation zusammenstellen, aber ich bezweifle, dass Sie eine technische Beschreibung jedes Tests oder sogar eine Liste aller Tests finden werden.
In Bezug auf den Bootsektor und den Backup-Bootsektor (falls zutreffend für den Typ des zu überprüfenden Dateisystems) glaube ich nicht, dass eine Version von CHKDSK irgendeine Art von "Reparatur" am Bootsektor vornimmt. Wenn Sie beispielsweise Ihren Bootssektor zerschlagen und den Offset der MFT verlieren, wird CHKDSK dies nicht beheben.
Die einzige Art von "Beschädigung", die ich mit Sicherheit sagen kann, dass CHKDSK nichts dagegen unternehmen kann, ist die Beschädigung der Datenbereiche der Datei selbst. CHKDSK macht nichts mit Nicht-Metadaten-Informationen.
quelle
Es gibt ein altes Microsoft-Whitepaper zu CHKDSK.
Windows 2000 Chkdsk Management
quelle