Keine Kernel-Panik-Synchronisation: VFS: Root-Fs können nicht auf unknown-Block (179,6) gemountet werden, auf dem Raspbian auf NOOBS ausgeführt wird

26

Beim Booten stoppt die Sequenz bei folgenden Punkten:

Kernel Panic-Not Syncing: VFS: Root-Fs können nicht auf Unknown-Block gemountet werden (179,6)

Was kann ich tun, um meinen Raspberry Pi 2 unter Verwendung der vorhandenen Raspbian-Installation wieder zum Booten zu bringen , da er viele Dateien und Konfigurationen enthält , deren Neuerstellung zu schmerzhaft wäre?

HINWEIS: Dies , das und das sind verwandt, aber unterschiedlich.

Vlad Schnakovszki
quelle

Antworten:

28

Bitte beachten Sie, dass es eine klare Unterscheidung zwischen Fehlern gibt, basierend auf den Zahlen am Ende, und ich werde nicht auf viele Details eingehen, da diese bei Bedarf einfach online gefunden werden können. Bei diesen Fixes wird davon ausgegangen, dass alle erforderlichen Verbindungen funktionieren (Stromversorgung, SD-Karte, HDMI, kabelgebundene Tastatur, Maus) und Raspbian zusammen mit NOOBS verwendet wird.

Die Details für den Fehler, der mit 2 endet, befinden sich am Ende der Antwort. Wenn Ihre Fehlermeldung mit 6 endet , wie folgt:

Kernel Panic-Not Syncing: VFS: Root-Fs können nicht auf Unknown-Block gemountet werden (179, 6 )

Sie müssen ein Dateisystem überprüfen und reparieren:

  1. Starten Sie die Himbeere mit dem ShiftSchlüssel.
  2. Drücken Sie Alt-F2nach dem Laden von NOOBS, um auf die Wiederherstellungsbefehlszeile zuzugreifen.
  3. Loggen Sie sich mit Benutzername rootund Passwort ein raspberry.
  4. Typ sudo fsck.ext4 -y /dev/mmcblk0p6. Dadurch wird das beschädigte Dateisystem gescannt und versucht, es zu reparieren (ersetzen Sie ext4 bei Bedarf durch Ihren Partitionstyp). Beachten Sie, dass der autoModus fsck(dh nur Tippen fsckstatt fsck.ext4) nicht unterstützt wird.
  5. Geben Sie ein, sudo shutdown -h nowum die Himbeere sauber herunterzufahren.
  6. Ziehen Sie das Netzkabel ab und stecken Sie es wieder ein. Die Himbeere sollte jetzt gut anlaufen.

Wenn Ihre Fehlermeldung mit 2 endet , wie folgt:

Kernel Panic-Not Syncing: VFS: Root-Fs können nicht auf Unknown-Block gemountet werden (179, 2 )

Es ist wahrscheinlich, dass das Problem durch einen Update-Fehler verursacht wird. Das Update beinhaltet das Umschalten der 2 in eine 6 :

  1. Starten Sie die Himbeere mit dem ShiftSchlüssel.
  2. Klicken Sie auf die Edit config (e)Schaltfläche oder drücken Sie e.
  3. Klicken Sie auf die cmdline.txtRegisterkarte oder drücken Sie right arrowauf der Tastatur.
  4. Ersetzen:

root = / dev / mmcblk0p 2

mit

root = / dev / mmcblk0p 6

  1. Klicken Sie auf OKund drücken Sie dann escapeauf die Tastatur, um mit der Startsequenz fortzufahren.

Ihr Pi sollte jetzt gut booten. Wenn der gleiche Fehler mit 6 angezeigt wird, fahren Sie mit den obigen Schritten fort.


In einigen Fällen ignoriert der Pi möglicherweise die in der NOOBS-GUI vorgenommenen Änderungen, und es wird immer noch genau derselbe Fehler angezeigt, der 2am Ende des Startvorgangs angezeigt wird. In diesem Fall könnte die Antwort von tktbjp helfen:

