Forum: PC-Programmierung Kernel panic: Unable to mount root fs


von olpo (Gast)


Lesenswert?

Hallo,

nachdem ich meine SD-Karte wieder so halbwegs hinbekommen habe 
Beitrag "SD Karte reparieren"
habe ich immer noch Kernel Panik beim Booten und ich weiß nicht warum.

1
Waiting for root device /dev/mmcblk0p2...
2
mmc0: new high speed SDHC card at address 1234
3
mmcblk0: mmc0:1234 SA08G 7.21 GiB 
4
 mmcblk0: p1
5
VFS: Cannot open root device "mmcblk0p2" or unknown-block(179,2): error -6
6
Please append a correct "root=" boot option; here are the available partitions:
7
b300         7565312 mmcblk0  driver: mmcblk
8
  b301         7561216 mmcblk0p1 b08bcb22-01
9
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2)


Die SD-Karte hat keine Partition mmcblk0p2.

Ist die SD-Karte vielleicht immer noch kaputt, oder woran liegt's?

von Daniel A. (daniel-a)


Lesenswert?

Vermutlich ein falscher kernel parameter. Welche Distribution auf 
welcher Hardware ist es?

Meine Glaskugel zeigt mir einen Rasberry Pi mit Rasbian: Erkenne ich da 
etwas in der /boot/cmdline.txt?

PS: Meine Glaskugel ist neu, ich weiss nicht ob sie richtig 
funktioniert...

: Bearbeitet durch User
von Mounter (Gast)


Lesenswert?

Die SD hat anscheinend nur eine Partion. Mit "mmcblk0p2" wird versucht 
auf die 2. Partion zu zugreifen. Und das geht schief.
Ist denn das Image auf der SD korrekt?
Versuch einmal über einen USB-Stick zu booten. Zum schreiben des Images
auf den USB-Stick nimmst Du bitte Rufus. Alles andere ist mistig.
Wenn die Kiste via USB bootet, dann hat Deine SD ein Problem.

Rufus gibt es hier: http://rufus.akeo.ie

von Mounter (Gast)


Lesenswert?

Partion sollte natürlich Partition lauten. Sorry

von Sheeva P. (sheevaplug)


Lesenswert?

olpo schrieb:
> nachdem ich meine SD-Karte wieder so halbwegs hinbekommen habe
> Beitrag "SD Karte reparieren"
> habe ich immer noch Kernel Panik beim Booten und ich weiß nicht warum.

Wie genau hast Du die SD-Karte denn "wieder so halbwegs hinbekommen"?

>
1
Waiting for root device /dev/mmcblk0p2...
2
> mmc0: new high speed SDHC card at address 1234
3
> mmcblk0: mmc0:1234 SA08G 7.21 GiB
4
>  mmcblk0: p1
5
> VFS: Cannot open root device "mmcblk0p2" or unknown-block(179,2): error 
6
> -6
7
> Please append a correct "root=" boot option; here are the available 
8
> partitions:
9
> b300         7565312 mmcblk0  driver: mmcblk
10
>   b301         7561216 mmcblk0p1 b08bcb22-01
11
> Kernel panic - not syncing: VFS: Unable to mount root fs on 
12
> unknown-block(179,2)
13
>
>
>
> Die SD-Karte hat keine Partition mmcblk0p2.

Richtig, die Karte hat keine Partition mmcblk0p2, aber genau diese wird 
dem Kernel als Root-Dateisystem übergeben. Anscheinend hast Du bei 
Deinem Rettungsversuch die Partitionstabelle beschädigt.

Wenn Dein Rettungsversuch unter Windows stattgefunden hat, so wäre die 
Beschädigung der Partitionstabelle wahrscheinlich damit zu erklären, daß 
Windows normalerweise keine Linux-Partitionen erkennt und die unbekannte 
Partition daher einfach aus der Partitionstabelle gelöscht hat.

Die Daten auf Deiner Partition sind aber wahrscheinlich noch vorhanden! 
Ich würde daher versuchen, die Partitionstabelle zu reparieren.

Wenn auf der SD-Karte wichtige Daten liegen, würde ich vorher allerdings 
zuerst ein Image davon anfertigen:
1
dd if=/dev/mmcblk0 of=mmcblk0.img bs=1M
So kannst Du den vorhandenen Zustand immer wiederherstellen oder weitere 
Fehleranalysen auf dem Image machen. Das geht viel schneller als auf der 
lahmen SD-Karte, weil das Image auf Deiner schnellen Festplatte liegt.

