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