Ошибки файловой системы на USB-накопителе при попытке форматирования как ext4

345
James

Поэтому я купил совершенно новый USB-накопитель емкостью 128 ГБ и подключил его к своему Raspberry Pi.

Затем я использую командную строку, чтобы создать новый раздел и дополнительную файловую систему, используя fdisk и mkfs.ext4.

Казалось бы, идти хорошо. Затем я использовал rsync для копирования 65 ГБ данных на флешку и оставил на ночь.

На следующее утро rsync преждевременно получил заказ с ошибкой, что устройство заполнено. Конечно, df подтвердил, что заполнен на 100%. Немного растерянно, я пытался размонтировать, но не смог, поэтому перезагрузился. При перезагрузке устройство не монтируется, говоря, что произошла ошибка, поэтому я запустил e2fsck, и он исправил множество вещей, касающихся inode, суперблоков и журнала. После этого все данные ушли, и диск на 0%, но будет подключен.

Точно то же самое случилось снова, когда я попытался скопировать файлы снова. Поэтому я попытался переформатировать, и на этот раз привод сразу же сообщает об ошибках. e2fsck находит и исправляет их, но, запуская его снова, снова и снова находит ошибки, поэтому это кажется неэффективным.

Затем я решил подключить его к ПК с Windows и сделать полный формат как exFAT. Это заняло много времени, но я мог скопировать данные и прочитать их нормально. Вернувшись в Linux, я могу скопировать данные и прочитать их. Переформатировать как ext4; ошибки снова.

Поэтому я отформатировал как exFAT и теперь запускаю badblocks. Он почти закончился и не нашел ничего плохого. Почему у меня так много проблем с этим приводом?

0

2 ответа на вопрос

1
telcoM

На рынке представлены различные поддельные флешки и карты памяти. Они часто имеют гораздо большую емкость, чем на самом деле. Более умные подделки предназначены для прохождения простых тестов и могут использоваться на самом деле ... пока вы не попытаетесь сохранить больше данных, чем их фактическая емкость. В этот момент вы получите повреждение данных и ошибки. Поведение, которое вы видите, может соответствовать этой ситуации.

Вы можете попробовать проверить USB-накопитель с помощью программы, предназначенной для обнаружения поддельных устройств хранения. Вот несколько примеров в произвольном порядке:

https://www.raymond.cc/blog/test-and-detect-fake-or-counterfeit-usb-flash-drives-bought-from-ebay-with-h2testw/

https://www.geckoandfly.com/22803/detect-fake-usb-flash-drives-sd-cards-ssd-disk/

Возможно, хотя это от уважаемого продавца, а не интернет-рынка. Я посмотрю на эти проверки, но я бы подумал, что они не пройдут тест на бадблоки? James 6 лет назад 0
@James Они не пройдут такой простой тест. Каждый блок, который, как утверждается, имеет устройство, может быть успешно записан и прочитан. Но разные адреса могут адресовать один и тот же физический блок. Я сам столкнулся с одним из таких поддельных носителей, когда друг попросил помощи в восстановлении данных. Он утверждал, что это устройство на 32 ГБ, но на самом деле было только 128 МБ. Первые 96 МБ устройства были полностью оригинальными. Остальная часть устройства - это те же 32 МБ блоков, к которым обращались более 1000 раз по разным адресам. kasperd 6 лет назад 0
@James Если вы хотите обнаружить такие подделки, вам нужно записать псевдослучайные данные на носитель и прочитать случайные места, чтобы убедиться, что они имеют правильный контент. Как только количество написанных вами псевдослучайных данных превысит реальную емкость носителя, вы вскоре начнете видеть неверные данные, возвращающиеся при чтении из случайных ранее записанных местоположений. kasperd 6 лет назад 0
0
AnFi

Попробуйте обнаружить плохие блоки на устройстве.

Вы также можете использовать опцию e2fsck -c -c -k …
mkfs.ext4поддержки -c.

Double -cпроводит медленные тесты чтения и записи.
Сингл -cпроводит тесты на быстрое чтение.
-koptions сохраняет список ранее обнаруженных дефектных блоков (например, если вы используете одиночные -cтесты перед двойными -cтестами).

Спасибо, я попробую и посмотрю, что произойдет James 6 лет назад 0

Похожие вопросы