Frage Chkdsk-Fähigkeiten


Ich habe mehrere verschiedene Tools zum Reparieren von Festplatten verwendet und habe mich gefragt, ob es eine Liste gibt, was genau CHKDSK reparieren kann? Die MFT? Bootsektor? Backup-Bootsektor? Cluster? Was für häufige Probleme kippen es reparieren?


7
2017-07-20 15:18


Ursprung


Ich wünschte, ich könnte euch allen das "Antwort" -Kennzeichen geben ... Danke für die Informationen! Dieses Whitepaper ist besonders informativ! - Bart Silverstrim


Antworten:


CHKDSK (autochk.exe und chkdsk.exe, die DLLs teilen) läuft in ein paar Stufen (das Folgende ist für NTFS-Volumes, und ein bisschen vereinfacht):

Stufe 1 - "Dateien überprüfen". In dieser Phase untersucht es die Hauptdateitabelle (MFT). Die MFT speichert Dateiattribute über jede Datei und jedes Verzeichnis wie Dateiname, Erstellungsdatum, Zeitstempel usw. in Datei-Datensatz-Segmenten (FRS). CHKDSK betrachtet die FRS aus Gründen der internen Konsistenz und erstellt auch zwei Bitmaps (eines zeigt die FRSs und eines zeigt die tatsächlichen Cluster), das es mit den Bitmaps vergleicht, die in der MFT gespeichert sind.

Stufe 2 - "Überprüfung der Indizes". In dieser Phase untersucht es die Indizes (Verzeichnisse) auf dem NTFS-Volume. Es überprüft jedes der Verzeichnisse auf interne Konsistenz und stellt sicher, dass jede Datei und jedes Verzeichnis in dem 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 angegebenen Ordner für diese Datei zu stellen oder sie in ein "gefundenes" Verzeichnis zu stellen. Es überprüft außerdem, dass jede Datei / jedes Verzeichnis im Verzeichnis über einen entsprechenden FRS-Eintrag verfügt. Wenn das Verzeichnis auf eine Datei oder ein Verzeichnis verweist, das nicht vorhanden ist, entfernt es diesen Eintrag.

Stufe 3 - "Sicherheits-Deskriptoren verifizieren". Die Sicherheitsdeskriptoren (die Sicherheitsinformationen wie ACLs und Auditing-Informationen enthalten) werden im tatsächlichen gespeichert DateistrukturIn dieser Phase prüft CHKDSK jede dieser Komponenten, um sicherzustellen, dass sie die richtige Struktur haben und dass sie intern konsistent sind.

Stufe 4 - "Dateidaten verifizieren". Diese Stufe tritt nur auf, wenn der Befehl / R verwendet wurde (oder die Box über die GUI aktiviert wurde). In dieser Phase versucht CHKDSK, jeden Sektor auf der Festplatte zu lesen. Wenn / R angegeben wurde, hat es diese Phase tatsächlich bereits einmal für die Metadaten- und Dateidatensektoren in früheren Phasen durchgeführt. Wenn es einen fehlerhaften Sektor findet, fügt es den Cluster, in dem sich der Sektor befand, der Liste der fehlerhaften Cluster hinzu und versucht, die Daten in einen guten Sektor zu verschieben (falls dies nicht möglich ist, füllt es den neuen Cluster mit 0xFF).

Stufe 5 - "Freien Raum verifizieren". Dies tritt auch nur auf, wenn / R verwendet wird. In dieser Phase versucht CHKDSK, von freien Sektoren zu lesen und fügt der schlechten Clusterliste fehlerhafte Cluster hinzu.

Hoffentlich beantwortet das Obige Ihre Frage. Weitere Informationen finden Sie in diese KB, diese weißes Papier, und das führen.

Es sollte auch beachtet werden, dass NTFS integrierte Funktionen zur Wiederherstellung von Metadaten in Form des NTFS-Transaktionsprotokolls enthält. Dies ist ein separater Prozess von CHKDSK. Wenn sich das System unerwartet ausschaltet oder abstürzt, wird beim Starten von Windows ein NTFS-Wiederherstellungsvorgang mit den Informationen in der NTFS-Protokolldatei ausgeführt. Dieser Prozess wird ausführlich im Whitepaper im Abschnitt "NTFS Transaction Log Recoverability" beschrieben.


8
2017-07-20 16:38





CHKDSK ist im Grunde genommen eine parallele NTFS-Implementierung (zu NTFS.SYS), die sich mit der "Überprüfung der Integrität" der MFT beschäftigt und gegebenenfalls Reparaturen durchführt. Mir ist keine umfassende veröffentlichte Spezifikation für alle Überprüfungen und "Fixes" 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 Boot-Sektor und den Backup-Boot-Sektor (wenn für den Typ des zu überprüfenden Dateisystems zutreffend), glaube ich nicht, dass irgendeine Version von CHKDSK irgendeine Art von "Reparatur" für den Boot-Sektor vornimmt. Wenn Sie beispielsweise Ihren Bootsektor zerstören und den Offset der MFT verlieren, wird CHKDSK das nicht beheben.

Die einzige Art von "Korruption", die ich mit Sicherheit sagen kann, dass CHKDSK nichts bewirken kann, wäre Korruption in den Datenbereichen der Datei selbst. CHKDSK tut nichts mit Nicht-Metadaten-Informationen.


2
2017-07-20 15:34





Es gibt ein altes Whitepaper zu CHKDSK von Microsoft.

Windows 2000 Chkdsk-Verwaltung


1
2017-07-20 16:12