
Antwort1
Die Dateisystemprüfung hat nichts mit dem Scannen nach „fehlerhaften“ Sektoren zu tun. „Fehlerhafte“ Sektoren sind in diesem Zusammenhang normalerweise Sektoren, die nicht zuverlässig gelesen oder beschrieben werden können. Eine Dateisystemprüfung kann jedoch durchaus auf einen fehlerhaften Sektor stoßen, da sie versucht, Blöcke im gesamten Dateisystem zu lesen (und möglicherweise zu schreiben).
Was eine Dateisystemprüfung tatsächlich tut, hängt von jedem einzelnen Dateisystem und dem Implementierer des Dateisystemprüfungsdienstprogramms ab. Für einige Dateisystemtypen (z. B.NFSUndtmps), ist das Konzept bedeutungslos, für andere ist es überflüssig, weil sich das Dateisystem im normalen Betrieb kontinuierlich selbst prüft, und für wieder andere ist es lebenswichtig, das Dateisystem ab und zu zu prüfen.
Im Allgemeinen sind Dienstprogramme zur Dateisystemprüfung darauf ausgelegt, die Datenstrukturen des Dateisystems auf Beschädigungen, Inkonsistenzen und verletzte Invarianten zu prüfen. Wenn Sie mehr Details wünschen, müssen Sie nach einem bestimmten Dateisystemtyp fragen.
Antwort2
CHKDSK erledigt im Hintergrund eine ganze Reihe von Aufgaben. Diese werden in den verschiedenen Phasen von CHKDSK dargestellt.
NTFS verfügt über eine sogenannte MFT (Master File Table). Diese MFT ist eine Liste aller Dateien auf der Festplatte. Um die Dateikonsistenz zu überprüfen, liest CHKDSK die MFT Eintrag für Eintrag und sucht dann nach der entsprechenden Datei auf der Festplatte.
Beispielsweise findet CHKDSK MyPhoto1.jpg in der MFT. Die MFT sagt, dass es sich in Sektor 230 befindet und 30 Sektoren lang ist. CHKDSK liest dann Sektor 230 bis 260 und sieht, dass dieser tatsächlich mit Daten gefüllt ist und eine Datei ist. Auf diese Weise prüft CHKDSK die Konsistenz des Dateisystems. Dateiinkonsistenz bedeutet nicht unbedingt einen fehlerhaften Sektor, sondern könnte bedeuten, dass der Computer während eines Schreibvorgangs auf die Festplatte ausgeschaltet war.
Mit dem Flag /r (recover) prüft CHKDSK, ob Dateiinkonsistenzen vorliegen und versucht, diese zu reparieren. Ohne dieses Flag führt chkdsk einen „Trockenlauf“ durch.
Mit dem Flag /f (fix) versucht CHKDSK, den fehlerhaften Sektor zu reparieren. Mit anderen Worten, es versucht, die Daten im fehlerhaften Sektor wiederherzustellen und versucht, diesen Sektor neu zu beschreiben. Wenn CHKDSK liest, was es in den betreffenden Sektor geschrieben hat, kann es die Sektoren als repariert markieren.