Чи моє Raspberry Pi постійно пошкоджує SD-карти?


26

Мій Raspberry Pi працював нормально два місяці. Потім деякі файли /usr/binотримали пошкодження, і було багато помилок при перезавантаженні.

Я намагався написати свіже зображення, але ДД заблокував і нічого не зробив.

sudo dd if=~/2013-02-09-wheezy-raspbian.img of=/dev/mmcblk0 bs=4M

Я помітив, що моя SD-карта не була вказана як сумісна, тому я тиждень тому розпочав нову підтримувану SD-карту, і тепер те ж саме сталося.

Карти, схоже, застрягли в режимі лише для читання ddі fdiskне мають впливу.

Я кілька разів тягнув шнур живлення, щоб перезавантажитись після того, як sshперестав працювати, запускаю його без монітора та клавіатури.

Чи можна назавжди пошкодити SD-карту, потягнувши шнур живлення?

Я читав про пошкоджені карти SD і хотів би дійти до останньої точки цієї проблеми, але зараз я хвилююсь, що мені потрібно купувати нову SD карту щоразу, коли я намагаюся. Для інших людей, здається, вони можуть почати заново, написавши нове зображення.

Чи є ще щось, що я можу спробувати змусити картки SD знову працювати?

Якщо я спробую відформатувати картку за допомогою моєї камери, вона каже "помилка форматування".

Коли я вставляю SD-карту, показує 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

Оновлення: мені вдалося записати свіже зображення на другу SD-карту, але перша карта (Kingston 8 Гб, клас 4, не в підтримуваному списку) все ще зламана. Оскільки це лише одна картка, яка здається зламаною, я не так переживаю, що це буде тривати. Я думаю, це було разовим.

Мій Raspberry Pi зараз рідко буває. Я перевірив напругу на Raspberry Pi, і вона досить низька, тому підозрюю, що це причина моїх неприємностей. Я замовив нове джерело живлення. Однак я не знаю, чому Raspberry Pi працював так давно.


1
Чи можете ви підтвердити, що коли ви намагаєтесь написати щось на зламані картки, ви використовуєте інший комп'ютер із зчитувачем SD-карт, який працює добре для інших карт? Чи можете ви надати ddкоманду, яку ви використовуєте для запису на карту? Чи можете ви перевірити, dmesgчи є якісь помилки вводу-виводу у вашій картці?
Кшиштоф Адамський

Якщо ви збираєтеся вимкнути живлення Pi, переконайтесь, що це різко, а не повільно. Повільно витягуючи шнур, це може призвести до пошкодження SD-карт. Настійно пропоную отримати джерело живлення за допомогою перемикача живлення. Як тільки я почав використовувати перемикач живлення, а не просто витягувати шнур живлення з Pi, у мене ніколи не було пошкоджених SD-карт. Також ваш вибір джерела живлення дуже важливий. Переконайтеся, що він не менше 1000 мА та має постійний вихід. Я також не хотів би живити Pi з того самого концентратора USB, який ви використовуєте для підключення його до пристроїв.
Джеррі Ганьон

Була така ж проблема, абсолютно химерна корупція, змушуючи запускати лайно. Після отримання виділеного джерела живлення Raspberry Pi та нової SD-карти всі мої проблеми зникли. Стару карту SD можна було використовувати знову лише після пошуку машини Windows та запуску безкоштовного форматера низького рівня від асоціації SD. Вони заявляють, що жоден форматформатор рівня блоку не може створити справжнє форматування низького рівня, необхідне для повного відновлення проблемних карт SD. YMYV
пограбувати

У мене є три Raspberry Pi і у мене був той самий випуск. Зараз у мене дві SD-карти стали пошкодженими та доступними лише для читання, і жодних хитрощів із використанням fsck, fdisk чи будь-яких інших утиліт Linux та Windows не було виправлено. На примху я вирішив кинути одну з карток у свою камеру Samsung і спробувати її відформатувати. На моє здивування та захоплення, функція форматування в камері відновила карту, і вона знову може бути використана. На жаль, я не можу відновити іншу карту за допомогою цього, оскільки це SD-карта в повному розмірі, а не MicroSD з адаптером, і моя камера має слот MicroSD. Камера - це Samsung ST72, просто FYI.
Келлі Мак