Dann würde ich -- natürlich unter Linux, das kann auch ein Live-Linux 
wie Knoppix oä. sein --
1
fdisk /dev/mmcblk0
starten, hinter der vorhandenen Partition einfach eine neue Partition 
mit dem Dateisystemtyp "83" anlegen und dabei die Defaults die für 
Start- und Endblocks übernehmen. Möglicherweise magst Du auch einmal 
GParted-ISO [1] probieren, das ist ein grafischer Partitionsmanager 
ähnlich dem bekannten PartitionMagic, und damit auf die SD-Karte 
schauen.

Nach einem Reparaturversuch würde ich unbedingt mit
1
fsck /dev/mmcblk0p2
das Dateisystem überprüfen und eventuelle Fehler reparieren lassen.

Wenn das alles geklappt hat, kannst Du Deinen Rechner möglicherweise 
wieder von der SD-Karte booten. Wenn nicht, kannst Du natürlich noch 
einen Rettungsversuch mit einem Diskeditor starten, was aber sehr 
schwierig und aufwändig ist. Ansonsten ist es einfacher, die SD-Karte 
neu aufzusetzen.

HTH, YMMV.


[1] http://gparted.org/


PS: Wenn Dir Leute erzählen, daß Du unbedingt dieses oder das exotische 
Werkzeug benutzen sollst, empfehle ich, das zu ignorieren. Die üblichen 
Bordmittel moderner Linux-Systeme können alles, was man braucht, sind 
jahrelang vielfach erprobt und sehr stabil und zuverlässig.

von olpo (Gast)


Lesenswert?

Daniel A. schrieb:
> Meine Glaskugel zeigt mir einen Rasberry Pi mit Rasbian: Erkenne ich da
> etwas in der /boot/cmdline.txt?

Da musst du deine Glaskugel noch mal polieren.
Es handelt sich um einen Zynq und von Xilinx bereitgestelltes Linux.

Sheeva P. schrieb:
> Wenn auf der SD-Karte wichtige Daten liegen, würde ich vorher allerdings
> zuerst ein Image davon anfertigen:

Nee, kann alles weg.

Sheeva P. schrieb:
> Wie genau hast Du die SD-Karte denn "wieder so halbwegs hinbekommen"?
Sheeva P. schrieb:
> Richtig, die Karte hat keine Partition mmcblk0p2, aber genau diese wird
> dem Kernel als Root-Dateisystem übergeben. Anscheinend hast Du bei
> Deinem Rettungsversuch die Partitionstabelle beschädigt.

Zuerst habe ich fsck gemacht und es wurde etwas repariert.
Jetzt habe ich die SD-Karte mit gparted formatiert und auch eine neue 
Partitionstabelle erstellt.

Geändert hat sich bisher allerdings nichts.
Kernel panic durch /dev/mmcblk0p2...
Und dmesg mag die SD-Karte auch nicht ganz:
1
~$ dmesg
2
[ 3135.283536] mmcblk0: mmc0:1234 SA08G 7.21 GiB 
3
[ 3135.284921]  mmcblk0: p1
4
[ 3135.572561] FAT-fs (mmcblk0p1): utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!

von Rolf M. (rmagnus)


Lesenswert?

olpo schrieb:
> Sheeva P. schrieb:
>> Wenn auf der SD-Karte wichtige Daten liegen, würde ich vorher allerdings
>> zuerst ein Image davon anfertigen:
>
> Nee, kann alles weg.

Warum machst du damit dann so lange rum? Setz das System einfach neu 
auf.

olpo schrieb:
> Jetzt habe ich die SD-Karte mit gparted formatiert und auch eine neue
> Partitionstabelle erstellt.
>
> Geändert hat sich bisher allerdings nichts.
> Kernel panic durch /dev/mmcblk0p2...

Offenbar hast du immer noch nur eine Partition, aber deine 
Kernel-Parameter sagen, daß auf der zweiten das Root-Filesystem ist.

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Gibt es die p2 überhaupt bzw. soll es diese geben?  Dazu wurde glaube 
ich noch nichts gesagt.

Wenn nein, dann ändere die Kernel Command Line entsprechend auf p1.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.