Eigentlich ist es einfach, den Wiederherstellungsmodus zu verwenden. Ich ging in den Wiederherstellungsmodus und drückte Alt-F2, um mich als root anzumelden. Das Ändern von cmdline.txt über die GUI funktioniert nicht.

Überprüfen Sie nach der Anmeldung als root mit dem Passwort raspberry, ob ein / boot-Verzeichnis vorhanden ist. Höchstwahrscheinlich wird es nicht vorhanden sein. Wenn nicht, dann erstelle es mit mkdir / boot. Dann benutze vi editor um cmdline.txt zu erstellen.

#cd /boot

#vi cmdline.txt

im vi editor ändere den root auf mmcblk0p6. Mein cmdline.txt-Inhalt sieht so ausdwc_otg.lpm_enable=0 console=ttyAM0,115200 console=tty1 root=/dev/mmcblk0p6 rootfstype=ext4 elevator=deadline rootwait

Speicher die Datei. dann ist es wichtig zu synchronisieren.

#sync

Dann booten Sie die Platine. Überprüfen Sie mit der grafischen Benutzeroberfläche, ob Cmdline wirklich geändert wurde. Mein PI B + arbeitet jetzt

Vlad Schnakovszki
quelle
1
Anstatt "y" oder "Enter" manuell zu drücken, können Sie die Option "-y" von "fsck ..." verwenden.
Andrey Sapegin
1
Toller Rat, danke für die Hilfe. Bei mir funktionierte es jedoch nicht mit dem Befehl sudo. System konnte es nicht finden. Aber es war gut ohne!
Roker Pivic
3
Starten Sie Himbeere mit gedrückter Umschalttaste ? Ich nehme an, Sie meinen eine physische Tastatur, weil eine drahtlose Tastatur beim Booten nicht so funktioniert
IgorGanapolsky
1
@IgorGanapolsky Ich habe mit meinem Pi noch nie eine drahtlose Tastatur verwendet, daher war mir dieses Problem nicht bewusst. Ich habe die Antwort aktualisiert, danke.
Vlad Schnakovszki
1
Ich habe jetzt mein Problem gelöst - es hatte nichts mit den hier diskutierten Antworten zu tun. Ich habe nicht verstanden, wie das Disk-Image eingerichtet wird. Da ich meine Antwort anscheinend nicht mehr hier posten kann, habe ich sie hier als neue Frage und Antwort gepostet .
Bill
5

Ich hatte das gleiche Problem, aber mit unknown-block (179.7) und die erste Lösung hat gut funktioniert.

sudo fsck.ext4 -y /dev/mmcblk0p6

mit diesem:

sudo fsck.ext4 -y /dev/mmcblk0p7

Ich bin kein Experte, hoffe aber, dass dies anderen helfen kann.

Tinobin
quelle
1
Ist der Befehl fsck.ext4 auf dem Mac verfügbar?
IgorGanapolsky
Nein, leider nicht.
David Artmann
4

Um den Kern des Problems zu lösen (keine Problemumgehung), müssen Sie Folgendes tun, wenn Sie nicht booten können (oder keine "NOOBS" haben):

  • Entfernen Sie die SD-Karte aus Ihrem Pi und stecken Sie sie in einen Kartenleser in Ihrem Linux-Computer.
  • Wenn dies automatisch erfolgt, müssen beide Partitionen gemountet werden. Überprüfen Sie den korrekten Gerätenamen mit fdisk -lund mount -l. In meinem Beispiel wird es als /dev/sdb1und gemountet /dev/sdb2. Also, um abzusteigen, verwenden umount /dev/sdb1und umount /dev/sdb2. ( Achten Sie darauf, Ihre Partitionsnummer zu überprüfen. "2" hier ist nur mein Beispiel).
  • Jetzt können Sie die Überprüfung mit Korrekturen fortsetzen.
    • Mit fdisk -lder Identifizierung DOS - Partition und überprüfen / reparieren es mit fsck.fat -y /dev/sdb1( Überprüfen Sie die richtige Nummer )
    • Außerdem fdisk -lzeigt die ext4Partitionsnummer. Repariere es mit fsck.ext4 -y /dev/sdb2( Überprüfe deine korrekte Nummer )
  • Wenn es erneut automatisch aktiviert wird, werden umountbeide erneut aktiviert . Wenn nicht, können Sie den Raspberry Pi von Ihrem Computer entfernen und ihn einschalten.

