7

Мне дали несколько флешек, которые кажутся фальшивыми. Шелкография показывает 64 гигабайта, и они показывают как 64 гигабайта для ОС.

Однако, если вы попытаетесь записать файлы размером более 4 Гб, файл будет поврежден.

Как можно быстро определить, является ли флешка или SD-карта фальшивой, и каков ее фактический размер?

Примечание стороны:
Я знаю о h2testw, но он на немецком языке, и мне очень трудно его использовать. Я ищу альтернативную программу или способ сделать это из командной строки.
Любая платформа в порядке.

4 ответа4

15

Откройте устройство карты напрямую и запишите в него значение 0x00 до емкости, указанной на этикетке. Запишите 0x55 0xff 0xaa в первые три байта и найдите все байты, отличные от 0x00 вплоть до емкости, указанной на этикетке. Если вы найдете один, карта является поддельной или дефектной. Если вы найдете 0x55 0xff 0xaa ... определенно подделка.

dd if=/dev/zero of=/dev/mmcblkX bs=16M count=...
echo -e -n '\x55\xff\xaa' > /dev/mmcblkX
hexdump /dev/mmcblkX
6

Учитывая, что проблема возникает при размерах файлов 4 ГБ, какая файловая система используется на карте?

Если это FAT32, проблема, которую вы видите, может быть вызвана тем, что FAT32 имеет верхний предел размера файла 4 ГБ. См. Http://en.wikipedia.org/wiki/File_Allocation_Table#FAT32 для получения дополнительной информации.

В Windows вы можете идентифицировать файловую систему, щелкнув правой кнопкой мыши на устройстве в "Моем компьютере" и выбрав свойства. Посмотрите на поле "файловая система".

2

Я считаю, что это также стоит упомянуть о замене h2testw: f3.

Документация находится по адресу:

В моей системе:

$ sudo apt-get install f3

Основное использование просто:

$ sudo f3probe --destructive --time-ops /dev/mmcblk0

или же

$ sudo f3probe --destructive --time-ops /dev/sdb

в зависимости от того, как ваша система видит устройство чтения SD-карт.

На моей системе это сообщает:

F3 probe 6.0
Copyright (C) 2010 Digirati Internet LTDA.
This is free software; see the source for copying conditions.

WARNING: Probing normally takes from a few seconds to 15 minutes, but
it can take longer. Please be patient.

Bad news: The device `/dev/sdb' is a counterfeit of type limbo

You can "fix" this device using the following command:
f3fix --last-sec=7860034 /dev/sdb

Device geometry:
*Usable* size: 3.75 GB (7860035 blocks)
Announced size: 15.62 GB (32768000 blocks)
Module: 16.00 GB (2^34 Bytes)
Approximate cache size: 1.00 MB (2048 blocks), need-reset=no
Physical block size: 512.00 Byte (2^9 Bytes)

Probe time: 1'11"
Operation: total time / count = avg time
Read: 336.9ms / 4260 = 79us
Write: 1'10" / 57554 = 1.2ms
Reset: 164.9ms / 1 = 164.9ms

Если вы не можете использовать f3probe, вам придется использовать устаревший подход:

$ f3write /media/malat/NEW\ VOLUME
Free space: 15.61 GB
Creating file 1.h2w ... OK!
Creating file 2.h2w ... OK!
Creating file 3.h2w ... OK!
Creating file 4.h2w ... OK!
Creating file 5.h2w ... OK!
Creating file 6.h2w ... OK!
Creating file 7.h2w ... OK!
Creating file 8.h2w ... OK!
Creating file 9.h2w ... OK!
Creating file 10.h2w ... OK!
Creating file 11.h2w ... OK!
Creating file 12.h2w ... OK!
Creating file 13.h2w ... OK!
Creating file 14.h2w ... OK!
Creating file 15.h2w ... OK!
Creating file 16.h2w ... OK!
Free space: 0.00 Byte
Average writing speed: 8.48 MB/s

$ f3read /media/malat/NEW\ VOLUME
                  SECTORS      ok/corrupted/changed/overwritten
Validating file 1.h2w ... 2097152/        0/      0/      0
Validating file 2.h2w ... 2097152/        0/      0/      0
Validating file 3.h2w ... 2097152/        0/      0/      0
Validating file 4.h2w ... 1533687/   563465/      0/      0
Validating file 5.h2w ...       0/  2097152/      0/      0
Validating file 6.h2w ...       0/  2097152/      0/      0
Validating file 7.h2w ...       0/  2097152/      0/      0
Validating file 8.h2w ...       0/  2097152/      0/      0
Validating file 9.h2w ...       0/  2097152/      0/      0
Validating file 10.h2w ...       0/  2097152/      0/      0
Validating file 11.h2w ...       0/  2097152/      0/      0
Validating file 12.h2w ...       0/  2097152/      0/      0
Validating file 13.h2w ...       0/  2097152/      0/      0
Validating file 14.h2w ...       0/  2097152/      0/      0
Validating file 15.h2w ...       0/  2097152/      0/      0
Validating file 16.h2w ...      16/  1273792/      0/      0

  Data OK: 3.73 GB (7825159 sectors)
Data LOST: 11.88 GB (24905929 sectors)
      Corrupted: 11.88 GB (24905929 sectors)
Slightly changed: 0.00 Byte (0 sectors)
    Overwritten: 0.00 Byte (0 sectors)
Average reading speed: 3.20 MB/s
2

Недавно я нашел программу Scanflash - http://www.shikadi.net/scanflash/, которая сканирует диск под Linux, выясняет, не является ли его подделка, и разбивает полезные области на разделы. Хотя это занимает много времени. (Как целый день на фальшивой вспышке на 128 гигов)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .