Проверьте реальный размер карты флэш-памяти USB

Я недавно читал много о поддельной карте памяти microSD и картах флэш-памяти USB, которые утверждают, что имели много пространства (даже если Вы спрашиваете свой компьютер), при физическом предложении пути меньше. Я недавно купил Карту памяти SanDisk (требуемых 128 ГБ), и хотят протестировать ее размер. Это не куплено через eBay или что-то, но я действительно хочу протестировать реальный размер перед использованием его продуктивно.

Я мог просто скопировать материал на нем, скопировать его назад и посмотреть, если файлы хорошо. Я мог также автоматизировать его с Хешами и материалом. Но я надеялся, что существует более точное решение. Я считал, что для Windows, H2testw добивается цели. Существует ли простой способ протестировать это на Ubuntu/Linux? Специализированный, хорошо рабочий инструмент, возможно?

Обновление: Только, чтобы быть ясной, идея состоит в том, чтобы проверить, что размер, который система Linux сказана контроллером, корректен (таким образом, никакие данные не будут потеряны). Это не похоже, я хочу видеть, получаю ли я 128 ГБ вместо 127,3 ГБ. Я хочу протестировать, если все данные, которые я пишу, будут читаемы снова. К сожалению, я могу только найти некоторых информацией об этом на английских технических сайтах. Существуют хорошие немецкие источники, все же. Я на самом деле ищу приложение как те, но для Ubuntu/Linux: https://www.raymond.cc/blog/test-and-detect-fake-or-counterfeit-usb-flash-drives-bought-from-ebay-with-h2testw/

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

Update3: объяснения

Из-за странных критиков ниже, некоторые объяснения.

Какова проблема и почему делает dd один не, решают его?

Это - реакция на

"Очевидно фигура, что является проблемой, которую Вы пытаетесь решить и что является определением "поддельного диска"".

Кажется, что некоторые люди не понимают проблемы. Таким образом, я пытаюсь объяснить это как короткое, как я могу в деталях, хотя я думаю, что это очень к расширению моего вопроса.

Мощность USB-устройств, которые Ваша операционная система или инструменты Unix дают Вам, может быть неправильным. Это является фатальным, так как Ваша ОС регулирует, в какое количество данных можно отправить ее. Отправьте больше данных, чем они могут действительно содержать, Вы получите потерю данных. Это - проблема. Так, почему это может произойти?

Вы не должны знать Протокол USB хорошо к unterstand проблема. Последовательные интерфейсы имеют общую собственность, что клиентское устройство (карта памяти) должно будет сказать свою собственную способность через этот последовательный интерфейс. Это означает, что клиентскому устройству нужен свой собственный контроллер с некоторым знанием о цели устройств и, в этом случае, это - способность. Это также решает то, что сделано, когда это получает команду для хранения чего-то. Если контроллер программируется тот путь, он может просто проигнорировать команду или перезаписать что-то с данными.

Что это означает? Независимо от того, что Ваши инструменты Unix говорят Вам о мощности диска: это - то, что инструменты спросили диск, ничто больше. Это - то, для чего был изобретен h2testw: Это тестирует реальный размер с методом, объясненным позже, и сравнивает его с тем, что говорит диск. Если это не то же, у Вас может быть потеря данных, потому что все Ваши общие операции, чтобы хранить данные, полагайтесь на информацию своей операционной системы, которая просто спрашивает контроллер. Почему просто спрашивают? Тестирование времени потребностей и перезаписей все данные по диску. Таким образом, естественно, что Операционная система должна полагаться на эту информацию.

Для проверки реальной способности как h2testw действительно можно использовать dd для записи данных по диску считайте его снова и посмотрите, является ли это то же, Вы записали. Полностью законный. Природа аппаратных средств и диска делает это более сложным. Рассмотрите кэши записи, например. Необходимо удостовериться, чтобы Вы не читали из кэша. Это - всего один пример того, почему это не столь легко, как это смотрит. Также думайте, что просто запись нулей означает низкую энтропию информации, которая может быть восстановлена при чтении. Это просто не настолько легко подробно. Можно все еще сделать это вручную, конечно.

