Raspberry PI Dateisystem nur noch lesbar

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

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.

Woher ich das weiß:Berufserfahrung – openSuSE seit 1995
whiskey99 
Fragesteller
 09.03.2014, 19:10

Danke für die Antwort.

0
guenterhalt  09.03.2014, 19:49
@whiskey99

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.

1
whiskey99 
Fragesteller
 11.03.2014, 19:34

Hallo, ich find die SD-Karte under /dev nicht sie wird immer in /media gemounted

0
guenterhalt  11.03.2014, 22:13
@whiskey99

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
0

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.

whiskey99 
Fragesteller
 09.03.2014, 19:10

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

0
guenterhalt  09.03.2014, 20:01
@whiskey99

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 )

1