Відповіді:


11

Проблеми та потенційний збиток

Так, вимкнення Raspberry Pi, витягнувши шнур, може призвести до пошкодження . Насправді була відповідь, яка детально деталізувала це питання. Це питання не стосується Raspberry Pi. Виведення кабелю живлення без попередження для ОС може спричинити проблеми - я таким чином пошкодив своє ядро ​​Windows.

Як виправити

  1. Мак

Підключіть SD-карту до Mac. Потім відкрийте утиліту Disk і видаліть свої розділи. Потім відновіть. Нарешті, переображте карту. Якщо вам потрібна додаткова допомога, перегляньте цей підручник .

  1. Windows

Використовуйте програму Win32 Disk Imager . Знову ж видаліть розділи, відновіть їх, а потім повторно зображте карту.

  1. Linux

Щоб скинути SD для читання-запису, введіть hdparm -r0 /dev/xxxтермінал. Можливо, вам доведеться спочатку видалити розділи.

Як уникнути

Відтепер ніколи не слід вимикати Raspberry Pi, відключаючи його . Замість цього перейдіть до консолі та введіть:

sudo shutdown -h now

Або, якщо ви використовуєте startx, натисніть кнопку виходу із системи та виберіть вимкнення.


14
Наскільки я знаю, неможливо пошкодити саму SD карту, витягнувши живлення. Однак можливо пошкодити файлову систему на карті.
Кшиштоф Адамський

2
Більшість сучасних файлових систем є файловими системами, що переводяться в рух, і не будуть пошкоджені таким чином, втрачаючи владу (хоча вони можуть втратити самі поточні зміни). Однак картки пам’яті, як правило, лежать в ядрі про те, що синхронізовано. ЦЕ веде до пошкоджених файлових систем.
DonGar

У мене були несподівані відключення електроенергії, щоб обсмажити мою SD-карту там, де жодна кількість витирання та повторної обробки зображень не зайняла б, мабуть, погані сектори, які призведуть до того, що перевстановлення не вдасться. Довелося купити нову карту. Так що так, ви можете пошкодити саму карту.
Yamikuronue

Інший, коротший спосіб вимкнення пі - це "sudo halt".
Матвій

Кращий спосіб переформатувати SD-карти в Windows та Mac OS - це використовувати формат SD SD . Це офіційний спосіб, коли вам належить виготовити карти жорсткого формату.
scruss

5

Проблема полягає в тому, що ви не можете перейти до консолі, коли Raspberry Pi підвішений, SSH працює частково, але не прийме пароль, а WebIDE Adafruit завис і не прийме введення. Немає іншого вибору, як витягнути вилку. Близько 25% часу це працює, але неминуче файлова система з часом пошкоджується. Це стає гірше, хоча навіть завантажувач завантажує вас до ядра, воно теж підвішене, і ви не можете нічого ввести, щоб fsck карту. Повторне зображення означає втрату всієї вашої роботи. Нам, безумовно, потрібне краще рішення.


2

Ви можете використовувати 'hdparm -r0 / dev / xxx', щоб скинути його на читання-запис. Мені особисто довелося видалити розділи та знову вставити sdcard, щоб мати змогу використовувати dd для копіювання нового зображення на карту.


Я спробував це, але dd все ще блокує. Я думаю, що карта повинна бути зламана.
Thomas Rynne

0

Є краще рішення - просто покладіть карту в зчитувач, приєднаний до іншої машини, і запустіть fsck з цієї машини [тоді сподіваюся, що вона працює!]. Звичайно, справжньою проблемою є спочатку запустити fsck - чого часто можна уникнути, якщо вимкнути машину належним чином на відміну від витягування потужності, незалежно від того, чи це без голови.


0

Після того, як dd неодноразово виходило з ладу на SD-картці, я використовував машину Windows 7 для видалення розділів та переформатування як FAT32 . Лише тоді DD дасть мені діюче зображення Raspberry Pi.

Тепер я часто запускаю наступне перед dd (або dcfldd) - новим зображенням:

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

Джерело, яке припускає /dev/zero, зазначало, що процес може скоротити термін служби картки.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.