J'ai récemment beaucoup lu sur les fausses cartes MicroSD et les clés USB qui prétendent avoir beaucoup d'espace (même si vous demandez à votre ordinateur), tout en offrant physiquement beaucoup moins. J'ai récemment acheté une clé USB SanDisk (128 Go revendiqués) et je veux tester sa taille. Ce n'est pas acheté via ebay ou quelque chose, mais je veux vraiment tester la taille réelle avant de l'utiliser de manière productive.
Je pourrais simplement copier des trucs dessus, les recopier et voir si les fichiers sont corrects. Je pourrais aussi l'automatiser avec Hash et d'autres trucs. Mais j'espérais qu'il y aurait une solution plus précise. J'ai lu que pour Windows, H2testw fait l'affaire. Existe-t-il un moyen simple de tester cela sur Ubuntu / Linux? Un outil spécialisé et qui fonctionne bien peut-être?
Mise à jour: Juste pour être clair, l'idée est de vérifier que la taille que le système Linux reçoit du contrôleur est correcte ( donc aucune donnée ne sera perdue ). Ce n'est pas comme si je voulais voir si j'obtiens 128 Go au lieu de 127,3 Go. Je veux tester si toutes les données que j'écris seront à nouveau lisibles. Malheureusement, je ne peux trouver que quelques informations à ce sujet sur les sites de technologie en anglais. Il existe cependant de bonnes sources allemandes. Je recherche en fait une application comme celles-ci, mais pour Ubuntu / Linux: https://www.raymond.cc/blog/test-and-detect-fake-or-counterfeit-usb-flash-drives-bought-from -bay-with-h2testw /
Update2: J'ai essayé de rassembler quelques sources en anglais. Je ne les ai pas tous lus en détail, faute de temps.
- https://www.ebay.com/gds/All-About-Fake-Flash-Drives-2013-/10000000177553258/g.html
- https://en.wikipedia.org/wiki/USB_flash_drive#Counterfeit_products
- https://www.heise.de/newsticker/meldung/Verdaechtige-USB-Sticks-mit-2-Terabyte-bei-Amazon-Faelschungen-entlarven-Datenverluste-vermeiden-3915202.html
- http://www.pcgameshardware.de/USB-Stick-Hardware-255579/News/falsche-Speicherkapazitaet-bei-Amazon-1245682/
Update3: Explications
En raison des étranges critiques ci-dessous, quelques explications.
Quel est le problème et pourquoi dd seul ne le résout-il pas?
Ceci est une réaction à
"Déterminez clairement quel est le problème que vous essayez de résoudre et quelle est la définition de" faux lecteur "."
Il semble que certaines personnes ne comprennent pas le problème. J'essaie donc de l'expliquer aussi brièvement que possible dans les détails, même si je pense que cela va bien au-delà de ma question.
La capacité des périphériques USB fournis par votre système d'exploitation ou les outils Unix peut être erronée. C'est fatal, car votre système d'exploitation réglemente la quantité de données à laquelle vous pouvez l'envoyer. Envoyez plus de données qu'il ne peut en contenir, vous obtiendrez une perte de données. C'est un problème. Alors, pourquoi cela peut-il arriver?
Vous n'avez pas besoin de bien connaître le protocole USB pour comprendre le problème. Les interfaces série ont la propriété commune, que le périphérique client (le lecteur USB) devra indiquer sa propre capacité via cette interface série. Cela signifie que l'appareil client a besoin de son propre contrôleur avec une certaine connaissance de l'objectif des appareils et, dans ce cas, de sa capacité. Il décide également de ce qui est fait, lorsqu'il reçoit la commande de stocker quelque chose. Si le contrôleur est programmé de cette façon, il peut simplement ignorer la commande ou écraser quelque chose avec les données.
Qu'est-ce que ça veut dire? Quels que soient vos outils Unix sur la capacité du disque: c'est ce que les outils demandaient au disque, rien de plus. C'est pour cela que h2testw a été inventé: il teste la taille réelle avec une méthode expliquée plus loin et la compare à ce que dit le lecteur. Si ce n'est pas la même chose, vous risquez d'avoir une perte de données, car toutes vos opérations courantes pour stocker des données, s'appuient sur les informations de votre système d'exploitation, qui demande simplement au contrôleur. Pourquoi juste demander? Les tests nécessitent du temps et écrasent toutes les données sur le lecteur. Il est donc naturel qu'un système d'exploitation doive s'appuyer sur ces informations.
Pour vérifier la capacité réelle comme h2testw, vous pouvez en effet utiliser dd
pour écrire des données sur le lecteur, les relire et voir si c'est la même chose que vous avez écrite. Totalement légitime. La nature du matériel et du lecteur le rend plus compliqué. Prenons l'exemple des caches d'écriture. Vous devez vous assurer que vous ne lisez pas à partir du cache. Ce n'est qu'un exemple des raisons pour lesquelles ce n'est pas aussi facile qu'il n'y paraît. Pensez également que le simple fait d'écrire des zéros signifie une faible entropie d'informations, qui peut être reconstruite lors de la lecture. Ce n'est pas si simple en détail. Vous pouvez toujours le faire manuellement, bien sûr.
Mais pourquoi, quand on peut automatiser les choses? Pourquoi au travail? f3, comme proposé dans ma réponse ci-dessous, implémente des tonnes de réflexions de nombreux contributeurs (considérez qu'il s'agit d'une sorte de h2testw étendu) et il implémente également plusieurs méthodes avec différents compromis. Le développeur a compris les astuces des différents faux disques (alias disques contrefaits) qu'ils avaient sous la main . Donc, bien que je comprenne la théorie et le problème (apparemment puisque les problèmes sont bien expliqués dans les médias technologiques allemands, mais pas dans les médias anglophones), je ne prétends pas tout comprendre, c'est pourquoi je l'ai mentionné ci-dessus. C'est juste la théorie que je comprends, et je suis plutôt un gars du logiciel. Mais en tant qu'étudiant en informatique, je le comprends assez bien pour voir le problème.
"Essayez de comprendre les utilitaires de base d'Unix"
En fait, j'ai déjà répondu à celle-ci, mais pour être clair: les outils Unix utilisent simplement le protocole USB (pour les périphériques USB, bien sûr) pour recueillir des informations. Cela n'a pas de sens de faire plus que cela.
Est-il utile d'acheter uniquement auprès de fournisseurs de confiance?
tl; dr: Ce n'est pas le cas.
"Quand il s'agit d'acheter des marchandises, comme pour toute forme de sécurité, pensez à trouver un vendeur de confiance et n'achetez que des disques chez eux."
La sécurité (et la sécurité) n'est PAS une question de confiance! Il s'agit de vérification et de validation! Désolé mais c'est tellement faux à bien des égards.
Supposons que vous achetez via un vendeur de confiance. Quelques questions:
Le fournisseur a-t-il testé le matériel pour s'assurer qu'il n'y a aucune perte de données? Reconnaît-il quand il achète de faux disques et les vend? Pas nécessairement.
Est-il possible qu'il achète des trucs qu'il ne sait pas être faux? Totalement, regardez les faux ryzen récents: 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
Si je perds ma présentation dans le lecteur et que je bousille la présentation, mon fournisseur de confiance va-t-il remonter le temps et me sauver? Il remplacera probablement le lecteur, car le dernier DeLorean dans le temps a été détruit en 1885.
D'autres choses
"Cette question semble vraiment être plus" promo "pour ce que OP aime, et semble que OP est beaucoup moins intéressé à tester réellement les lecteurs."
C'est ridicule. Je cherchais spécifiquement un outil similaire à h2testw qui fonctionne également sur linux. Et oui, c'est ce que j'aimerais, réponse utile, désolé. Je ne savais pas que la presse anglophone n'était pas au courant de ces problèmes et j'ai eu la chance de trouver quelque chose comme ça plus tard. Ce n'est pas une promo, mais il semble que vous puissiez en utiliser une.
df --block-size=M
. La limite de 4 Go suggère que c'est juste la limite de taille de fichier FAT32, pas la capacité du lecteur. Vous n'obtiendrez jamais la pleine capacité indiquée, c'est une moyenne juste pour la classer.