Boot Problem mit Raspi 3B - BackUp auf Festplatte nachträglich möglich?

  • Hi Raspi-Freunde,


    seit 2 Jahren ist mein Raspi 3B in einem Projekt in Verbindung mit einem PiXTend V2S SPS-Board in Verwendung und hat bisher brav seinen Dienst verrichtet. Nach dem das Gerät jetzt ca. 2 Wochen ausgeschaltet war, kann ich es jetzt nicht mehr starten/booten. Das Betriebssystem ist Raspian.


    Der Bootvorgang wird gestartet, es erscheint das Regenbogenbild am Anfang, dann kommt die Fehlermeldung "Failed to start Load Kernel Modules". Nach weiteren Meldungen die alle mit [ OK ] markiert sind, bleibt er stehen und man wird aufgefordert "Enter" zu drücken. Die Tastatur funktioniert soweit, aber man kommt zu keinem Eingabe Terminal mehr. Nach "Enter" kommt der Raspberry Pi Startscreen (Bild mit "Welcome to the Raspberry Desktop - Powered by Raspberry Pi OS (32 Bit)", danach wieder die Fehlermeldungen und wieder der Hinweis mit "Press Enter". Man kommt aus dieser Schleife nicht mehr raus. Ich kann also keine eigene Diagnose starten.


    Deutet dieses Verhalten auf eine fehlerhafte SD Karte hin? Von dieser wird gebootet.

    Ist es möglich, das System (das gesamte OS inkl. allen Einstellungen) jetzt noch am PC oder so auf eine M2 Festplatte zu kopieren? Mir geht es darum, Daten zu retten, die noch auf dem Pi sind.


    Auf dem Pi läuft u.a. CoDeSys, NodeRed, Grafana und eine Datenbank, auf der Sensorwerte aufgezeichnet werden. Es gibt zwar BackUps von allen Sachen, aber es wäre extrem aufwendig, das System wieder so einzurichten. Leider gibt es kein BackUp vom gesamten System.


    Gerne würde ich das OS auch künftig von der USB Festplatte booten, dann ist die SD als große Schwachstelle des System raus.

    Gibt es einen "einfachen" Weg, um mein Projekt wieder zum Laufen zu bringen?


    Ich habe ein Foto vom Boot-Vorgang gemacht, da mir nichts besseres eingefallen ist, um euch das Problem zu zeigen...


    Vielen Dank für Eure Hilfe!



    Christian

  • Danke für die schnelle Antwort!


    SSH war aktiviert, aber ich kann per Putty aber nicht mehr drauf zugreifen, es geht auch kein Ping...

  • Zu dem Thema habe ich diese Seite gefunden. Auf die moegliche Ursache dass das root Filesystem voll sein koennte bin ich auch gekommen. Allerdings wird ssh nicht funktionieren da die Raspi im Recovery Modus startet. Du koenntest aber die SD Karte mal auf einem anderen Linux mounten und mit df -h nachsehen ob die root Partition voll ist. Dann aufraeumen und dann sollte das System wieder starten.


    Ansonsten erstelle mit dd oder ddrescue ein Backup der SD Karte zur Sicherheit. Danach kannst Du entweder fsck auf einem Linux System auf die root Partition ausfuehren oder fsck in der /boot/cmdline.txt ausschalten (siehe Link) und manuell fsck in der Recoveryconsole ausfuehren und hoffen dass dann alles wieder OK ist. Ansonsten musst Du anfangen das erstellte Backup auseinanderzufloehen.


    Ansonsten kann ich nur sagen - kein Backup - kein Mitleid :no_sad:

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect."

    Linus Benedict Torvalds, 28.9.2003


    Hast Du die Woche schon Deine Raspberry gesichert :fies: Bei mir tut das raspiBackup automatisch :shy:

  • Danke für die Antwort! Klingt zwar vielversprechend, aber ich scheitere erst einmal an dem zweiten Linux System. Das was hinter dem Link steht, klingt auch alles gut, aber es wird auch immer ein zweites Linux vorausgesetzt...

    Falls die SD Karte defekt ist, kann man da überhaupt noch was machen? Man hört oder liest ja immer, dass es bei den SD Karten so und so viele Schreibzyklen gibt, aber was passiert danach? Kann man nur nicht mehr drauf schreiben? Oder nur nicht mehr auf dem einen Sektor der defekt ist? Geht lesen dann trotzdem noch? (so dass man die SD tatsächlich in ein anderes Linux mountet und die Daten auslesen/kopieren kann)


    Auf Mitleid hab ich nicht übrigens nicht gehofft, aber du hast schon Recht damit... ;)

  • aber ich scheitere erst einmal an dem zweiten Linux System

    Es ist doch heute (also seit ca 20 Jahren) wirklich kein Problem mehr, sich ein live-Linux auf USB (z.B. grml) hinzulegen und für solche Zwecke zu nutzen.

    Wenn du nichts zu sagen hast, sag einfach nichts.

    Edited once, last by llutz ().

  • Alternativ kann man eine weitere SD Karte mit einem aktuellen Raspbian befruchten. Mit einem USB SD Kartenleser die volle oder auch defekte SD Karte einstecken und schon kann man auf die root Partition zugreifen :)

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect."

    Linus Benedict Torvalds, 28.9.2003


    Hast Du die Woche schon Deine Raspberry gesichert :fies: Bei mir tut das raspiBackup automatisch :shy:

  • Danke an beide für die Tipps. Ja das klingt alles gar nicht so schwer - ich hätt's wissen müssen, warum tat ich's nur nicht ;)

    Aber verzeiht einem Anfänger seine Anfängerfehler...

  • Hallo nochmal!

    Habe jetzt einen älteren Pi rausgekramt und hergerichtet (inkl. SD Kartenleser). Das hier kommt wenn ich "sudo fdisk -l" eingebe (das ist zumindest der interessante Teil):



    ...

    Disk /dev/mmcblk0: 14,9 GiB, 15931539456 bytes, 31116288 sectors

    Units: sectors of 1 * 512 = 512 bytes

    Sector size (logical/physical): 512 bytes / 512 bytes

    I/O size (minimum/optimal): 512 bytes / 512 bytes

    Disklabel type: dos

    Disk identifier: 0xed1d4f81

    Device Boot Start End Sectors Size Id Type

    /dev/mmcblk0p1 8192 93813 85622 41,8M c W95 FAT32 (LBA)

    /dev/mmcblk0p2 94208 31116287 31022080 14,8G 83 Linux

    Disk /dev/sda: 29,7 GiB, 31914983424 bytes, 62333952 sectors

    Disk model: Storage Device

    Units: sectors of 1 * 512 = 512 bytes

    Sector size (logical/physical): 512 bytes / 512 bytes

    I/O size (minimum/optimal): 512 bytes / 512 bytes

    Disklabel type: dos

    Disk identifier: 0xed1d4f81

    Device Boot Start End Sectors Size Id Type

    /dev/sda1 8192 93813 85622 41,8M c W95 FAT32 (LBA)

    /dev/sda2 94208 62333951 62239744 29,7G 83 Linux


    Anschließend hab ich sda1 und sda2 gemountet und den "df -h" Befehl benutzt:


    pi@raspberrypi:/media $ sudo mount /dev/sda1 /media/sdcard_part1

    pi@raspberrypi:/media $ sudo mount /dev/sda2 /media/sdcard_part2

    pi@raspberrypi:/media $ df -h

    Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf

    /dev/root 15G 4,4G 9,6G 32% /

    devtmpfs 1,9G 0 1,9G 0% /dev

    tmpfs 1,9G 0 1,9G 0% /dev/shm

    tmpfs 1,9G 17M 1,9G 1% /run

    tmpfs 5,0M 8,0K 5,0M 1% /run/lock

    tmpfs 1,9G 0 1,9G 0% /sys/fs/cgroup

    /dev/mmcblk0p1 42M 25M 17M 60% /boot

    tmpfs 384M 12K 384M 1% /run/user/1000

    /dev/sda1 42M 25M 17M 60% /media/sdcard_part1

    /dev/sda2 30G 4,1G 24G 15% /media/sdcard_part2

    pi@raspberrypi:/media $



    Für mich sieht das aber nicht so aus, als wäre es ein voller Speicher, oder?

  • Danke!

    Habe soeben die syslog angesehen. Ohne genau zu wissen was in dieser Datei stehen müsste, ist mir nicht besonderes aufgefallen. Die gesamte Datei hat Einträge vom 15.4., das ist also vermutlich alles vom letzten Tag, als das Ding noch lief.

    Das einzig "grobe", wenn man das so nennen kann, ist die allerletzte Zeile der syslog:

    Code
    Apr 15 23:34:28 PiXtend pulseaudio[1263]: XIO:  fatal IO error 11 (Die Ressource ist zur Zeit nicht verfügbar) on X server ":0"

    ... weil dort etwas von fatal IO error steht...

    In den Zeilen davor - würde ich sagen - werden für das Herunterfahren die entsprechenden Dienste geschlossen.. Ich schaue mir mal die anderen Dateien an...

  • Ich schaue mir mal die anderen Dateien an...

    Ich wuerde erst einmal einen externen dd Backup der gesamten SD Karte erstellen und dann weiter versuchen die Ursache zu finden und zu fixen. Wenn bei diesen Arbeiten die SD Karte ganz den Geist aufgibt stehst Du ohne was da :-/

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect."

    Linus Benedict Torvalds, 28.9.2003


    Hast Du die Woche schon Deine Raspberry gesichert :fies: Bei mir tut das raspiBackup automatisch :shy:

  • Das mache ich gerade nebenbei. Dauert etwas, da 32GB SD Karte... Aber ist vielleicht wirklich besser, die Karte nicht noch anderweitig zu belasten.

  • Hi! Ich nochmal ;)


    Nachdem die BackUps nun gemacht sind, habe ich versucht, die Anweisungen hinter dem Link zu befolgen.


    1. Zuerst habe ich das BackUp auf eine neue, aber bau- und typengleiche SD Karte geladen. Der Fehler ist anschließend derselbe. (=> SD Karte nicht defekt?!)


    2. Dann habe ich die cmdline.txt verändert: Aus "fsck.repair=yes" wurde "fsck.repair=no". => Derselbe Fehler


    3. Erneutes Ändern der cmdline.txt: "fsck.mode=force fsck.repair=yes" und am Ende wurde noch "init=/bin/sh" angefügt.

    Beim Erneuten Boot-Versuch bin ich auf eine Art Konsole gekommen. Dort habe ich dann die "/etc/fstab" mit nano geöffnet und den Inhalt fotografiert. Ist da ein Fehler zu finden?


    Weiter komme ich im Moment nicht, da ich nicht recht weiß, was jetzt zu tun ist...


    Ich hoffe Ihr könnt mir noch ein paar Hinweise geben.


    Vielen Dank im Voraus!

    Christian

  • Dann komme ich wieder in diese Konsole, vermutlich weil in der cmdline.txt noch init=/bin/sh steht oder? Soll ich das wieder rauslöschen?


    Übrigens meldet er vor dem Start der Konsole noch:


    /bin/sh: 0: can't access tty; job control turned off


    Das kam aber auch schon vor der Geschichte mit dem ",nofail".

  • Also: Die Konsole kommt jetzt erwartungsgemäß nicht mehr.


    Der erste Fehler "Failed to start Load Kernel Modules." kommt wieder. Aber an der Stelle, wo er zuvor "Press Enter to continue" gebracht hatte, macht er jetzt einen Disk Check. Wenn der durchgelaufen ist, komme ich wieder in die Schleife mit "Press Enter to continue".


    Bis auf den disk check zeigt er also leider noch das gleiche Verhalten...