Jak uruchomić w trybie awaryjnym?

13

Po próbie skonfigurowania Raspberry Pi jako odbiornika bluetooth dla stereo, teraz za każdym razem, gdy go uruchamiam, nie mogę w ogóle SSH, nie mogę w ogóle używać pulpitu lub CTRL + ALT + klawisz Fnumber, aby dostać się do terminala.

Próbowałem startx = 0 w konfiguracji z klawiszem Shift podczas uruchamiania, ale to nie zapobiega całkowitemu zamrożeniu.

Widzę komunikat o błędzie podczas uruchamiania, więc myślę, że ostatnie poprawki spowodowały uszkodzenie bluetooth ... ale jak mogę dostać się do konsoli root, aby to naprawić? Nawet w trybie odzyskiwania Shift Ctrl + Alt + F1 nie pozwala mi się zalogować, ponieważ odrzuca hasło. To jest na aktualnym Pi3.

NoBugs
źródło
1
Nie jestem pewien, czy użyłem trybu odzyskiwania na Raspbian, czy nie, ale domyślam się, że pozwala tylko na logowanie do roota i odrzuca hasło, ponieważ nie masz ustawionego hasła roota. Istnieją dwie wersje tego; jeden (domyślny) oznacza, że ​​nie można w ogóle zalogować się do katalogu głównego. Drugim jest to, że możesz zalogować się bez hasła; możesz to zrobić w ten sposób: raspberrypi.stackexchange.com/a/47129/5538
goldilocks
@goldilocks Mimo to, jak mam się zalogować, gdy natychmiast przejdzie na pulpit?
NoBugs
@NoBugs Po uruchomieniu spróbuj przejść do innego terminalu z Ctrl + Alt + F2
NULL
@NULL Dokładnie to, co miałem nadzieję, że to naprawi ... Ale nie ma odpowiedzi, chyba że w trybie odzyskiwania Shift, a potem nie chce mnie wpuścić ...
NoBugs
Czy próbowałeś usunąć kartę SD i włożyć ją do komputera, aby usunąć plik konfiguracyjny (łatwiej to zrobić na komputerze z systemem Linux niż na komputerze z systemem Windows).
NonStandardModel

Odpowiedzi:

1

Tradycyjnym sposobem przejścia do trybu „Bezpiecznego”, znanego również jako tryb „pojedynczego użytkownika”, jest dodanie „S” na końcu wiersza poleceń.

dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait S

Zamiast ominąć wszystko, co system może zrobić, mówi to initowi, że poziom działania to „S”, a następnie może zrobić specjalne rzeczy, aby wesprzeć ten przypadek. Właśnie przetestowałem to z moją na wpół antyczną instalacją Jessie.

Wiersz polecenia rozruchu zwykle można znaleźć w pliku „/boot/cmdline.txt”.

Brzeszczot
źródło
1
To faktycznie działa, w przeciwieństwie do innych poradników, które widziałem ... Powinieneś zanotować, że to boot / cmdline.txt, kiedy montujesz go na maszynie Ubuntu (i może być możliwe również w systemie Windows, nie wiem ?)
NoBugs
8

Ta odpowiedź jest nieaktualna (Raspbian używa teraz PARTUUID do identyfikacji partycji root) i używa /bin/bashzamiast niej zgodnej z POSIX/bin/sh

Naprawienie partycji może działać, ale zmiana cmdline.txtjej zawartości root=/dev/mmcblk0p2(bez pasującej zmiany na etc/fstab) może powodować kolejne problemy z uruchamianiem.

Jeden ze sposobów na przejście do pewnego rodzaju bezpiecznego trybu można osiągnąć, uruchamiając się bezpośrednio w bash.

  1. Odłącz i wyjmij kartę
  2. Zamontuj go na komputerze
  3. Otwórz dysk, edytuj plik cmdline.txt i dodaj „init = / bin / bash” na końcu istniejącej komendy. Uwaga: wymagane jest miejsce przed init.

Przykład:

dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 
rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait init=/bin/bash
  1. Odmontuj kartę, włóż ją z powrotem do pi i uruchom komputer. Dla mnie dostępność linii poleceń nie była widoczna, dopóki nie nacisnąłem Enterklawiatury.

  2. Prawdopodobnie przekonasz się, że karty nie można zapisać.

Możesz ponownie zamontować go jako możliwy do odczytu / zapisu, wykonując (w razie potrzeby dostosuj nazwę urządzenia):

mount -o remount,rw /dev/mmcblk0p2 /
  1. Śledź to boo boo, exitsesję bash i odłącz pi
  2. Ponownie zainstaluj kartę na komputerze i usuń „init = / bin / bash” z cmdline.txt i miejmy nadzieję, że voila! Spłucz, spłucz i powtórz w razie potrzeby.
Kevin Reilly
źródło
1
Dodałbym do tego polecenia powinno być „mount -o remount, rw / dev / mmcblk0p2 /”
Keith Phillips
W moim przypadku musiałem zrobić mount -o remount,rw /dev/mmcblk0p2 /to, co not mounted or invalid option
spowoduje
Ciekawy! Nie jestem pewien, czy coś się zmieniło lub co, ale odpowiednio zaktualizowałem post. Dzięki za heads-upy.
Kevin Reilly,
gdzie jest cmdline.txt? to musi być utworzone u nasady?
snoob dogg
@ snoobdogg Po zamontowaniu karty SD na komputerze powinna ona znajdować się w katalogu głównym systemu plików, który można przeglądać. Warto zauważyć, że potwierdziłem to tylko w dystrybucji Raspbian.
Kevin Reilly,
4

Ponieważ prawdopodobnie zaktualizowałeś swój malinowy proces, być może złapała Cię ta zmiana :

Od wydania z listopada 2016 r. Raspbian domyślnie wyłącza serwer SSH. Będziesz musiał włączyć go ręcznie.

Rozwiązanie tego jest dość proste: Włóż kartę SD do innego komputera i umieść pusty plik o nazwie „ssh” na partycji rozruchowej (czyli jedynej partycji, którą widzisz na komputerze z systemem Windows).

dube
źródło
Zostałem złapany przez to, więc podłączyłem go do monitora HDMI, myszy i klawiatury, uruchomiłem komputer, a potem poszedłem raspi-configgo włączyć.
SDsolar