Но почему, когда можно автоматизировать вещи? Почему к работе? f3, как предложено в моем ответе ниже, тонны реализаций мыслей о многих участниках (полагайте, что он отчасти расширил h2testw) и это также реализует несколько методов с различными компромиссами. Разработчик выяснил приемы различных поддельных дисков (иначе поддельные диски), они имели под рукой. Так, в то время как я понимаю теорию и проблему (по-видимому, так как проблемы хорошо объяснены в немецких технических медиа, но не в англоязычных медиа), я не симулирую понимать все, которое является, почему я упомянул выше ее. Это - просто теория, которую я понимаю, и я - больше парня программного обеспечения. Но как студент информатики я понимаю это достаточно хорошо для наблюдения проблемы.

"Попытайтесь понять основные утилиты Unix"

На самом деле я уже ответил на этого, но прояснить: инструменты Unix просто используют Протокол USB (для USB-устройств только, конечно) для сбора информации. Не имеет смысла делать больше, чем это.

Это помогает только купить от поставщиков трестов?

tl; доктор: Это не делает.

"Когда дело доходит до покупки товаров, точно так же, как это прибывает в любую форму безопасности, рассматривают нахождение доверяемого продавца и покупают диски только от них".

Безопасность (и безопасность) не о доверии! Это о проверке и проверке! Извините, но это настолько неправильно таким количеством способов.

Предположите, что Вы покупаете через доверяемого продавца. Несколько вопросов:

  1. Поставщик тестировал аппаратные средства, чтобы гарантировать, что нет никакой потери данных? Ре распознает, когда он покупает поддельные диски и продает их? Не обязательно.

  2. Действительно ли возможно, что он покупает материал, который он не знает, фальшивка? Полностью, посмотрите на недавние фальшивки ryzen: https://www.pcgamer.com/beware-of-fake-ryzen-processors-selling-on-amazon/, https://www.heise.de/newsticker/meldung/Direkt-von-Amazon-Faelschungen-von-AMDs-Ryzen-Prozessoren-im-Umlauf-3772757.html

  3. Если я буду освобождать свою презентацию в диске и завинчу презентацию, то мой доверяемый поставщик возвратится вовремя и спасет меня? Это, вероятно, заменит диск, начиная с последнего путешествия во времени, DeLorean был уничтожен в 1885.

Другой материал

"Этот вопрос действительно, кажется, больше похож на "объявление" для того, что OP любит и кажется, что OP намного меньше интересуется фактическим тестированием дисков".

Это смешно. Я искал специально для подобного инструмента на h2testw, который также работает на Linux. И да, это - то, что я "хотел" бы, полезный ответ, очень жаль. Я понятия не имел, что англоязычное нажатие не это знающее о таких проблемах и посчастливилось найти что-то как этот позже. Это не объявление, но на самом деле кажется, что Вы могли использовать тот.

26
задан 15 March 2019 в 00:38

3 ответа

f3 - Борьба с мошенничеством со вспышкой

Я нашел только одну альтернативу, но я думаю, что она даже лучше, чем оригинальный инструмент h2testw для MS Windows. К счастью, его действительно легко использовать даже из командной строки. Тем не менее, есть доступные графические интерфейсы. Также на веб-сайте инструментов много информации о реализации и проблемах с поддельными дисками.

f3 предлагает два метода:

  • f3probe метод: намного быстрее
  • h2testw метод: медленнее. Также проверьте производительность R / W. Вероятно, более надежный.

Метод f3probe (рекомендуется)

f3probe - один из способов проверки накопителей, не такой точный, но более быстрый, поскольку он не записывает данные на весь накопитель. Вы можете прочитать больше об этом на веб-сайте инструментов. Если вы хотите быть уверены на 100%, лучше используйте метод h2testw. Как описывает разработчик на сайте:

f3probe - это самый быстрый способ определить поддельные диски и их реальные размеры.

