С развитием интернет торговли очень часто в продаже продавцы пытаются нас обмануть.
Берут дешевые флеш накопители и программируют объем намного больше чем они могут вместить.
Результат:
1. в лучшем случае потеря нервов, это когда вы во время вернули деньги
2. в худшем средств, это когда Вы не проверив и не протестировав накопитель ставите отзыв продавцу, а после замечаете деффект.
3. а в самом печальном раскладе потеря данных.
Итак хорошо на руках у нас во 2 и 3-м случае остается накопитель с которым работать нельзя.
Но не все потеряно. Можно исправить фальшивый объем на реальный и пользоваться тем что осталось.
Как же вылечить китайские флешки с фейковым размером в операционной системе Линукс.
Для начала нам нужно протестировать накопитель на ошибки.
Приготовьтесь к тому что чем больше объем фальшивой флешки тем больше времени будет затрачено на тестирование.
В оффтопике есть утилита H2testw, но речь пойдет не о ней, а об его аналоге для операционой системы Линукс.
Утилита F3 <- ссылка для скачивания.
Переходим по ссылке выше и берем в разделе Download and Compile архив.
Скачав архив распаковываем его удобным Вам способом, автор рекомендует команду:
Далее изучаем файл README...
Немного переведу содержимое (там написано, как скомпилировать и использовать программу).
Для компиляции в Линукс выполняем команду:
Для компиляции в Mac
Все утилита готова к бою, но она консольная.
Теперь монтируем флешку и открываем в проводнике копируем полный путь к корню флешки он будет следующего вида и может отличаться в разных дистрибутивах.
/media/5EBD-5C80/
Теперь в консоли выполняем команду:
Ждать можно слишком долго я к примеру около 6ти часов записывал накопитель объемом 64 фальшивых гигабайта.
В консоли будут выводится запись о том что записан очередной файл объемом 1 гигабайт в таком виде:
Free space: 28.83 GB
Creating file 1.fff ... OK!
Creating file 2.fff ... OK!
Creating file 3.fff ... OK!
Creating file 4.fff ... OK!
В конце процесса будет информация о том что накопитель заполнен полностью:
Creating file 29.fff ... OK!
Free space: 0.00 Byte
Average Writing speed: 2.60 MB/s
Теперь нужно выполнить обратную команду, для определения реального объема живых секторов накопителя:
Результат работы команды будет таков:
SECTORS ok/corrupted/changed/overwritten
Validating file 1.fff ... 0/ 2097152/ 0/ 0
Validating file 2.fff ... 0/ 2097152/ 0/ 0
Validating file 3.fff ... 0/ 2097152/ 0/ 0
Validating file 4.fff ... 0/ 2097152/ 0/ 0
Validating file 5.fff ... 0/ 2097152/ 0/ 0
Validating file 6.fff ... 0/ 2097152/ 0/ 0
Validating file 7.fff ... 0/ 2097152/ 0/ 0
Validating file 8.fff ... 0/ 2097152/ 0/ 0
Validating file 9.fff ... 0/ 2097152/ 0/ 0
Validating file 10.fff ... 0/ 2097152/ 0/ 0
Validating file 11.fff ... 0/ 2097152/ 0/ 0
Validating file 12.fff ... 0/ 2097152/ 0/ 0
Validating file 13.fff ... 0/ 2097152/ 0/ 0
Validating file 14.fff ... 0/ 2097152/ 0/ 0
Validating file 15.fff ... 0/ 2097152/ 0/ 0
Validating file 16.fff ... 0/ 2097152/ 0/ 0
Validating file 17.fff ... 0/ 2097152/ 0/ 0
Validating file 18.fff ... 0/ 2097152/ 0/ 0
Validating file 19.fff ... 0/ 2097152/ 0/ 0
Validating file 20.fff ... 0/ 2097152/ 0/ 0
Validating file 21.fff ... 0/ 2097152/ 0/ 0
Validating file 22.fff ... 0/ 2097152/ 0/ 0
Validating file 23.fff ... 0/ 2097152/ 0/ 0
Validating file 24.fff ... 1916384/ 180768/ 0/ 0
Validating file 25.fff ... 186816/ 1910336/ 0/ 0
Validating file 26.fff ... 0/ 2097152/ 0/ 0
Validating file 27.fff ... 0/ 2097152/ 0/ 0
Validating file 28.fff ... 0/ 2097152/ 0/ 0
Validating file 29.fff ... 28224/ 1705280/ 0/ 0
Data OK: 1.02 GB (2131424 sectors)
Data LOST: 27.81 GB (58322336 sectors)
Corrupted: 27.81 GB (58322336 sectors)
Slightly changed: 0.00 Byte (0 sectors)
Overwritten: 0.00 Byte (0 sectors)
Average Reading speed: 9.54 MB/s
Нам нужно только вот это: Data OK: 1.02 GB (2131424 sectors)
Ну а теперь осталось дело за малым создать раздел который не выходит за пределы 2131424 секторов.
Самый простой способ сделать это использовать fdisk или любую другую утилиту которая позволяет указывать объем разделов в секторах.
Последовательность команд fdisk описана на странице с описанием утититы F3 в разделе How to "fix" a fake card.
Некоторые параметры fdisk могут отличатся в зависимости от дистрибутива и версии, но незначительно.