Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
Wenn für die Partitionen von Ubuntu das Dateisystem ext3 oder ext4 verwendet wird, überprüft das System bei jedem 30. Start oder nach Ablauf eines bestimmten Zeitraums diese Partitionen automatisch, um sicherzustellen, dass sie keine Fehler enthalten. Diese Prozedur ist grob vergleichbar mit dem Systemcheck, den Windows nach einem nicht ordnungsgemäßen Beenden des Systems durchführt, erfolgt aber im Gegensatz auch ohne Systemabsturz (d.h. rein prophylaktisch). Für Partitionen, die nicht automatisch gemountet werden, wie Wechselmedien und verschlüsselte Partitionen (LUKS, TrueCrypt), muss z. B. der – mit Vorsicht zu genießende – Befehl fsck
manuell verwendet werden. Auch GParted enthält eine Check-Funktion.
Im Folgenden muss das X in /dev/sda
X jeweils durch die korrekte Zahl ersetzt werden. Weitere Informationen liefert der Artikel Datenträger.
Um feststellen zu können, wann die nächste Überprüfung ansteht, speichert das System den "mount count" im Dateisystem, also die Anzahl der Startvorgänge, die seit der letzten Überprüfung durchgeführt wurden. Anzeigen lässt sich dieser "mount count" mit folgender Eingabe [1]
sudo dumpe2fs -h /dev/sdaX | grep -i "mount count"
oder alternativ:
sudo tune2fs -l /dev/sdaX | grep -i "mount count"
Man erhält eine Ausgabe wie
dumpe2fs 1.40.2 (12-Jul-2007) Mount count: 17 Maximum mount count: 30
Die Partition wurde also bereits 17 Mal eingebunden (siehe mount), und beim 30. Mal wird die Überprüfung durchgeführt werden. Es verbleiben also noch 13 Starts bis zum nächsten Dateisystemcheck. Nach der Überprüfung wird der Zähler automatisch auf 0 gesetzt.
Seit Ubuntu 13.10 ist bei ext4-Partitionen standardmäßig "Maximum mount count: -1" gesetzt. Für Details siehe den Thread im Opensuse Forum .
Will man den "mount count" manuell ändern, so kann man dies mit dem Befehl:
sudo tune2fs -C 20 /dev/sdaX
tun, wobei 20 der neue Zählerstand ist. Natürlich kann man auch andere Zahlen eintragen. Zum Beispiel kann man beim nächsten Start eine Überprüfung erzwingen, indem man einen "mount count" angibt, der höher als der "maximal mount count" ist. Dies funktioniert übrigens auch mit dem ext2-Dateisystem.
Um den Wert für den Abstand der Überprüfung ("maximal mount count") zu ändern, gibt man den folgenden Befehl in einem Terminal [1] ein:
sudo tune2fs -c 60 /dev/sdaX
Der obige Befehl stellt nun den Zeitpunkt der Überprüfung von jedem 30. Systemstart auf jeden 60. Start um. Natürlich kann auch jede beliebige andere Zahl verwendet werden.
Außerdem macht es Sinn, die Überprüfung zu unterschiedlichen Zeiten durchzuführen, also nicht alle Partitionen bei einem Systemstart. Dazu setzt man wie oben beschrieben für jede ext3/4-Partition einen anderen "mount count". Nun werden die Partitionen zu unterschiedlichen Zeitpunkten überprüft. Dadurch beschleunigt sich der Systemstart, da immer nur eine Partition überprüft wird.
Hier bieten sich Primzahlen an, um zu vermeiden, dass mehrere Prüfungen beim Systemstart zusammenfallen. Beispiel: Partition I Check nach dem 43. und Partition II nach dem 47. mount = gemeinsame, "zeitintensive" Prüfung erst nach 2021 mounts; zum Vergleich Partition I nach dem 20. und Partition II nach dem 50. = 100 mounts). Es reichen auch teilerfremde Zahlen, z.B. 39 und 45. Primzahlen:
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97 ...
Neben dem "mount count" wird auch noch gespeichert, wann das Dateisystem das letzte Mal eingebunden wurde und wann es das letzte Mal überprüft wurde. Wenn eine gewisse Zeit (standardmäßig 180 Tage/6 Monate) vergangen ist, ohne dass das Dateisystem überprüft wurde, löst auch dies eine automatische Prüfung aus. So kann es sein, dass das Dateisystem automatisch überprüft wird, bevor der "mount count" sein erlaubtes Maximum erreicht. Der "mount count" wird dabei auch auf 0
zurückgesetzt.
Man hat hier ähnliche Möglichkeiten, dies anzeigen bzw. ändern zu lassen, wie beim "mount count". Letzte Prüfung, Zeitintervall und nächste geplante Prüfung kann man so anzeigen lassen:
sudo tune2fs -l /dev/sdaX | grep -i "check"
Die Ausgabe sieht etwa so aus:
Last checked: Sun Sep 25 18:52:54 2011 Check interval: 15552000 (6 months) Next check after: Fri Mar 23 17:52:54 2012
Das Dateisystem wurde also zuletzt am 25.9.2011 überprüft und die nächste Prüfung ist für den 23.3.2012, 6 Monate später, geplant. Der Zeitpunkt der letzten Prüfung kann so geändert werden:
sudo tune2fs -T now /dev/sdaX
Statt now
kann die Zeit auch in folgendem Format angegeben werden:
JJJJMMTT[SS[MM[SS]]] steht für: Jahr-Monat-Tag-[Stunde-[Minute-[Sekunde]]]
Die Angaben in eckigen Klammern sind optional. Beispiel für den 13.10.2011 um 23:09 Uhr:
sudo tune2fs -T 201110132309 /dev/sdaX
Man kann auch das Zeitintervall zwischen den Prüfungen ändern. So kann man beispielsweise angeben, dass die Überprüfung schon nach 3 Monaten stattfinden soll:
sudo tune2fs -i 3m /dev/sdaX
Statt m
für Monate kann man auch d
für Tage (days) oder w
für Wochen angeben.
Die Überprüfung des Dateisystems kann zwar nervig sein, schützt aber vor inkonsistenten Dateisystemen und hält damit u.a. auch das System intakt. Es gibt so gut wie keine Szenarien, bei denen das Deaktivieren der Überprüfung zu empfehlen wäre.
Will man die Überprüfung komplett abstellen, so muss man eine Option in der Partitionstabelle in der Datei /etc/fstab bearbeiten. Dazu öffnet man die Datei mit einem Editor und Root-Rechten [2]. Die Datei könnte etwa so aussehen:
# /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 /dev/sdb1 / ext3 defaults,errors=remount-ro 0 1 /dev/sdb5 /home ext3 defaults 0 2 /dev/sda1 /mnt/Windows ntfs noauto,ro,exec,utf8,uid=1000 0 0 /dev/sda5 /mnt/Daten vfat auto,rw,exec,user,utf8,uid=1000 0 0 /dev/sda6 /mnt/Musik vfat auto,rw,exec,user,utf8,uid=1000 0 0
Hier sucht man nun die Partition, für die man die Überprüfung abstellen will und ändert die letzte Zahl in der Spalte <pass>
in eine 0 ab. Nun noch speichern und fertig. Ab sofort wird keine Überprüfung mehr durchgeführt.
Wenn man einstellen möchte, dass Dateisystemfehler automatisch beim Start korrigiert werden sollen, muss man lediglich Folgendes tun. Man öffnet die Datei /etc/default/rcS in einem Editor mit Root-Rechten [2] und ändert den Eintrag
FSCKFIX=no
auf
FSCKFIX=yes
Nun sollte Ubuntu bei jedem Start eventuell vorhandene Dateisystemfehler automatisch korrigieren – allerdings ohne Erfolgsgarantie. Kann eine Datei nicht vollständig repariert werden, landen unter Umständen noch brauchbare Bestandteile (beispielsweise bei Textdateien) im Ordner /lost+found.
Um alle ext3-/ext4-Partitionen beim nächstem Start zu prüfen, hilft folgender Befehl:
sudo touch /forcefsck
Nach dem Start wird /forcefsck
gelöscht, sodass die Überprüfung nur einmal stattfindet und der "mount count" wieder zurückgesetzt wird.
fsck darf niemals auf eingehängte oder verschlüsselte Partitionen angewandt werden. Eingehängte Partitionen müssen zunächst ausgehängt werden, ist das nicht möglich, kann ein Live-System (z.B. Knoppix) gebootet- und von dort aus geprüft werden. Verschlüsselte Partitionen müssen entschlüsselt werden ohne sie einzuhängen, anschließend kann fsck auf die zugewiesene Gerätedatei im Device Mapper angewandt werden (siehe LUKS).
Im Terminal [1] (vom installierten System oder von einer Live-CD aus gestartet) können Dateisysteme mit dem folgenden Kommando überprüft werden:
fsck /dev/sdaX
wobei X durch die Bezeichnung der betreffenden Partition zu ersetzen ist (a steht für die 1. Festplatte). Ist man sich nicht sicher, welche Partition betroffen ist, hilft der Befehl blkid weiter. Hierbei werden zunächst keine Reparaturen vorgenommen oder es erfolgt zumindest für jeden Reparaturschritt eine Rückfrage.
Verschiedene Dateisysteme können gezielt mit Kommandos wie fsck.ext4, fsck.ext3 oder fsck.reiserfs getestet werden. Für die eigentliche oder auch automatische Reparatur müssen je nach Dateisystemtyp Optionen hinzugefügt werden. Welche dies sind, wird beim Ergebnis der Überprüfung angezeigt. Der Test kann dann mit diesen Optionen wiederholt werden.
Auskunft über alle möglichen Optionen liefern die englischen Anleitungen, die z.B. mit
man fsck.ext4
oder über die grafische Onlinehilfe aufgerufen werden können.
Konkretes Praxis-Beispiel: Pflicht-Überprüfung für die Haupt-Partition (die beispielsweise sda1
heißt und vom Typ ext4
ist). Man startet den Rechner mit der Ubuntu-CD, Knoppix oder einer anderen Live-CD und kann nun die Haupt-Partition in Ordnung bringen, denn die Partition darf nicht gemountet sein.
sudo fsck.ext4 -v -f -c /dev/sda1
Wenn sehr viele Fragen mit j
beantwortet werden müssen, kann man mit
Strg +
C abbrechen und den Befehl mit dem zusätzlichen Parameter -y
noch einmal starten.
Diese Revision wurde am 9. November 2016 14:31 von Kerlbürste_Suessholz erstellt.