И:

Наконец, благодаря тому, что f3probe является свободным программным обеспечением, а после того, как f3probe станет проверенным в бою, f3probe может быть встроен в смартфоны, камеры, MP3-плееры и другие устройства для раз и навсегда прекратить распространение фальшивой вспышки.

На веб-сайте также имеется пример использования:

Предупреждение : это уничтожит все ранее сохраненные данные на вашем диске!

$ sudo f3probe --destructive --time-ops /dev/sdb
[sudo] password for michel: 
F3 probe 6.0
Copyright (C) 2010 Digirati Internet LTDA.
This is free software; see the source for copying conditions.

WARNING: Probing may **demolish data,** so it is more suitable for flash drives out of the box, without files being stored yet. The process 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=16477878 /dev/sdb

Device geometry:
             *Usable* size: 7.86 GB (16477879 blocks)
            Announced size: 15.33 GB (32155648 blocks)
                    Module: 16.00 GB (2^34 Bytes)
    Approximate cache size: 0.00 Byte (0 blocks), need-reset=yes
       Physical block size: 512.00 Byte (2^9 Bytes)

Probe time: 1'13"
 Operation: total time / count = avg time
      Read: 472.1ms / 4198 = 112us
     Write: 55.48s / 2158 = 25.7ms
     Reset: 17.88s / 14 = 1.27s

Обратите внимание, что он также возвращает команду, которая позволяет использовать диск с его реальным размером, используя f3fix.

Утилита f3fix

f3fix создает раздел, который соответствует фактическому размеру поддельного диска. Используйте выходные данные f3probe для определения параметров для i3fix

    sudo f3fix --last-sec=16477878 /dev/sdb

Метод h2testw / Тестирование производительности с помощью f3read / f3write

F3 представляет собой набор инструментов, которые обрабатывают с поддельными флешками. Два из них вместе реализуют метод h2testw -Method:

f3write [--start-at=NUM] [--end-at=NUM] <PATH>
f3read  [--start-at=NUM] [--end-at=NUM] <PATH>

f3write будет запрашивать заявленный размер устройства и заполнять его сгенерированными файлами размером 1 ГБ каждый. f3read прочтет все эти файлы и увидит, что они завершены и не сломаны. В качестве примера команды, которые я использовал для проверки моего жесткого диска ~ 128 ГБ:

$ f3write /media/username/1EB8021AB801F0D7/
Free space: 117.94 GB
Creating file 1.h2w ... OK!                           
...
Creating file 118.h2w ... OK!                         
Free space: 0.00 Byte
Average writing speed: 11.67 MB/s

Теперь, чтобы проверить, правильно ли хранятся файлы:

$ f3read /media/username/1EB8021AB801F0D7/
                  SECTORS      ok/corrupted/changed/overwritten
Validating file 1.h2w ... 2097152/        0/      0/      0
...
Validating file 118.h2w ... 1979488/        0/      0/      0

  Data OK: 117.94 GB (247346272 sectors)
Data LOST: 0.00 Byte (0 sectors)
           Corrupted: 0.00 Byte (0 sectors)
    Slightly changed: 0.00 Byte (0 sectors)
         Overwritten: 0.00 Byte (0 sectors)
Average reading speed: 32.38 MB/s

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

Установите в Ubuntu

На терминале:

sudo apt install f3

Это принесет вам: f3brew, f3fix, f3probe, f3read, f3write с их справочные страницы.

Эти инструменты являются частью пакета f3, который по крайней мере доступен в Ubuntu 15.10. Согласно веб-сайту, есть еще несколько инструментов, которые доступны. Чтобы получить их, взгляните на веб-сайт.
Пакет поставляется с короткими, но полезными справочными страницами, хотя я думаю, что они упускают некоторую информацию с веб-сайта, например, о разнице f3read / write и f3probe, поэтому этот ответ стал немного длиннее.

30
ответ дан 23 November 2019 в 01:10

