Все темы

Archives for: September 2026, 05

Как на Linux проверить SD-карту (microSD, CompactFlash, USB флэшку, SSD и т.д.) на работоспособность и подделку

Вот и меня не минула история с фальшивыми флэшками - когда выглядит как настоящая, и вроде даже работает, и объём, когда форматируем и смотрим на свободное место, правильный, а на самом деле внутри не 128 гигабайт памяти, а всего 36 (странное число, да). Даже успел попользоваться в телефоне, потом поснимать на эту карточку и всё работало до какого-то момента - пока очередная фотка не попала за пределы реально существующих гигабайтов. Фотоаппарат записал её, но на просмотре выдал ошибку. Именно потому что проблема не вскрывается сразу, люди успевают попользоваться фальшивкой и оставить положительные отзывы в магазине. Я лично вообще уже не помню, из какого лота была эта карточка. Вывод: при покупке памяти в интернете всегда читайте самые негативные отзывы, если там есть что-то про подделку, неправильный фактический размер - бегите! И, конечно, изучите цены на данное предложение, и если у какого-то продавца цена сильно ниже рыночной - повод забеспокоиться.
Итак, какой простейший и удобнейший способ диагностики этой ситуации под Ubuntu я добыл (в принципе, это приложение доступно и на Windows и Mac OS).
Ставим f3 (Fight Flash Fraud):

sudo apt install f3

Подключаем носитель для тестирования к компьютеру. Если на диске уже есть какие-то объёмные данные, лучше их удалить или перенести оттуда.
Консолью заходим на него, и выполняем тестовую запись (при этом создаются тестовые файлы, заполняющие всё место на диске), а потом, если запись прошла успешно, нужно дополнительно выполнить чтение данных (f3 при этом сверяет контрольные суммы записанных файлов), потому что поддельные флэшки умеют делать вид, что данные записаны, хотя на самом деле нет:

cd /media/username/DRIVE_NAME
f3write . && f3read .

Читаем вывод программ и делаем выводы. Если карта не в мусорку, удаляем созданные на диске тестовые файлы *.h2w и используем.
Процесс занимает довольно долго, например, для Class 10 20 МБ/с SD-карты на терабайт нужно порядка суток только на запись, и ещё много часов на чтение (оно обычно побыстрее). 128 ГБ карта у меня проверялась чуть больше 4 часов.

Чем у меня закончилась история с первым подозреваемым. Запись прошла "успешно":

...
Creating file 122.h2w ... OK!                         
Creating file 123.h2w ... OK!                         
Creating file 124.h2w ... OK!                         
Creating file 125.h2w ... OK!                         
Free space: 0.00 Byte
Average writing speed: 15.88 MB/s

А вот считывание данных вскрыло жулика:

...
Validating file 121.h2w ...       0/  2097152/      0/      0
Validating file 122.h2w ...       0/  2097152/      0/      0
Validating file 123.h2w ...       0/  2097152/      0/      0
Validating file 124.h2w ...       0/  2097152/      0/      0
Validating file 125.h2w ...  458496/  1574400/      0/      0

  Data OK: 35.48 GB (74408192 sectors)
Data LOST: 89.49 GB (187671552 sectors)
               Corrupted: 66.43 GB (139311306 sectors)
        Slightly changed: 0.00 Byte (0 sectors)
             Overwritten: 23.06 GB (48360246 sectors)
Average reading speed: 17.31 MB/s

Как видите, про 89 ГБ карточка только наврала, что они записываются, а по факту они были выкинуты или записаны по кругу на один и тот же участок памяти.
Второй пациент оказался более грубой подделкой и, хотя форматируется быстрым форматом нормально, но спалился уже на фазе записи - вместо 1 ТБ записалось 136 ГБ:

...
Creating file 133.h2w ... OK!                             
Creating file 134.h2w ... OK!                             
Creating file 135.h2w ... OK!                             
Creating file 136.h2w ... OK!                             
Creating file 137.h2w ... Write failure: Input/output error

WARNING:
The write error above may be due to your memory card overheating
under constant, maximum write rate. You can test this hypothesis
touching your memory card. If it is hot, you can try f3write
again, once your card has cooled down, using parameter --max-write-rate=2048
to limit the maximum write rate to 2MB/s, or another suitable rate.

Кроме того, при тестировании скорость записи была 17-20 МБ/с, что явно не соответствует маркировке U3 на этой карте (должно быть более 30). Скорость сильно ниже заявленной - тоже признак подделки (при условии, что у вас быстрый USB порт и кардридер конечно).

Archives

                                                                                                                                                                                                                                                                   


© Sergey A. Galin, 1998-2021 sageshome.net/blog/