Synchronizacja jądra bez paniki: VFS: nie można zamontować roota na nieznanym bloku (179,6) z uruchomionym Raspbian na NOOBS


26

Podczas uruchamiania sekwencja zatrzymuje się w następujący sposób:

Synchronizacja jądra bez paniki: VFS: nie można zamontować roota na nieznanym bloku (179,6)

Co mogę zrobić, aby mój Raspberry Pi 2 uruchomił się ponownie przy użyciu istniejącej instalacji Raspbian , ponieważ zawiera wiele plików i konfiguracji, których odtworzenie byłoby zbyt bolesne?

UWAGA: To , to i to są powiązane, ale są różne.

Odpowiedzi:


28

Należy pamiętać, że istnieje wyraźne rozróżnienie między błędami, oparte na liczbach na końcu, i nie będę wchodził w szczegóły, ponieważ można je łatwo znaleźć w Internecie, jeśli to konieczne. Te poprawki zakładają, że masz wszystkie potrzebne połączenia (zasilanie, karta SD, HDMI, przewodowa klawiatura, mysz) i używasz Raspbian wraz z NOOBS.

Szczegóły błędu kończącego się na 2 znajdują się na końcu odpowiedzi. Jeśli komunikat o błędzie kończy się na 6 , to tak:

Synchronizacja jądra bez paniki: VFS: nie można zamontować roota na nieznanym bloku (179, 6 )

będziesz musiał sprawdzić i naprawić system plików:

  1. Uruchom Raspberry trzymając Shiftklucz.
  2. Po załadowaniu NOOBS naciśnij, Alt-F2aby uzyskać dostęp do wiersza polecenia odzyskiwania.
  3. Zaloguj się za pomocą nazwy użytkownika rooti hasła raspberry.
  4. Wpisz sudo fsck.ext4 -y /dev/mmcblk0p6. Spowoduje to przeskanowanie i spróbuje naprawić uszkodzony system plików (w razie potrzeby zastąp ext4 typem partycji). Zauważ, że autotryb fsck(tj. Tylko pisanie fsckzamiast fsck.ext4) nie jest obsługiwany.
  5. Wpisz, sudo shutdown -h nowaby całkowicie zamknąć Raspberry.
  6. Odłącz kabel zasilający i podłącz go ponownie. Raspberry powinien teraz zacząć działać poprawnie.

Jeśli komunikat o błędzie kończy się na 2 , w ten sposób:

Synchronizacja jądra bez paniki: VFS: nie można zamontować roota na nieznanym bloku (179, 2 )

prawdopodobnie przyczyną problemu jest błąd aktualizacji. Poprawka polega na zamianie 2 na 6 :

  1. Uruchom Raspberry trzymając Shiftklucz.
  2. Kliknij Edit config (e)przycisk lub naciśnij e.
  3. Kliknij cmdline.txtzakładkę lub naciśnij right arrowna klawiaturze.
  4. Zastąpić:

root = / dev / mmcblk0p 2

z

root = / dev / mmcblk0p 6

  1. Kliknij, OKa następnie naciśnij escapena klawiaturze, aby kontynuować sekwencję rozruchu.

Twoje Pi powinno się teraz ładować poprawnie. Jeśli pojawia się ten sam błąd, ale z 6, wykonaj powyższe kroki.


W niektórych przypadkach Pi może zignorować zmianę dokonaną w interfejsie GUI NOOBS i nadal widzisz dokładnie ten sam błąd, z 2końcem podczas uruchamiania. W takim przypadku odpowiedź tktbjp może pomóc:

W rzeczywistości korzystanie z trybu odzyskiwania jest proste. Wszedłem w tryb odzyskiwania i nacisnąłem Alt-F2, aby zalogować się jako root. Zmiana cmdline.txt z GUI nie działa.

Po zalogowaniu się jako root za pomocą malinowego hasła sprawdź, czy istnieje katalog / boot. Najprawdopodobniej nie będzie obecny. Jeśli nie, utwórz go za pomocą mkdir / boot. Następnie użyj edytora vi, aby utworzyć cmdline.txt.

#cd /boot

#vi cmdline.txt

w edytorze vi zmień katalog główny na mmcblk0p6. Moja zawartość cmdline.txt wyglądadwc_otg.lpm_enable=0 console=ttyAM0,115200 console=tty1 root=/dev/mmcblk0p6 rootfstype=ext4 elevator=deadline rootwait

Zapisz plik. ważne jest, aby wykonać synchronizację.

#sync

Następnie uruchom tablicę. Sprawdź krzyż za pomocą GUI, jeśli cmdline jest naprawdę zmieniony. Mój PI B + już działa


1
zamiast ręcznie naciskać „y” lub Enter, można użyć opcji „-y” fsck ...
Andrey Sapegin

1
Świetna rada, dziękuję za pomoc. Jednak dla mnie nie działało to z poleceniem sudo. System nie mógł tego znaleźć. Ale bez tego wszystko było w porządku!
Roker Pivic

3
Czy zacząć malinę, trzymając klawisz Shift ? Zakładam, że masz na myśli fizyczną klawiaturę, ponieważ klawiatura bezprzewodowa nie będzie działać w ten sposób podczas rozruchu
IgorGanapolsky

