root@host [/]# fsck -cc /dev/sdb1
fsck from util-linux-ng 2.17.2
e2fsck 1.41.12 (17-May-2010)
Checking for bad blocks (non-destructive read-write test)
Testing with random pattern: done
/dev/sdb1: Updating bad block inode.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdb1: ***** FILE SYSTEM WAS MODIFIED *****
/dev/sdb1: 11/18317312 files (0.0% non-contiguous), 1198478/73258400 blocks
Es hieß, das Dateisystem sei geändert worden. Na und? Ich formatiere es einfach. Stimmt etwas nicht?
Antwort1
Es sieht so aus, als hätte es nichts gefunden. Dann wurde der fehlerhafte Block-Inode mit den Ergebnissen aktualisiert, die nichts ergaben.
FILE SYSTEM WAS MODIFIED
wird ausgespuckt vonfsck
beliebigjedes Mal, wenn ein Schreibvorgang in das Dateisystem erfolgt. Das Ändern dieses einen fehlerhaften Block-Inodes reicht aus.
Insbesondere, weil Sie nicht angegeben haben, alle Probleme einfach ohne Rückfrage zu beheben ( -y
), hätte es etwas gesagt, wenn auf der Festplatte Probleme aufgetreten wären, die korrigiert werden müssten.
Antwort2
Ich würde es noch einmal ausführen. Sie -cc
haben fehlerhafte Blöcke gefunden und das Programm aufgerufen, badblocks
um sie zu reparieren. Vielleicht möchten Sie es einfach so ausführen:
$ fsck /dev/sdb1
Auszug aus der Manpage fsck.ext3
-C
Diese Option veranlasst e2fsck, das Programm badblocks(8) auszuführen, um alle fehlerhaften Blöcke im Dateisystem zu finden und sie dann als fehlerhaft zu markieren, indem sie zum Inode für fehlerhafte Blöcke hinzugefügt werden. Wenn diese Option zweimal angegeben wird, wird der Scan nach fehlerhaften Blöcken mit einem zerstörungsfreien Lese-/Schreibtest durchgeführt.
UPDATE #1: Folgefrage
Hat das fsck einen fehlerhaften Block gefunden? Was ist ein zerstörungsfreier Lese-/Schreibtest?
fsck
ist ein Frontend-Tool, das verschiedene Prüfungen zum allgemeinen Zustand eines Dateisystems durchführt. Der -cc
Schalter weist fsck
an, auch aufzurufen badblocks
, damit eine gründlichere Prüfung durchgeführt wird.
Beim zerstörungsfreien Lesen/Schreiben wird zunächst der Inhalt des Speicherorts gesichert, anschließend wird der Speicherort anhand eines Musters getestet und der ursprüngliche Inhalt wird zurückgegeben.
Verweise
Antwort3
Keine Sorge, diese Meldung wird angezeigt, wenn Sie eine fehlerhafte Datei haben, z. B. eine Datei mit falschem Namen oder Unicode-Namen oder eine fehlerhafte Datei. Sie hat nichts mit Ihrem Dateisystem zu tun.
Antwort4
Anscheinend können Sie dumpe2fs -b
beispielsweise ausführen, um die Liste der fehlerhaften Blöcke anzuzeigen dumpe2fs -b /dev/sdb1
. Ich vermute, wenn die Ausgabe leer ist, gibt es keine fehlerhaften Blöcke (aber ich habe gerade kein Laufwerk mit fehlerhaften Blöcken zur Verfügung und kann es daher nicht testen).