Wenn es sich nur um ein "Block" -Problem handelt, ist es wahrscheinlich betriebsbereit. Wenn der Kernel PanicVorgang fortgesetzt wird, überprüfen Sie, ob die Fehlermeldung geändert wurde. In diesem Fall sollten Sie erneut nach anderen Antworten suchen oder die SD-Karte möglicherweise von Grund auf neu beschreiben.

Dr. Beco
quelle
3

Dieser Fehler trat auf, nachdem ich versucht hatte, Raspbian (Lite) auf einer zu kleinen SD-Karte zu installieren. Wenn ich mir die Ausgabe des dd-Prozesses angesehen hätte, hätte ich das natürlich gesehen, bevor ich die Karte blind in meinen Pi gesteckt hätte:

$ dd bs=1m if=Downloads/2016-05-27-raspbian-jessie-lite.img of=/dev/rdisk3
Password:
dd: /dev/rdisk3: short write on character device
dd: /dev/rdisk3: Input/output error
969+0 records in
968+1 records out
1015808000 bytes transferred in 45.492548 secs (22329108 bytes/sec)

Am Ende habe ich Minibian installiert .

Merlin83b
quelle
2

Beim Duplizieren einer bekannten guten Karte endet dieser Fehler mit 2 . Grundsätzlich habe ich die Bytes von der Originalkarte auf eine frische / neue SD-Karte mit kopiert dd. Ich habe bei diesem einfachen Vorgang keine Fehler erwartet. Stellen Sie sich also meine Überraschung vor, als ich mit dieser Meldung konfrontiert wurde:

Kernel Panic-Not Syncing: VFS: Root-Fs können nicht auf Unknown-Block gemountet werden (179, 2 )

Nach der Suche stellte sich heraus, dass die neue SD-Karte etwas kleiner als das Original war.

Aus diesem Grund ist das Mounten der Root-Partition fehlgeschlagen. Und das wiederum führte zu der berüchtigten Kernel-Panik-Nachricht. Ich vermute, der Kernel hat versucht, Blöcke über das Ende der SD-Karte hinaus zu erreichen, oder festgestellt, dass die Partition (die die letzte in der Reihenfolge ist) nicht vollständig auf die SD-Karte passt.

Da ich meine Dateien und Einstellungen unbedingt behalten wollte, habe ich das Root-Dateisystem verkleinert. Dazu müssen Sie zuerst ausführen resize2fsund dann fdiskdie Partition anpassen. Beachten Sie, dass ein Tool die Größe in 4-KByte-Blöcken meldet, das andere Tool mit Start / Stopp-Offsets für Sektoren von 512 Byte arbeitet. Es ist wirklich leicht, Fehler zu machen. Bewahren Sie daher Sicherungskopien bekannter guter Images auf.

Am besten tun Sie dies wahrscheinlich auf einem anderen PC oder Laptop mit Kartenleser. Nicht an der Himbeere.

Es versteht sich von selbst, dass Sie genügend Speicherplatz im Dateisystem haben sollten, um es tatsächlich verkleinern zu können ...

E. van Putten
quelle
1

In meinem Fall habe ich wegen sd in eine andere sd geklont, weil das Original dabei diesen Sektor verfälscht hat.

Zum Klonen in Windows können Sie das folgende Tool verwenden: Win32 Disk Imager .

Um das SD-Image zu verkleinern, wenn das neue SD kleiner als das Original ist, können Sie dieses Skript in einer Linux-VM verwenden, in der Sie das SD- Image freigegeben haben: PiShrink .

Schließlich, wenn Sie den gesamten Vorgang in diesem Video sehen möchten .

Francesco
quelle