1
@IgorGanapolsky Nigdy nie używałem klawiatury bezprzewodowej z moim Pi, więc nie byłem świadomy tego problemu. Zaktualizowałem odpowiedź, dzięki.
Vlad Schnakovszki

1
Teraz rozwiązałem swój problem - nie miało to nic wspólnego z omawianymi tutaj odpowiedziami. Nie udało mi się zrozumieć, jak skonfigurować obraz dysku. Ponieważ wydaje się, że nie jestem już w stanie opublikować tutaj mojej odpowiedzi, opublikowałem ją tutaj jako nowe pytanie i odpowiedź .
Bill

5

Miałem ten sam problem, ale z nieznanym blokiem (179,7) i pierwsze rozwiązanie działało dobrze, po prostu zastępując to:

sudo fsck.ext4 -y /dev/mmcblk0p6

z tym:

sudo fsck.ext4 -y /dev/mmcblk0p7

Nie jestem ekspertem, ale mam nadzieję, że to może pomóc innym.


1
Czy polecenie fsck.ext4 jest dostępne na komputerze Mac?
IgorGanapolsky

Nie, niestety tak nie jest.
David Artmann

4

Aby poradzić sobie z sednem problemu (a nie obejściem problemu), jeśli nie możesz uruchomić systemu (lub nie masz „NOOBS”), musisz:

  • wyjmij kartę SD z Pi i włóż ją do czytnika kart w komputerze z systemem Linux.
  • w przypadku automatycznego montażu zamontuj obie partycje. Sprawdź poprawną nazwę urządzenia za pomocą fdisk -li mount -l. W moim przykładzie jest montowany jako /dev/sdb1i /dev/sdb2. Aby odmontować, użyj umount /dev/sdb1i umount /dev/sdb2. ( UWAŻAJ, ABY SPRAWDZIĆ SWÓJ NUMER PARTYCJI. „2” to tylko MÓJ przykład).
  • Teraz możesz rozpocząć sprawdzanie z poprawkami.
    • Dzięki fdisk -lidentyfikacji DOS partycję i sprawdzić / naprawić go fsck.fat -y /dev/sdb1( Sprawdź swój prawidłowy numer )
    • Ponadto, fdisk -lpokazuje ext4numer partycji. Napraw to za pomocą fsck.ext4 -y /dev/sdb2( Sprawdź poprawny numer )
  • Jeśli ponownie się włączy automatycznie, umountoba ponownie. Jeśli nie, możesz usunąć z komputera Raspberry Pi i włączyć go.

Jeśli jest to tylko problem „blokowy”, prawdopodobnie będzie działał. Jeśli Kernel Panickontynuuj, sprawdź, czy komunikat o błędzie zmienił się na coś innego. W takim przypadku należy poszukać innych odpowiedzi lub rozważyć ponowne zapisanie karty SD od zera.


3

Ten błąd wystąpił po próbie zainstalowania Raspbian (Lite) na karcie SD, która była zbyt mała. Oczywiście, gdybym rzeczywiście spojrzał na dane wyjściowe z procesu dd, zobaczyłbym to przed ślepym włożeniem karty do mojego Pi:

$ 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)

Skończyłem instalowanie Minibiana .


2

Wystąpił błąd kończący się na 2 przy powielaniu znanej dobrej karty. Zasadniczo skopiowałem bajty z oryginalnej karty na nową / nową kartę SD za pomocą dd. Nie spodziewałem się żadnych błędów po tym prostym procesie, więc wyobraź sobie moje zdziwienie, gdy zetknąłem się z tym komunikatem:

Synchronizacja jądra bez paniki: VFS: nie można zamontować roota na nieznanym bloku (179, 2 )

Po przeszukaniu okazało się, że świeża karta SD była nieco mniejsza od oryginału.

Z tego powodu nie udało się zamontować partycji root. To z kolei doprowadziło do niesławnej wiadomości o panice jądra. Wydaje mi się, że jądro próbowało dotrzeć do bloków poza końcem karty SD lub odkryło, że partycja (będąca ostatnią w kolejności) nie mieści się całkowicie na karcie SD.

Ponieważ naprawdę chciałem zachować moje pliki i ustawienia, zmniejszyłem główny system plików. Obejmuje to resize2fsnajpierw uruchomienie , a następnie fdiskdostosowanie partycji. Należy pamiętać, że jedno narzędzie zgłasza rozmiar w blokach 4k, drugie działa z przesunięciem start / stop sektora 512 bajtów. Naprawdę łatwo jest zepsuć. Dlatego przechowuj kopie zapasowe znanych dobrych obrazów.

Prawdopodobnie najlepiej to zrobić na innym komputerze PC lub laptopie z czytnikiem kart. Nie na samej malinie.

Oczywiste jest, że powinieneś mieć wystarczająco dużo miejsca w systemie plików, aby móc go zmniejszyć ...


1

W moim przypadku sklonowałem SD w innym SD, ponieważ oryginał został uszkodzony w tym sektorze.

Aby sklonować w systemie Windows, możesz użyć tego narzędzia: Win32 Disk Imager .

Aby zmniejszyć obraz sd, jeśli nowy sd jest mniejszy niż oryginalny, możesz użyć tego skryptu w vm linuxa, w którym udostępniono obraz sd: PiShrink .

Wreszcie, jeśli chcesz zobaczyć całą procedurę w tym filmie .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.