Ich habe diese Anweisungen von DebianEeePC HowTo InstallUsingStandardInstaller im Debian-Wiki befolgt , um eine Debian-ISO auf meinen USB zu schreiben.
dd if=debian-*-netinst.iso of=/dev/sdX
Mit sha1sum
kann ich die Prüfsummen meiner heruntergeladenen ISO-Datei überprüfen. Wie kann ich die Prüfsumme des USB-Sticks überprüfen, um sicherzustellen, dass der USB-Stick keine Probleme hat und die ISO perfekt kopiert wurde?
filesystems
usb
checksum
Dorf
quelle
quelle
Antworten:
Sie können
cmp
damit überprüfen, ob alles einwandfrei kopiert wurde:Diese Lösung berechnet nicht explizit die Prüfsumme von Ihnen
/dev/sdX
- aber Sie müssen dies nicht tun, da Sie dies bereits für die Quelle des Vergleichs getan haben (dhdebian-X-netinst.iso
).Wenn Sie nur a ausführen,
dd if=/dev/sdX | sha1sum
kann dies zu einer falsch übereinstimmenden Prüfsumme führen, nur weil Sie nachfolgende Blöcke erhalten (/dev/sdX
wahrscheinlich größer als die ISO-Datei).Stellen
cmp -n
Sie sicher, dass keine nachgestellten Bytes auf Ihrem/dev/sdX
verglichen werden.Wenn Sie in Bezug auf die Qualität Ihres von Ihnen aufgerufenen USB-Massenspeichergeräts paranoid sind
sync
, werfen Sie es aus, setzen Sie es erneut ein und führen Sie dann den Vergleich durch - andernfalls stammen möglicherweise alle oder einige Blöcke nur von der Kernel-VM (Cache) -, wenn in Wirklichkeit möglicherweise Bits vorhanden sind auf der Hardware sind vermasselt.quelle
Juliens Antwort macht den Job, aber es gibt einen einfacheren und schnelleren Weg, dies zu tun:
quelle
head -c $(stat -c '%s' the.iso) /dev/sdc | sha1sum
Es reicht aus, nur
dd
undmd5sum
/ zu verwendensha1sum
, aber wie bereits erwähnt, seien Sie vorsichtig, Ihr Gerät hat nicht die gleiche Größe wie Ihre Datei, sodass die Summen unterschiedlich sind.Hier, wie Sie es noch tun können
Zuerst müssen Sie die Größe der Datei kennen:
Um mit Ihren Syscalls cool zu sein, sollten Sie dies als Vielfaches einer schönen Zweierpotenz erhalten
4096
. Die Multiplikation der beiden MUSS genau die Größe der Datei ergeben. Auf andere Weise überprüfen Sie zu wenig oder zu viele Bytes, was zu einer falschen Prüfsumme führt.Ich bin glücklich,
4096 × 244992 = 1003487232
also ist 4096 gut für mich (und wird es wahrscheinlich für Sie tun), damit ich eine Blockgröße von4096
(typisch) und eine Blockanzahl von verwenden kann244992
.Vergessen Sie nicht, die Datei auf den USB-Stick zu schreiben ...
Und wissen Sie, dass Sie anhand der bekannten Blockgröße und der Blockanzahl die genaue Anzahl der Bytes aus dem Schlüssel ablesen und überprüfen können:
(Ja
md5sum
ist viel schneller als,sha1sum
aber das ist hier eindeutig nicht Ihr Engpass. Der Engpass ist der USB-Durchsatz, danke, dass Sie es bemerkt haben.)Oder kurz gesagt:
quelle
$ dd if=/dev/sdb1 bs=4096 count=<filesize/4096> | md5sum
konnte ich die md5sum eines Debian-Bildes überprüfen, das auf einen USB-Stick geschrieben wurde, und es mit Debian md5sums vergleichen.Basierend auf der Antwort von @Kyle Jones
Sie sollten verwenden,
md5sum
weil es schneller ist alssha1sum
(dies spart Zeit, wenn Sie große Dateien überprüfen)quelle
md5sum
ist mindestens doppelt so schnell? Es muss sein, dass das OP bereits dassha1sum
von der Download-Site hat und das nicht berechnen muss. Und das Lesen von USB wird ein begrenzender Faktor sein, nicht die sha1 / md5-Berechnung.