Ich habe eine physisch gebrannte CD und das Original-ISO-Image davon. Für den CD-Inhalt wurden keine Referenzprüfsummen-Dateien bereitgestellt. Wie überprüfe ich, ob die tatsächliche CD korrekt (entspricht dem Originalbild) und vollständig lesbar ist?
10
md5sum
selbst ausführen und vergleichen, wenn Sie die CD / DVD nicht starten möchten.Antworten:
Zuerst rippen Sie Ihre CD in eine temporäre Datei:
Dann prüfen Sie, ob
copy.iso
undorig.iso
haben die gleiche Größe, zum Beispiel mit:Wenn die Größe identisch ist, ist es einfach:
Ich habe jedoch festgestellt, dass die Größe in bestimmten Fällen geringfügig abweichen kann, da entweder in der Kopie oder im Originalbild nachgestellte Nullen vorhanden sind. Zum Beispiel, wenn
copy.iso
kleiner alsorig.iso
:Natürlich sollten Sie auch überprüfen, ob die nachfolgenden Bytes nur Nullen sind:
Die erste Zeile mit Ausnahme des Versatzes sollte nur Nullen sein. Die zweite Zeile sollte ein Sternchen sein. Das Sternchen soll vermeiden, dass aufeinanderfolgende identische Zeilen angezeigt werden.
quelle
head -c $(stat -c %s /path/to/master.iso) /dev/sr0 | sha1sum
vermeiden, dass Sie ein Image der gebrannten CD erstellen müssen.Wenn die ISO-Datei dieselbe ist, die zum Brennen der CD verwendet wurde, sind hier meine beiden Favoriten:
Vergleicht das aufgenommene Bild mit der Bilddatei. Wenn Sie sich etwas masochistischer fühlen, können Sie Folgendes ausprobieren:
und vergleichen Sie die Signaturen. Dies ist nützlicher, wenn Sie die SHA1-Summe bereits irgendwo haben. Beide Befehle lesen das Medium bis zum Ende.
Wenn Sie es so machen möchten, wie es @ Marki555 vorschlägt, sollten Sie zuerst sowohl das optische Laufwerk als auch das Image mounten. Hier ist ein vollständiges Skript: (Sie können natürlich auf das verzichten,
sudo
wenn Sie root sind - eine schlechte Idee im Allgemeinen)quelle
cmp [-l]
ist besser für Binärdateien geeignet. Diff funktioniert am besten mit Text.Wenn Sie noch über die ISO verfügen, können Sie diese byteweise mit vergleichen
cmp
. Es ist ein Befehl, der einfach genug ist und bei dem ersten festgestellten Unterschied beendet wird. Es ist also erheblich schneller als eine Prüfsumme zu erstellen, wenn tatsächlich frühzeitig ein Fehler auftritt.Mögliche Ergebnisse für den Erfolg:
&& echo OK
an den Befehl anhängen , wenn Sie der Mangel an Ausgabe verwirrt.cmp: EOF on cdrom.iso
: Es ist identisch, aber das CD-ROM hat mehr Bytes als Ihre ISO-Datei. Dies ist normalerweise auf eine Nullpolsterung am Ende des CD-ROM zurückzuführen. Da dies in der Praxis keine Rolle spielt, ist es immer noch ein Erfolg.Mögliche Ergebnisse bei Misserfolg:
cmp: EOF on /dev/cdrom
: Aus irgendeinem Grund sind die Daten auf Ihrer CD-ROM unvollständig. Möglicherweise war Ihre ISO zu groß, um auf eine echte CD zu passen./dev/cdrom cdrom.iso differ: byte 18296321, line 71780
: Es gibt einen unerwarteten Unterschied zwischen Ihrer CD-ROM und Ihrem ISO-Image.quelle
Sie können überprüfen, ob die CD vollständig lesbar ist, indem Sie
dd
(zum Beispieldd if=/dev/cdrom of=/dev/null
) verwenden. Sie können es jedoch nicht direkt mit einem ISO-Image vergleichen. Jede Software erstellt leicht unterschiedliche ISO-Dateien (möglicherweise unterschiedliche Header oder Auffüllungen), obwohl diese unterschiedlichen ISO-Images alle denselben CD-Inhalt (Verzeichnisstruktur, Dateiattribute und Dateiinhalt) bereitstellen.Sie können also nur die CD mounten, das ISO-Image mounten und es auf Dateisystemebene vergleichen, indem Sie ein Verzeichnisvergleichstool verwenden (sorry, ich habe noch kein Linux verwendet).
quelle
diff -r
vergleicht den Verzeichnisinhalt rekursiv.Brasero kann das: Tools -> Integrität prüfen ...
quelle