Mój Raspberry Pi działał dobrze przez dwa miesiące. Następnie niektóre pliki /usr/bin
uległy uszkodzeniu i podczas ponownego uruchamiania wystąpiło wiele błędów.
Próbowałem napisać nowy obraz, ale dd blokuje i nic nie robi.
sudo dd if=~/2013-02-09-wheezy-raspbian.img of=/dev/mmcblk0 bs=4M
Zauważyłem, że mojej karty SD nie ma na liście kompatybilnych, więc zacząłem od nowej obsługiwanej karty SD tydzień temu i teraz stało się to samo.
Wydaje się, że karty utknęły w stanie „tylko do odczytu” dd
i fdisk
nie mają wpływu.
Kilka razy pociągnąłem za przewód zasilający, aby zrestartować komputer po zakończeniu ssh
pracy - uruchamiam go bez monitora i klawiatury.
Czy możliwe jest trwałe uszkodzenie karty SD poprzez pociągnięcie za przewód zasilający?
Czytałem o uszkodzonych kartach SD i chciałbym przejść do sedna tego problemu, ale obecnie obawiam się, że muszę kupować nową kartę SD za każdym razem, gdy próbuję. Wydaje się, że inni ludzie mogą zacząć od nowa, pisząc nowy obraz.
Czy jest coś jeszcze, co mogę spróbować ponownie uruchomić karty SD?
Gdy próbuję sformatować kartę za pomocą aparatu, pojawia się komunikat „błąd formatowania”.
Po włożeniu karty SD wyświetla się dmesg
...
[52254.614980] end_request: I/O error, dev mmcblk0, sector 1696056
[52254.614983] end_request: I/O error, dev mmcblk0, sector 1696064
[52254.614987] end_request: I/O error, dev mmcblk0, sector 1696072
[52254.615058] Aborting journal on device mmcblk0p2-8.
...
[52666.031183] journal commit I/O error
[52666.031186] journal commit I/O error
....
[52666.031220] journal commit I/O error
[52666.031227] journal commit I/O error
[52666.083902] EXT4-fs error (device mmcblk0p2): ext4_put_super:819:
Couldn't clean up the journal
[52666.083910] EXT4-fs (mmcblk0p2): Remounting filesystem read-only
Aktualizacja: Udało mi się zapisać nowy obraz na drugiej karcie SD, ale pierwsza karta (Kingston 8 GB klasa 4, nie ma na liście obsługiwanych) jest nadal uszkodzona. Ponieważ jest to tylko jedna karta, która wydaje się uszkodzona, nie martwię się tak bardzo, że tak się stanie. To chyba jednorazowe.
Mój Raspberry Pi teraz rzadko się uruchamia. Sprawdziłem napięcie na Raspberry Pi i jest ono dość niskie, więc podejrzewam, że to jest przyczyną moich problemów. Zamówiłem nowy zasilacz. Jednak nie wiem, dlaczego Raspberry Pi działało tak długo.
dd
polecenie, którego używasz do zapisywania na karcie? Czy możesz sprawdzić,dmesg
czy są jakieś błędy we / wy na twojej karcie?Odpowiedzi:
Problemy i potencjalne szkody
Tak, wyłączenie Raspberry Pi poprzez wyciągnięcie przewodu może spowodować uszkodzenie . W rzeczywistości istniała odpowiedź dokładnie opisująca ten problem. Ten problem nie dotyczy Raspberry Pi. Wyjmowanie kabla zasilającego bez ostrzeżenia do systemu operacyjnego może powodować problemy - w ten sposób uszkodziłem jądro systemu Windows.
Jak naprawić
Podłącz kartę SD do komputera Mac. Następnie otwórz narzędzie dyskowe i usuń partycje. Następnie przywróć. Na koniec ponownie zeskanuj kartę. Jeśli potrzebujesz dodatkowej pomocy, zapoznaj się z tym samouczkiem .
Użyj oprogramowania Win32 Disk Imager . Ponownie usuń partycje, przywróć je, a następnie ponownie zrób zdjęcie karty.
Aby zresetować kartę SD do odczytu i zapisu, wpisz
hdparm -r0 /dev/xxx
w terminalu. Najpierw może być konieczne usunięcie partycji.Jak ominąć
Odtąd nigdy nie powinieneś wyłączać Raspberry Pi przez odłączenie go . Zamiast tego przejdź do konsoli i wpisz:
Lub, jeśli używasz
startx
, kliknij przycisk wylogowania i wybierz zamknij.źródło
Problem polega na tym, że nie można przejść do konsoli, ponieważ Raspberry Pi jest zawieszony, SSH działa częściowo, ale nie akceptuje hasła, a WebIDE Adafruit jest zawieszony i nie akceptuje danych wejściowych. Nie ma innego wyjścia, jak wyciągnąć wtyczkę. Około 25% czasu to działa, ale nieuniknione jest, że system plików zostanie ostatecznie uszkodzony. Jest coraz gorzej, ponieważ chociaż program ładujący upuszcza cię do jądra, to także jest zawieszony i nie możesz wpisać niczego, aby fsck karty. Reimaging oznacza utratę całej pracy. Zdecydowanie potrzebujemy lepszego rozwiązania.
źródło
Możesz użyć 'hdparm -r0 / dev / xxx', aby zresetować go do odczytu i zapisu. Musiałem osobiście usunąć partycje i ponownie włożyć kartę SD, aby móc użyć dd do skopiowania nowego obrazu na kartę.
źródło
Jest lepsze rozwiązanie - po prostu włóż kartę do czytnika podłączonego do innej maszyny i uruchom fsck z tej maszyny [wtedy mam nadzieję, że zadziała!]. Oczywiście, prawdziwym problemem jest przede wszystkim uruchomienie fsck - czego często można uniknąć, odpowiednio wyłączając maszynę w przeciwieństwie do siły ciągnącej, niezależnie od tego, czy jest bezgłowa.
źródło
Po tym, jak dd wielokrotnie nie działało na karcie SD, użyłem komputera z systemem Windows 7 do usunięcia partycji i sformatowania jako FAT32 . Tylko wtedy dd dałby mi działający obraz Raspberry Pi.
Teraz często uruchamiam następujące polecenie przed dd (lub dcfldd) -ing nowego obrazu:
Źródło sugerujące
/dev/zero
zauważyło, że proces ten może skrócić żywotność karty.źródło