Raspberry PI Dateisystem nur noch lesbar
Hallo,
Ich besitzte einen Raspberrypi (B) mit 512mb RAM und dem weezy image.
Meine Frage:
Das dateisystem des Pis ist nichtmehr beschreibbar es kommt jedes mal der Fehler: "Dateisystem nur Lesbar" wie kann ich das Problem beheben ohnen den Pi neu aufzusetzen?
2 Antworten
stecke die SD-Karte in deinen "großen" PC und repariere mit
fsck.ext4 /dev/"musst-du-selbst-finden"
Bisher hat das bei mit immer funktioniert.
Zu Sicherheit habe ich mir ein Backup mit dd if="Linux-Partitiion-der-Karte" of=ext4-backup
und dd if=Boot-partition of=boot-backup
gemacht, so dass ich jederzeit die Karte neu formatieren und das (die) Backups wieder einspielen kann.
ein Nachtrag:
sobald beim Mounten eines Filesystems aber auch bei anderen Zugriffen auf solche Datenträger ein Fehler erkannt wird, wird ein remount mit der Option read-only ausgeführt. Daher weist der von dir beschrieben Fehler auf einen Fehler des Filesystems der SD-Karte hin.
So etwas passiert, wenn die Betriebsspannung im laufenden Betrieb ausfällt oder instabil ist. Bei den ersten Versuchen ist das keine Seltenheit. Daher sollte man immer eine Kopie der Daten haben.
Hallo, ich find die SD-Karte under /dev nicht sie wird immer in /media gemounted
unter /dev/ wird sie nicht als SD-Karte, auch nicht so ähnlich erscheinen. Die unter /dev aufgelisteten Namen sind völlig belanglos. Nur die (hier als Beispiel) fett dargestellten Zahlen sagen dem Kernel, was er machen soll.
brw-rw---- 1 root disk 8, 1 11. Mär 12:42 /dev/sda1
Namen sind schon sinnvoll, denn die kann man sich noch merken, nicht aber die beiden Zahlen.
Wenn deine SD-Karte gemountet wird, dann findest du die zugehörige Gerätedatei (also das z.B. /dev/sdc1 ) mit dem Befehl
mount
Im Report wird dann vielleicht u.a. folgendes stehen:
/dev/sdc2 on /media/sd_karte type ext4 (rw,relatime,data=ordered)
( das ist übrigens meine SD-Karte eines Pi ) Damit kennst du die Gerätedatei (hier /dev/sdc2). Solange du keine weitere SD-Karte oder einen USB-Stick steckst, bleibt das sdc2 erhalten.
Mit
umount /dev/sdc2
löst du die Einbindung und dann gehts weiter mit
fsck.ext4 /dev/sdc2
Aus Deiner Frage geht nicht klar hervor, ob das von Anfang an so war oder ob das Dateisystem "von jetzt auf gleich" auf readonly gesetzt wurde. Und es ist nicht klar, um welches Dateisystem es sich dreht - beim Pi gibt es ja mehrere Partitionen. Ich lasse eine Partition bewusst readonly einhängen, damit das Dateisystem beim Booten geprüft werden kann. Eingetragen ist das in der Datei cmdline.txt in der Boot-Partition:
cat /boot/cmdline.txt
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 ro rootfstype=ext4 elevator=deadline rootwait
Entscheidend ist das "ro" in der Zeile direkt nach "mmcblk0p2". Ggf hast Du in der fstab in den Mountoptionen eine ro in den Optionen stehen? Oder es steht ein "errors=remount-ro" in den Optionen, dann wird das Dateisystem bei auftretenden Fehlern readonly eingehängt.
cat /etc/fstab
# file system mount point type options dump pass
proc /proc proc defaults 0 0
/dev/mmcblk0p1 /boot vfat defaults 0 2
/dev/mmcblk0p2 / ext4 defaults,noatime 0 1
Dann solltest Du das Dateisystem mal mit fsck prüfen. Das geht natürlich am besten, wenn die Karte per Kartenleser am PC angehängt ist. Welche Prüfprogramme unter Windows verfügbar sind, weiß ich allerdings nicht. Und immer dran denken: Vor dem Ziehen der Karte und vor dem Ausstöpseln des Pis das Betriebssystem sauber mit sudo halt herunterfahren. guenterhalt schrieb, er würde nach dem Formatieren das per dd angelegte Backup wieder einspielen. Unter Windows kann man statt dd das Progamm WinDiskImager nehmen. Um das so erstelle Backup wieder einzuspielen, braucht man die Karte vorher nicht zu formatieren. In jedem Fall muss man aber aufpassen: Wenn die Karte einen Fehler hat, wird mit dd bzw. WinDiskImager evtl. wieder auf die fehlerhafte Stelle geschrieben. Damit hat man nichts gewonnen. Besser ist es, die Karte zu ersetzen.
Hallo, das Dateisystem ist von jetzt auf gleich nur noch lesbar geworden und ich meine die SD-Karte des Pis soweit ich weiss hat die nur eine Partition. Danke für die Antwort
ich meine die SD-Karte des Pis soweit ich weiss hat die nur eine Partition.
das ist nicht richtig. Der Bootvorgang ist beim Pi etwas anders organisiert als bei einem Linux im PC. Zum Booten ist die 1. Partition vorgesehen. Diese muss das Format vfat ( etwa FAT32 ) haben. Eine 2. Partition ist für das Linux-System vorgesehen. Man kann aber, wie bei Linux empfehleswert, eine weitere Partition für /home anzulegen.
Die Standard-Namen sind
/dev/mmcblk0p1 und /dev/mmcblk0p2/
im Report zum Befehl mount werden die auch angezeigt ( beachte /dev/root ist ein Link auf /dev/mmcblk0p2 )
Danke für die Antwort.