{"id":588,"date":"2017-10-10T12:39:42","date_gmt":"2017-10-10T10:39:42","guid":{"rendered":"http:\/\/chriskrz.selfhost.bz\/?p=588"},"modified":"2025-02-09T11:18:53","modified_gmt":"2025-02-09T10:18:53","slug":"filesystem-reparieren","status":"publish","type":"post","link":"https:\/\/www.rustimation.eu\/index.php\/filesystem-reparieren\/","title":{"rendered":"Raspbian Filesystem automatisch pr\u00fcfen und reparieren"},"content":{"rendered":"<p><strong>Dieser Artikel ist inzwischen weitgehend \u00fcberholt, da der wesentliche Befehl bzw. die wesentliche Einstellung <span class=\"lang:default decode:true crayon-inline \">fsck.repair=yes<\/span> inzwischen in der Steuerdatei <span style=\"color: #ff0000;\"><em>cmdline.txt<\/em><\/span> enthalten ist.<\/strong><\/p>\n<h4>Filesystem nach Stromausfall kaputt?<\/h4>\n<p>Ganz schlimm ist das pl\u00f6tzliche Abschalten des Pi durch Stecker ziehen oder einen Stromnetzausfall. Das f\u00fchrt \u00f6fter zu unvollst\u00e4ndig geschlossenen Dateien. Im schlimmsten Fall bootet der Pi dann nicht. Hier zeige ich euch, wie man ein defektes Filesystem reparieren kann.<\/p>\n<h4>Manuelle Reparatur mit fsck<\/h4>\n<p>Mit dem Kommando<\/p>\n<pre class=\"lang:default decode:1 inline:1 \">fsck<\/pre>\n<p>kann man ein Dateisystem (engl. Filesystem) \u00fcberpr\u00fcfen und notfalls reparieren. Bl\u00f6derweise darf das Filesystem dabei nicht gemounted sein. Also <!--more-->br\u00e4uchte man zumindest einen SD Kartenleser und eine zweite funktionierende Raspbian SD Karte. Mit der anderen System SD Karte wird der Pi gebootet. Mittels Kartenleser inkl. eingelegter nicht funktionierender SD Karte wird die defekte Karte dann gepr\u00fcft. Das ganze ist etwas kompliziert &#8211; mir jedenfalls zu kompliziert. Anleitungen gibts im Web.<\/p>\n<h4>Einmalige Reparatur<\/h4>\n<p>M\u00f6chte man die Root Partition nur einmalig w\u00e4hrend des n\u00e4chsten Bootvorgangs checken und reparieren, reicht es, im Hauptverzeichnis eine Datei mit Namen<\/p>\n<pre class=\"lang:default decode:1 inline:1 \">forcefsck<\/pre>\n<p>anzulegen. Der dazu n\u00f6tige Befehl lautet<\/p>\n<pre class=\"\"><code>sudo touch \/forcefsck<\/code><\/pre>\n<p>Das funktioniert nat\u00fcrlich nur, wenn der Pi noch starten konnte und ich das Shell Kommando absetzen kann. Immerhin werden so noch offene Dateien wieder ordnungsgem\u00e4\u00df geschlossen.<\/p>\n<h4>Automatische Reparatur<\/h4>\n<p>Startet der Pi \u00fcberhaupt nicht, k\u00f6nnen wir folgendes versuchen: Steckt die SD Karte in einen PC &#8211; ob direkt in einen SD Kartenslot oder einen USB Kartenleser ist egal. Die \/root Partition k\u00f6nnen wir damit zwar nicht ansehen, die Boot Partition hingegen schon.<\/p>\n<p>Das Verzeichnis \/boot der Karte bekommt im PC beim Einstecken einen Windows Laufwerksbuchstaben verpasst und kann unter Windows gelesen und beschrieben werden. Dort die Datei cmdline.txt editieren und noch den Text<\/p>\n<pre class=\"lang:default decode:1 inline:1 \">fsck.repair=yes<\/pre>\n<p>am Ende der Zeile dranh\u00e4ngen. Das geht mit dem Texteditor von Windows (aber bitte nicht mit Word o.\u00e4.) oder besser und sicherer mit einem Editor, der <a href=\"https:\/\/www.rustimation.eu\/index.php\/einfache-entwicklungsumgebung\/\" target=\"_blank\" rel=\"noopener noreferrer\">Linux Zeilenumbr\u00fcche<\/a> beherrscht.<\/p>\n<p style=\"padding-left: 30px;\"><span style=\"color: #808080;\">Die Datei cmdline.txt besteht aus einer einzigen &#8211; unter Umst\u00e4nden sehr langen &#8211; Zeile. Keinesfalls Zeilenumbr\u00fcche einf\u00fcgen!<\/span><\/p>\n<p>Die Karte wieder in den Raspi stecken und neu starten.\u00a0 Beim Hochfahren aber noch vor dem Mounten wird dann jedes Mal die Root Partition automatisch gepr\u00fcft und ggf. repariert. Der Bootvorgang dauert dadurch minimal l\u00e4nger.<\/p>\n<p>Gerade bei Servern, die vielleicht auch irgendwo anders stehen oder generell headless betrieben werden,\u00a0 macht so ein Eintrag Sinn.<\/p>\n<p style=\"padding-left: 30px;\"><span style=\"color: #808080;\">Nachdem ich gestern meine erste SD Karte mit dem neuen Raspbian \"Stretch\" gebrannt habe, muss ich feststellen, dass <\/span><\/p>\n<pre class=\"lang:default decode:1 inline:1\">fsck.repair=yes<\/pre>\n<p>bereits standardm\u00e4\u00dfig in die cmdline.txt Datei eingetragen wird. Bei den \u00e4lteren Wheezy und Jessie Versionen war das nicht so, hier n\u00fctzt der Beitrag also noch etwas.<\/p>\n<p>Nat\u00fcrlich kann es auch aus anderen Gr\u00fcnden zu Problemen mit der SD Karte kommen. Z.B. wenn sie verschlissen ist und einer oder mehrere Datenbl\u00f6cke nicht mehr gelesen werden k\u00f6nnen. Dann hilft dieser Beitrag nur wenig, da er ja nur das Filesystem reparieren hilft &#8211; also die logische Zuordnung der einzelnen Datenbl\u00f6cke, nicht aber physische Medienfehler. Wie man generell den Verschlei\u00df einer SD Karte minimieren kann, steht in diesem <a href=\"https:\/\/www.rustimation.eu\/index.php\/sd-karten-verschleiss-vermeiden\/\" target=\"_blank\" rel=\"noopener noreferrer\">Beitrag meines Blogs<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dieser Artikel ist inzwischen weitgehend \u00fcberholt, da der wesentlichee Befehl bzw. die wesentliche Einstellung fsck.repair=yes inzwischen in der Steuerdate cmdline.txt enthalten ist.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,11,69],"tags":[91,90,36,92],"class_list":["post-588","post","type-post","status-publish","format-standard","hentry","category-raspberry-pi","category-raspbian","category-tips-tricks","tag-dateisystem","tag-filesystem","tag-raspberry-pi","tag-reparieren"],"_links":{"self":[{"href":"https:\/\/www.rustimation.eu\/index.php\/wp-json\/wp\/v2\/posts\/588","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rustimation.eu\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rustimation.eu\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rustimation.eu\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rustimation.eu\/index.php\/wp-json\/wp\/v2\/comments?post=588"}],"version-history":[{"count":1,"href":"https:\/\/www.rustimation.eu\/index.php\/wp-json\/wp\/v2\/posts\/588\/revisions"}],"predecessor-version":[{"id":3328,"href":"https:\/\/www.rustimation.eu\/index.php\/wp-json\/wp\/v2\/posts\/588\/revisions\/3328"}],"wp:attachment":[{"href":"https:\/\/www.rustimation.eu\/index.php\/wp-json\/wp\/v2\/media?parent=588"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rustimation.eu\/index.php\/wp-json\/wp\/v2\/categories?post=588"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rustimation.eu\/index.php\/wp-json\/wp\/v2\/tags?post=588"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}