Bootproblem ohne angeschlossenem Monitor identifizieren

  • Die einfachste Methode Bootprobleme zu identifizieren ist einen Monitor an die Raspberry anzuschliessen und die Meldungen auf dem Bildschirm zu lesen.

    Hat man aber keinen Monitor zur Hand oder betreibt die Raspberry bewusst als headless System - also ohne Monitor - da die Raspberry als Server betrieben wird und deshalb kein Monitor notwendig ist und hat plötzlich Bootprobleme, gibt es einen Weg, die Bootprobleme auch ohne angeschlossenen Monitor zu analysieren.

    Erforderlich dazu ist ein Linuxsystem mit angeschlossenem Monitor als Analysesystem. Mit einem Linux USB ISO Bootimage kann auch ein Windowsrechner temporär mit einem Linux booten und dazu genutzt werden. Natürlich geht das auch mit einer weiteren Raspberry mit RaspbianOS. Das Systemgerät, welches das OS mit der Rootpartition enthält (z.B. die SD Karte oder die SSD) wird dann auf dem Analysesystem angeschlossen und auf das Systemlog zugegriffen und gelesen.

    Zuallererst muss das Systemgerät an dem Analysesystem angeschlossen werden. Mit lsblk zeigt sich was angeschlossen ist.

    Code
    pi@raspberrypi-trixie64-lite:~ $ lsblk
    NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
    loop0         7:0    0     2G  0 loop 
    sda           8:0    0   3,6T  0 disk 
    ├─sda1        8:1    0   512M  0 part 
    └─sda2        8:6    0    32G  0 part 
    mmcblk0     179:0    0   7,4G  0 disk 
    ├─mmcblk0p1 179:1    0   512M  0 part /boot/firmware
    └─mmcblk0p2 179:2    0   6,9G  0 part /
    zram0       254:0    0     2G  0 disk [SWAP]

    In diesem Falle wurde von einer SD Karte /dev/mmcblk0 gebootet und /dev/sda ist die USB Platte von dem System, welches nicht mehr bootet. Die USB Platte wird nun an /mnt read only gemounted. Exisitiert dieser Mountpoint nicht ist er mit sudo mkdir -p /mnt erst einmal zu erstellen und dann mit sudo mount -o ro /dev/sda2 /mnt zu mounten.

    Falls automount aktiv ist und /dev/sda2 deshalb schon automatisch gemounted wurde muss die Rootpartition vorher mit sudo umount /dev/sda2 erst einmal umounted werden. Das ist ersichtlich wenn die Zeile mit /dev/sda2 in der obigen Ausgabe irgendwas. z.B. /media/pi/ stehen hat.

    Danach ist zu prüfen ob ein Journal existiert mit ls /mnt/var/log/journal/. Ist dieses Verzeichnis leer oder existiert es nicht sind folgende Aktionen notwendig:

    1. Mit sudo mount -o remount,rw /dev/sda2 die Rootpartition am Analysesystem zum Schreiben mounten
    2. Erstellen des Verzeichnisses mit sudo mkdir -p /mnt/var/log/journal
    3. Änderung der Zeile Storage= in /mnt/etc/systemd/journal.conf auf Storage=auto falls es dort noch nicht so steht. Falls ein * am Anfang der Zeile steht ist dieser zu entfernen.
    4. Mit sudo umount /mnt die Rootpartition am Analysesystem logisch entfernen
    5. Anschließen des Systemgeräts wieder an die nicht bootende Raspberry und booten, so dass alle Bootmeldungen von systemd in /var/log/journal gelogged werden
    6. Wiederanschliessen des Systemgerätes an das Analysesystem

    raspi-config erlaubt das Journaling ab Trixie zu konfigurieren. Wurde es schon präventiv aktiviert (6->A12->3) sind die vorhergehenden Schritte nicht notwendig.

    Nun ist die Systempartition wieder am Analysesystem im nur Lesemodus zu mounten mit sudo mount -o ro /dev/sda2 /mnt

    Danach sollte es am Analysesystem wie folgt aussehen:

    Code
    pi@raspberrypi-trixie64-lite:~ $ lsblk
    NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
    loop0         7:0    0     2G  0 loop 
    sda           8:0    0   3,6T  0 disk 
    ├─sda1        8:1    0   512M  0 part 
    └─sda2        8:6    0    32G  0 part /mnt
    mmcblk0     179:0    0   7,4G  0 disk 
    ├─mmcblk0p1 179:1    0   512M  0 part /boot/firmware
    └─mmcblk0p2 179:2    0   6,9G  0 part /
    zram0       254:0    0     2G  0 disk [SWAP]

    Nun kann mit folgenden Befehlen das Journal gelesen werden.

    1) Die letzten 1000 Zeilen des Systemlogs, die meist die Ursache des erfolglosen Bootprozesses zeigen:

    Code
    pi@raspberrypi-trixie64-lite:~ $ sudo journalctl  /mnt/var/log/journal -n 100

    2) Das gesamte Systemlog vom letzten Boot:

    Code
    pi@raspberrypi-trixie64-lite:~ $ sudo journalctl -D /mnt/var/log/journal -b 0

    Z.B. kann man dann folgende Zeilen finden:

    Code
    Jan 10 16:40:29 raspberrypi-bookworm64-lite-regression systemd[1]: dev-disk-by\x2dpartuuid-585051f5\x2d10.device: Job dev-disk-by\x2dpartuuid-58505>
    Jan 10 16:40:29 raspberrypi-bookworm64-lite-regression systemd[1]: Timed out waiting for device dev-disk-by\x2dpartuuid-585051f5\x2d10.device - /de>
    Jan 10 16:40:29 raspberrypi-bookworm64-lite-regression systemd[1]: Dependency failed for media.mount - /media.
    Jan 10 16:40:29 raspberrypi-bookworm64-lite-regression systemd[1]: Dependency failed for local-fs.target - Local File Systems.
    Jan 10 16:40:29 raspberrypi-bookworm64-lite-regression systemd[1]: local-fs.target: Job local-fs.target/start failed with result 'dependency'.
    Jan 10 16:40:29 raspberrypi-bookworm64-lite-regression systemd[1]: local-fs.target: Triggering OnFailure= dependencies.
    Jan 10 16:40:29 raspberrypi-bookworm64-lite-regression systemd[1]: media.mount: Job media.mount/start failed with result 'dependency'.

    die darauf hinweisen, dass in der /etc/fstab eine Partition mit der PARTUUID 585051f5-10 nicht gefunden wird und deshalb der Boot failed. Lösung: Das Gerät anschliessen welches die fehlende Partition besitzt oder nofail als weiteren Parameter in der /etc/fstab für diese Partition eintragen.

    Zum Schluss sollte die Zeile Storage=auto in /mnt/etc/systemd/journal.conf auf Storage=volatile wie oben beschrieben, geändert werden damit das Systemlog im Speicher gehalten wird und nicht die SD Karte belastet. Auf Trixie kann das auch mit raspi-config (6->A12->2) einfacher geändert werden.

    :no_sad: ... Kein raspiBackup - kein Mitleid ... :no_sad:

    Mein Raspberry Zoo

    3 * RPi1B, 2 * RPi3B, 2 * RPI4, 1 * CM4, 1 * RPi5

    Edited 16 times, last by framp (January 10, 2026 at 6:40 PM).

  • Bootproblem ohne angeschlossenem Monitor identifizieren? Schau mal ob du hier fündig wirst!

  • framp January 10, 2026 at 12:10 AM

    Changed the title of the thread from “Wie kann ein Bootproblem ohne angeschlossenem Monitor erkannt werden?” to “Bootproblem ohne angeschlossenem Monitor identifizieren”.
  • Anmerkungen:

    Mit sudo mount /dev/sda2 wird die Rootpartition gemounted.

    Vielleicht besser so (just in case...):

    Bash
    sudo mkdir -p /mnt
    sudo mount /dev/sda2 /mnt

    Und:

    2.) Ändern eines Eintrages in /etc/systemd/journal.conf auf Storage=auto

    Das müsste doch auf dem gemounteten Datenträger stattfinden, oder? Also:

    2.) Ändern eines Eintrages in /mnt/etc/systemd/journal.conf auf Storage=auto

  • Danke für den Hinweis. Ich kenne Option -p aber nur um nicht existierende Parentverzeichnisse anzulegen. Das "no error if existing" habe ich irgendwie nicht wahrgenommen.

    Dann nehme ich das noch mit auf denn ich wollte nicht unnötigerweise eine Fehlermeldung erzeugen die vielleicht Anfänger verwirrt.

    :no_sad: ... Kein raspiBackup - kein Mitleid ... :no_sad:

    Mein Raspberry Zoo

    3 * RPi1B, 2 * RPi3B, 2 * RPI4, 1 * CM4, 1 * RPi5

  • Meinst Du wirklich mkdir /mntsollte ausgeführt werden? Ich denke /mnt ist standardmäßig bei Linux definiert.

    Da Du in #1 schreibst: "jedes beliebige Linux dazu genutzt werden" ist es IMHO sinnvoll, möglichst viele Eventualitäten abzudecken.

    Und das mkdir -p ... ist so ein typischer Fall: Es schadet nicht, aber verhindert im Zweifelsfall Fehlermeldungen.

  • Mit sudo mount -o ro /dev/sda2 wird die Rootpartition readonly gemounted.

    Auch hier fehlt das Ziel, also /mnt , denn ohne wird es eine Fehlermeldung geben:

    Code
    mount: /dev/sda2: can't find in /etc/fstab.

    und bevor dann darin etwas erstellt werden kann, müsste erst ein umount /dev/sda2 folgen und dann das nochmals rw gemountet werden.

  • Auch hier fehlt das Ziel, also /mnt , denn ohne wird es eine Fehlermeldung geben:

    Habe ich schon selbst bemerkt :wink1: Wie ganz oben steht ist das Tut noch im Entstehen und nicht final. Lasst es mich erst einmal finalizen. Danach ist jeder Feedback/Korrektur/Erweiterung gerne willkommen.

    :no_sad: ... Kein raspiBackup - kein Mitleid ... :no_sad:

    Mein Raspberry Zoo

    3 * RPi1B, 2 * RPi3B, 2 * RPI4, 1 * CM4, 1 * RPi5

  • Die Angabe einer Boot-ID ist nicht unbeding notwendig, es reicht auch ein journalctl --directory /mnt/root/var/log/journal (Bei mir: Datenträger nach /nmt/root gemountet). Dann hat man das komplette Journal über alle gespeicherten Boot-Vorgänge, und kann auch ältere Boot's untersuchen, wenn sie persistent gespeichert wurden.

    Gruß Martin

  • Qvrgre hat mich noch auf eines hingewiesen: Falls das System nicht bootet weil das Device dabei ist sich zu verabschieden bzw das Filesystem korrupt ist ist es nicht zielführend, das Device RW zu mounten und das Journal zu enablen. Wie kann man am einfachsten feststellen, dass solch eine Konstellation vorliegt? Das Filesystem könnte man mit fsck schon mal checken. Aber dass das Device am abnippeln ist :denker: hat jemand einen Vorschlag?

    :no_sad: ... Kein raspiBackup - kein Mitleid ... :no_sad:

    Mein Raspberry Zoo

    3 * RPi1B, 2 * RPi3B, 2 * RPI4, 1 * CM4, 1 * RPi5

  • weil das Device dabei ist sich zu verabschieden bzw das Filesystem korrupt ist

    Das sind zwei Paar Schuhe. Im ersten Fall kann man dann eh nicht mehr viel machen und Im zweiten Fall dürfte etwas im Journal stehen, was darauf hinweist (also trotzdem rw mounten und das Journal aktivieren).

    Beide Fälle haben aber eines gemeinsam: Kein Backup, kein Mitleid! :fies:

  • Ich stimme Dir zu - KBkM :lol: - aber genau dann sollte derjenige, der leider kein Backup hat, sofern die Daten sehr wichtig sind, sein System vor Reparaturversuchen clonen und danach Datenrettungsmassnahmen einleiten und nicht schon am System rumfummeln.

    :no_sad: ... Kein raspiBackup - kein Mitleid ... :no_sad:

    Mein Raspberry Zoo

    3 * RPi1B, 2 * RPi3B, 2 * RPI4, 1 * CM4, 1 * RPi5

  • Das stimmt. Bei Filesystemfehlern mountet Linux die Partitionen ro. D.h. ein Check wäre schon ob beim ersten Anschliessen des Devices an dem Analysesystem die Parition per automount ro gemounted wird. Interessant ist jetzt auch ob die Partition überhaupt im rw Modus mountbar ist wenn Filesystemfehler vorliegen :denker:

    :no_sad: ... Kein raspiBackup - kein Mitleid ... :no_sad:

    Mein Raspberry Zoo

    3 * RPi1B, 2 * RPi3B, 2 * RPI4, 1 * CM4, 1 * RPi5

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!