Di recente ho letto molto su false schede MicroSD e chiavette USB che affermano di avere molto spazio (anche se chiedi al tuo computer), offrendo fisicamente molto meno. Di recente ho acquistato un'unità USB SanDisk (dichiarata 128 GB) e voglio testarne le dimensioni. Non viene acquistato tramite ebay o qualcosa del genere, ma voglio davvero testare le dimensioni reali prima di usarlo in modo produttivo.
Potrei semplicemente copiare roba su di esso, copiarlo indietro e vedere se i file sono a posto. Potrei anche automatizzarlo con hash e roba del genere. Ma speravo che ci fosse una soluzione più accurata. Ho letto che per Windows, H2testw fa il trucco. C'è un modo semplice per testarlo su Ubuntu / Linux? Uno strumento specializzato e ben funzionante forse?
Aggiornamento: giusto per essere chiari, l'idea è quella di verificare che la dimensione che il sistema linux viene comunicato dal controller sia corretta ( quindi nessun dato andrà perso ). Non è che voglio vedere se ottengo 128 GB invece di 127.3 GB. Voglio verificare se tutti i dati che scrivo saranno nuovamente leggibili. Sfortunatamente posso trovare solo alcune informazioni al riguardo su siti di tecnologia inglese. Ci sono buone fonti tedesche, però. In realtà sto cercando un'applicazione come quelle, ma per Ubuntu / Linux: https://www.raymond.cc/blog/test-and-detect-fake-or-counterfeit-usb-flash-drives-bought-from -ebay-con-H2testw /
Aggiornamento2: ho provato a mettere insieme alcune fonti in inglese. Non li ho letti tutti in dettaglio, a causa della mancanza di tempo.
- 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/
Aggiornamento 3: spiegazioni
A causa degli strani critici di seguito, alcune spiegazioni.
Qual è il problema e perché dd da solo non lo risolve?
Questa è una reazione a
"Scopri chiaramente qual è il problema che stai cercando di risolvere e qual è la definizione di" unità falsa "."
Sembra che alcune persone non capiscano il problema. Quindi provo a spiegarlo il più brevemente possibile nei dettagli, anche se penso che questo sia molto al limite della mia domanda.
La capacità dei dispositivi USB forniti dal sistema operativo o dagli strumenti unix può essere errata. Questo è fatale, poiché il tuo sistema operativo regola la quantità di dati a cui puoi inviarli. Invia più dati di quanti ne possano realmente contenere, otterrai una perdita di dati. Questo è un problema. Quindi, perché può succedere?
Non è necessario conoscere bene il protocollo USB per risolvere il problema. Le interfacce seriali hanno la proprietà comune, che il dispositivo client (l'unità USB) dovrà comunicare la propria capacità tramite questa interfaccia seriale. Ciò significa che il dispositivo client ha bisogno del proprio controller con una certa conoscenza dello scopo dei dispositivi e, in questo caso, della sua capacità. Decide anche cosa viene fatto, quando riceve il comando di memorizzare qualcosa. Se il controller è programmato in questo modo, può semplicemente ignorare il comando o sovrascrivere qualcosa con i dati.
Cosa significa questo? Qualunque cosa i tuoi strumenti unix ti diano sulla capacità dell'unità: è ciò che gli strumenti hanno chiesto all'unità, niente di più. Questo è ciò per cui è stato inventato h2testw: verifica la dimensione reale con un metodo spiegato più avanti e lo confronta con ciò che dice l'unità. Se questo non è lo stesso, potresti avere una perdita di dati, perché tutte le tue operazioni comuni per archiviare i dati si basano sulle informazioni del tuo sistema operativo, che richiede solo al controller. Perché basta chiedere? I test richiedono tempo e sovrascrivono tutti i dati sull'unità. Quindi è naturale che un sistema operativo debba fare affidamento su queste informazioni.
Per verificare la reale capacità come h2testw, puoi effettivamente utilizzare dd
per scrivere dati sul disco, leggerlo di nuovo e vedere se è lo stesso che hai scritto. Totalmente legittimo. La natura dell'hardware e dell'unità lo rendono più complicato. Considerare ad esempio le cache di scrittura. Devi assicurarti di non leggere dalla cache. Questo è solo un esempio del perché non è così semplice come sembra. Pensa anche che scrivere solo zeri significa una bassa entropia di informazioni, che può essere ricostruita durante la lettura. Non è così semplice nei dettagli. Puoi ancora farlo manualmente, ovviamente.
Ma perché, quando puoi automatizzare le cose? Perché al lavoro? f3, come proposto nella mia risposta di seguito, implementa tonnellate di pensieri di molti partecipanti (considera che è un tipo di h2testw esteso) e implementa anche diversi metodi con diversi compromessi. Lo sviluppatore ha scoperto i trucchi di diverse unità false (ovvero unità contraffatte) che avevano a portata di mano . Quindi, mentre comprendo la teoria e il problema (apparentemente dal momento che i problemi sono ben spiegati nei media tecnologici tedeschi, ma non nei media di lingua inglese), non pretendo di capire tutto, motivo per cui l'ho menzionato sopra. È solo la teoria che capisco e sono più un tipo di software. Ma come studente di informatica lo capisco abbastanza bene da vedere il problema.
"Cerca di capire le utility di base di Unix"
In realtà ho già risposto a questo, ma per chiarire: gli strumenti Unix usano semplicemente il protocollo USB (solo per i dispositivi USB) per raccogliere informazioni. Non ha senso fare di più.
Aiuta a comprare solo da fornitori di fiducia?
tl; dr: non lo fa.
"Quando si tratta di acquistare beni, proprio come per qualsiasi forma di sicurezza, prendere in considerazione la ricerca di un venditore di fiducia e acquistare unità solo da loro."
La sicurezza (e la sicurezza) NON riguarda la fiducia! Si tratta di verifica e validazione! Mi dispiace ma questo è così sbagliato in così tanti modi.
Supponi di acquistare tramite un venditore di fiducia. Alcune domande:
Il fornitore ha testato l'hardware per assicurarsi che non vi siano perdite di dati? Riconosce quando acquista unità false e le vende? Non necessariamente.
È possibile che acquisti cose che non sa essere false? Totalmente, guarda i recenti falsi ryzen: https://www.pcgamer.com/beware-of-fake-ryzen-processors-selling-on-amazon/ , https://www.heise.de/newsticker/meldung/ Direkt-von-Amazon-Faelschungen-von-AMD-Ryzen-Processori-im-Umlauf-3772757.html
Se perdo la mia presentazione nel drive e rovino la presentazione, il mio fornitore di fiducia tornerà indietro nel tempo e mi salverà? Probabilmente sostituirà l'unità, poiché l'ultimo DeLorean in viaggio nel tempo è stato distrutto nel 1885.
Altre cose
"Questa domanda sembra davvero essere più simile a" promozionale "per ciò che piace a OP, e sembra che OP sia molto meno interessato a testare effettivamente le unità."
Questo è ridicolo. Stavo cercando specificamente uno strumento simile a h2testw che funziona anche su Linux. E sì, questo è quello che "mi piacerebbe", risposta utile, quindi mi dispiace. Non avevo idea che la stampa di lingua inglese non fosse così consapevole di tali problemi ed è stato fortunato a trovare qualcosa di simile in seguito. Questo non è un promo, ma in realtà sembra che potresti usarne uno.
df --block-size=M
. Il limite di 4 GB suggerirebbe che è solo il limite della dimensione del file FAT32, non la capacità dell'unità. Non otterrai mai la piena capacità dichiarata, è una media solo per classificarla.