Я записал простой инструмент для просто, что, он звонил CapacityTester (снимок экрана) , и он имеет GUI, а также CLI.

существует предварительно скомпилированный двоичный файл для Debian 7 доступного для скачивания , который, очень вероятно, будет работать из поля над современной системой Ubuntu.

я записал это для своего собственного персонального использования, потому что я не мог найти графический инструмент с этой целью. Просто необходимо смонтировать пустую карту флэш-памяти с интерфейсом USB сначала, выбрать его и запустить тест. Это - очень макетный инструмент, потому что все, что это делает, заполнить диск файлами и затем проверить, что данные по диску корректны. Это прервет тест на первой ошибке (запись или чтение/проверка). Это сообщит о смещении блока, который не мог быть записан или проверен успешно, но это - логическое смещение, таким образом, эта информация может быть бесполезной, потому что это зависит от файловой системы, где файлы расположены на диске. Однако, когда диск был заполнен данными, и все могло быть считано и проверено, должно быть безопасно предположить, что мощность диска, о которой сообщают, корректна. Как примечание стороны, тестовые файлы автоматически удалены (это не может работать, если диск плох).

Снова, это очень просто, поскольку это только работает с файлами сверху существующей файловой системы. Таким образом, существует некоторый КБ (+ 1M буфер), который не может быть протестирован. И это очень медленно, потому что это действительно заполняет целую файловую систему. F3, конечно, намного более сложен и также быстрее, но он не имеет никакого GUI. Единственная причина CapacityTester существует, состоит в том, потому что он имеет GUI так, чтобы он мог использоваться пользователями, которые не знакомы с командной строкой или кто просто предпочитает GUI.

Обратная связь ценится.

4
ответ дан 23 November 2019 в 01:10

Обращение к поведению OP и "поддельному диску"

Я редактирую ответ для надлежащего обращения к нескольким точкам, так как OP был очень неистовым (и по-моему, выступая против большинства комментариев и ответов кроме их собственного, которое я нахожу подозрительными). Особенно, существует большое требование, там существуют "поддельный диск", но нет никакого четкого определения относительно того, что на земле, которая на самом деле означает. OP заявила:

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

OP самостоятельно признал, что они "могли просто скопировать материал", и проверить целостность данных, но были очень против всех других комментариев и отвечают, что предлагают что-либо еще, и OP только продолжал продвигать F3 как "реальное соглашение". Сам вопрос сначала начался о размере диска, но затем OP по любой причине упомянул хеши, чтобы "посмотреть, если файлы в порядке", как будто существуют таинственные диски, которые требуют одного размера и позволяют Вам записать, что размер, но затем данные повреждены. Поэтому я нахожу это очень подозрительным и рассмотрел бы OP, продвигающий F3 как вопрос о спаме и ответ.

Когда диск является на самом деле поддельным диском

В вопросе очевидное определение OP

".. диски, которые утверждают, что имели много пространства (часто несомый слишком далеко, как 128 ГБ), при физическом предложении только 0,5 4 ГБ".

Другими словами, согласно OP, контроллер требует X объемов данных, но USB может только содержать что-то как на 80-90% меньше того, что требуется.

Пользователь sudodus предложенный в комментариях (добавленный акцент): "Я нашел, что несколько USB pendrives немного меньше, чем номинальный размер. Я называю их карликовыми. Я думаю, что поддельные диски являются 'существенно карликовыми' (обычно половина номинального размера или меньше)". Это определение является большим, однако если мы берем это, фальсифицируем диск, определяется в 50%. Диск, который требует 64 ГБ, но может только содержать 32 ГБ, технически освобождает половину своего значения владельцу, и владелец только может поместить половину того, что они предназначили на диск.

Я предлагаю более простое определение: поддельное устройство хранения является тем, которое утверждает, что имело Claimed Size но ниже 15%-го допуска (и допуск Claimed Size ± 15 %).

