Czy moje Raspberry Pi trwale uszkadza karty SD?

26

Mój Raspberry Pi działał dobrze przez dwa miesiące. Następnie niektóre pliki /usr/binuległ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” ddi fdisknie mają wpływu.

Kilka razy pociągnąłem za przewód zasilający, aby zrestartować komputer po zakończeniu sshpracy - 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.

Thomas Rynne
źródło
1
Czy możesz potwierdzić, że próbując zapisać coś na uszkodzonych kartach, używasz innego komputera z czytnikiem kart SD, który działa poprawnie dla innych kart? Czy możesz podać ddpolecenie, którego używasz do zapisywania na karcie? Czy możesz sprawdzić, dmesgczy są jakieś błędy we / wy na twojej karcie?
Krzysztof Adamski,
Jeśli zamierzasz odciąć zasilanie Pi, upewnij się, że jest ono gwałtowne i nie wolno. Powolne wyciąganie przewodu może i ostatecznie spowoduje uszkodzenie kart SD. Zdecydowanie sugeruję zakup źródła zasilania z wyłącznikiem zasilania. Kiedy zacząłem używać przełącznika zasilania zamiast wyciągania przewodu zasilającego z Pi, nigdy nie miałem uszkodzonej karty SD. Również wybór zasilacza jest bardzo ważny. Upewnij się, że wynosi on co najmniej 1000 mA i ma stały sygnał wyjściowy. Nie zasiliłbym również Pi z tego samego koncentratora USB, którego używasz do podłączania go do urządzeń.
Jerry Gagnon
Miałem ten sam problem, absolutnie dziwaczne zepsucie, które sprawiło, że bootowanie to bzdura. Po otrzymaniu dedykowanego zasilacza z certyfikatem Raspberry Pi i nowej karty SD wszystkie moje problemy zniknęły. Starej karty SD można użyć ponownie dopiero po znalezieniu komputera z systemem Windows i uruchomieniu bezpłatnego niskopoziomowego formatyzatora ze stowarzyszenia SD. Twierdzą, że żaden formater na poziomie bloku nie jest w stanie wygenerować prawdziwego formatowania niskiego poziomu potrzebnego do całkowitej naprawy problematycznych kart SD. YMYV
rob
Mam trzy Raspberry Pi i miałem ten sam problem. Mam teraz dwie karty SD, które uległy uszkodzeniu i są tylko do odczytu i żadne sztuczki przy użyciu fsck, fdisk lub innych narzędzi w systemie Linux lub Windows nie naprawiły ich. Pod wpływem kaprysu postanowiłem wrzucić jedną z kart do aparatu Samsung i spróbować sformatować. Ku mojemu zdziwieniu i radości funkcja formatowania w aparacie przywróciła kartę i można ją ponownie wykorzystać. Niestety nie mogę odzyskać drugiej karty, ponieważ jest to pełnowymiarowa karta SD, a nie MicroSD z adapterem, a mój aparat ma gniazdo MicroSD. Aparat to Samsung ST72, po prostu FYI.
Kelli Mac

Odpowiedzi:

11

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ć

  1. Prochowiec

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 .

  1. Windows

Użyj oprogramowania Win32 Disk Imager . Ponownie usuń partycje, przywróć je, a następnie ponownie zrób zdjęcie karty.

  1. Linux

Aby zresetować kartę SD do odczytu i zapisu, wpisz hdparm -r0 /dev/xxxw 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:

sudo shutdown -h now

Lub, jeśli używasz startx, kliknij przycisk wylogowania i wybierz zamknij.

xxmbabanexx
źródło
14
O ile mi wiadomo, nie można uszkodzić samej karty SD poprzez wyciągnięcie zasilania. Możliwe jest jednak uszkodzenie systemu plików na karcie.
Krzysztof Adamski,
2
Większość współczesnych systemów plików obsługuje systemy plików i nie zostanie uszkodzona przez utratę zasilania w ten sposób (chociaż mogą one utracić najnowsze zmiany). Jednak karty pamięci mają tendencję do okłamywania jądra w kwestii tego, co zostało zsynchronizowane. TO prowadzi do uszkodzenia systemów plików.
DonGar
Miałem nieoczekiwane przerwy w zasilaniu smażyć moją kartę SD w miejscu, w którym nie zabrałoby się żadne czyszczenie i ponowne obrazowanie, wydawało się, że istnieją złe sektory, które spowodowałyby ponowną instalację. Musiałem kupić nową kartę. Tak, możesz uszkodzić samą kartę.
Yamikuronue
Innym, krótszym sposobem wyłączenia pi jest „sudo halt”.
Matthew
Lepszym sposobem na sformatowanie kart SD w systemie Windows i Mac OS jest użycie SD Formatator SD Association . Jest to oficjalny sposób, w jaki powinieneś twardo formatować karty.
scruss
5

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.

użytkownik1718232
źródło
2

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ę.

Steven Verborgh
źródło
Próbowałem tego, ale dd nadal blokuje. Myślę, że karta musi zostać złamana.
Thomas Rynne,
0

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.

Tylko ja
źródło
0

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:

time dcfldd if=/dev/zero of=/dev/sdc statusinterval=1 sizeprobe=of

Źródło sugerujące /dev/zerozauważyło, że proces ten może skrócić żywotność karty.

obrabować
źródło