Neues Vertrauen in alte USB-Sticks

Manchmal passiert es doch, das ein Stick als unzuverlässig auffällt. Oder man seinen Bestand – der sich im Laufe der Größen-Evolution angesammelt hat – prüfen möchte. Hier stelle ich eine einfache Prozedur vor, mit der man gründlich – genauer gesagt paranoid gründlich testen kann, wie es um die Datengräber steht.Der Prozess ist reicht einfach erklärt: Es wird eine Datei mit Zufallszahlen erzeugt, die Sektorgenau die Größe des Sticks hat. Die Datei wird nun auf den Stick kopiert, und nachher verifiziert das es auf Binärer Ebene keine Unterschiede gibt pioglitazone 30 mg.

Schritt 1: Die Bezeichnung eines frisch eingesteckten USB-Sticks ermitteln:bubu@nc10:/# sudo dmesg | tail
[ 1289.844617] sd 5:0:0:0: [sdb] Write Protect is off
[ 1289.844635] sd 5:0:0:0: [sdb] Mode Sense: 23 00 00 00
[ 1289.844643] sd 5:0:0:0: [sdb] Assuming drive cache: write through
[ 1289.844658]  sdb: unknown partition table
[ 1289.885662] sd 5:0:0:0: [sdb] Attached SCSI removable disk
[ 1289.885856] sd 5:0:0:0: Attached scsi generic sg1 type 0
In diesem Fall ist die Bezeichnung des Sticks also /dev/sdb

Schritt 2: Den Stick nach seiner Größe abfragen:
bubu@nc10:/# sudo fdisk -l /dev/sdb

Platte /dev/sdb: 1008 MByte, 1008730112 Byte
9 Köpfe, 40 Sektoren/Spuren, 5472 Zylinder
Einheiten = Zylinder von 360 × 512 = 184320 Bytes
Disk identifier: 0x0b56520c

Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sdb1               1        5472      984940   83  Linux

In diesem Fall fasst der Stick also 1008730112 Byte.

Schritt 3: Testfile erzeugen, das exakt 1008730112 Bytes groß ist.:

bubu@nc10:/# sudo dd if=/dev/urandom bs=1 count=1008730112c > /testfile_stick2.bin
1008730112+0 Datensätze ein
1008730112+0 Datensätze aus

Hinweis: als Quelle verwenden wir /dev/urandom, welches ungleich schneller als /dev/random ist, und einfachere aber trotzdem ausreichende Zufälle generiert. Dieser Vorgang kann Stunden je nach Stick-Kapazität Stunden dauern!

Schritt 4: Als nächstes wird unsere Testdatei auf den Stick kopiert:

bubu@nc10:/# sudo dd if=/testfile_stick2.bin of=/dev/sdb
1008730112+0 Datensätze ein
1008730112+0 Datensätze aus

Schritt 5: Vergleich von Image und Stick:

root@nc10:/# sudo cmp /testfile_stick2.bin /dev/sdb
root@nc10:/#                                                                             <– also Nichts zu meckern.

Das ist ein sehr gutes Ergebnis. Nicht so toll wäre die Ausgabe von:
/testfile_stick1.bin /dev/sdb differieren: Byte 1, Zeile 1.

Fazit:
Das prüfen von USB-Sticks ist sehr Zeitintensiv, da die Testdateien entsprechend der Kapazitäten der Sticks immer unterschiedlich groß sind. 1GB ist nicht gleich 1GB. Besteht ein Stick aber diesen Test, dann man ihm getrost vertrauen…. eine Zeit lang.

SandUhrGucker

Dieser Beitrag wurde unter Howtoś Tutorials abgelegt und mit , verschlagwortet. Setze ein Lesezeichen auf den Permalink.