± 15 % очень разумно. Полагайте также, что пользователи обычно смущаются между Unix, IEEE и организациями IEC с помощью двоичного префикса вместо питания 10 префиксов для размера хранения данных. Различие входит в 20% на yotta уровне префикса, однако Карты памяти еще не там, таким образом, в течение, возможно, следующих 20 лет 15 процентов разумны. (См., что askubuntu вопрос "Означает 'меня' в 'мебибайт'" и Двоичном Префиксе),

Тестирование диска

Эффективно, пользователю не нужны никакие специальные инструменты, в стороне что уже идет с Ubuntu и самыми совместимыми POSIX системами Unix. Давайте подчеркнем и перефразируем определение снова:

Если мы не можем записать объем данных для управления и что мы пишем, в рамках 15%-го допуска, то диск в порядке

он простой способ сделать это с dd, просто перезапишите устройство с нулями (и конечно не забудьте сохранить свои файлы, прежде чем Вы сделаете это).

sudo dd if=/dev/zero of=/dev/sdb1 iflag=nocache oflag=direct bs=1                        

Отметьте bs=1 для размера блока 1 байта. dd команда обычно дает отчет относительно того, сколько записано.

$ dd if=/dev/zero of=/dev/null bs=1 count=1024
1024+0 records in
1024+0 records out
1024 bytes (1.0 kB, 1.0 KiB) copied, 0.00261981 s, 391 kB/s

Мы попросили, чтобы это записало 1 024 байта, это записало 1 024 байта.

Более точный список шагов, придерживающихся определения, был бы:

  • Фигура, сколько данных требования диска (предполагающий, что Вы подозреваете df быть "ошибочным"). В этом примере, позволяет, принимают /dev/sdb1 мой файл устройств для Карты памяти:

    $ df -P /dev/sdb1 | awk 'NR==2{print $2}'
    115247656
    

    Отметьте это -P флаг для мобильности POSIX, что означает, что размер блока данных составит 1 024 байта, и это означает, что на том диске существует 115247656*1024 байта.

  • Фигура, что является 15%-м допуском ниже того, чего диск требует (115247656), возможно, используйте утилиту, которая поддерживает вычисление с плавающей точкой такой как awk :

     $ awk 'BEGIN{printf "%d\n",115247656*(1-0.15)}'
     97960507
    
  • Создайте случайные данные по жесткому диску того же размера как диск на предыдущем шаге для использования в качестве сравнительного теста: dd if=/dev/urandom of=./mytestfile.random bs=1024 count=97960507

  • Теперь запишите данные dd if=./mytestfile.random of=/dev/sda1. Если диск может содержать это очень, это "реально". Можно также взять md5sum или sha1sum из ./mytestfile.random и сравните /dev/sda1 теперь. Еще лучшее улучшение должно было бы записать mytestfile.random к точке монтирования файла, таким образом сохраняя файловую систему на диске и не изменяя разделение диска, другими словами

    dd if=./mytestfile.random of=/mountpoint/for/usb/drive/testfile.random
    
  • Для целостности затем, можно просто сделать любую проверку hashsum, такой как md5sum, sha1sum, sha256sum или другие. Например,

    md5sum ./mytestfile.random  /mountpoint/for/usb/drive/testfile.random
    

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

Все это может быть помещено в хороший сценарий для удобства, если один так требует.

Заключение

Этот вопрос действительно, кажется, больше похож на "объявление" для того, что OP любит и кажется, что OP намного меньше интересуется фактическим тестированием дисков. Кроме того, сама проблема является более человеческой, чем проблема "диска". В комментариях OP самих указал, что они действительно не понимают поведения USB, но являются неистовыми для обвинения "контроллера". Я оставлю этот вопрос с 3 точками:

  • Очевидно фигура, что является проблемой, которую Вы пытаетесь решить и что является определением "поддельного диска".
  • Попытайтесь понять основные утилиты Unix
  • Когда дело доходит до покупки товаров, точно так же, как это прибывает в любую форму безопасности, рассматривают нахождение доверяемого продавца и покупают диски только от них.
-6
ответ дан 23 November 2019 в 01:10

Другие вопросы по тегам:

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