Wie kann ich feststellen, ob eine heruntergeladene ISO vollständig ist?

8

Ich bin gerade auf ein böses Problem mit einem ISO-Download von Microsoft gestoßen. Ich habe es erfolgreich auf eine wiederbeschreibbare DVD gebrannt und den Inhalt auf die lokale Festplatte eines anderen Computers kopiert, aber als ich sie ausführte, waren sie beschädigt. Es stellte sich heraus, dass der Download abgeschnitten wurde.

Nun, OK, manchmal passiert das - aber es überraschte mich, dass die abgeschnittene Datei (die nur etwas mehr als 60% der tatsächlichen ISO ausmachte) erfolgreich brannte und mir ein vernünftiges Dateisystem zu präsentieren schien, soweit ich konnte (anscheinend) die Dateien erfolgreich kopieren.

Gibt es eine Möglichkeit, die Datei zu testen, um festzustellen, ob sie vollständig ist oder nicht? Die MS-Website enthielt keine Informationen zur erwarteten Größe. Daher suche ich nach einer generischen Lösung: Gibt es bei einer ISO-Datei, die möglicherweise abgeschnitten ist oder nicht, eine Möglichkeit, dies festzustellen? Enthalten häufig verwendete CD / DVD-Formate (Datenformate) eingebettete Informationen darüber, wie viele Daten sich auf der Festplatte befinden sollen, oder noch besser eine Art CRC?

Eine Lösung, die die meisten abgeschnittenen Bilder erkennt, wird akzeptiert. Sie muss nicht perfekt sein. (Ich würde jedoch etwas bevorzugen, das keine falsch positiven Ergebnisse liefert.)

[Nachtrag: Ein Vergleich der mit dem abgeschnittenen Image gebrannten Festplatte mit den aus dem vollständigen Image extrahierten Dateien legt nahe, dass Datenblöcke aus vielen Dateien durch zufällige Informationen ersetzt wurden, möglicherweise vom Inhalt eines vorherigen Brennvorgangs zum gleichen wiederbeschreibbaren Datenträger Platte.]

Harry Johnston
quelle
Die meisten Microsoft-ISOs haben eine CRC32-Prüfsumme von 0xFFFFFFFF. Obwohl CRC32 kein kryptografischer Hash ist, ist es dennoch nützlich, um gegen grundlegende Beschädigungen zu prüfen - aber nicht gegen Kürzungen.
user1686
2
Abhängig von der ISO verfügen MSDN-Abonnements über MD5-Prüfsummen.
Surfasb
@grawity, leider sieht es so aus, als ob MS das nicht mehr tut. Meine alte ISO von Windows 2000 hat die von Ihnen erwähnte Prüfsumme, neuere ISOs jedoch nicht.
Harry Johnston
@surfasb, dies war eine ISO aus dem Download Center, Service Pack 1 für Visual Studio 2010.
Harry Johnston

Antworten:

8

Eine schnelle und schmutzige Methode: Wenn Sie 7-Zip installieren , können Sie mit der rechten Maustaste auf eine ISO klicken und sie als Archiv öffnen - etwas, das ich normalerweise sowieso mache, um sie zu entpacken (als Alternative zum Brennen auf DVD). Von dort aus können Sie das Archiv mit dem Befehl 'Test' in der Symbolleiste testen.

Geoff
quelle
Ich benutze PeaZip selbst, aber das Prinzip ist das gleiche.
Harry Johnston
Das heißt, das ISO-Format hat eine eigene Prüfsumme
Eduard Florinescu
@EduardFlorinescu Nein, ISO hat keine Prüfsumme. 7zip wird bemerkt, wenn am Ende der Datei Bytes fehlen. Außer wenn nur ein kleiner Teil fehlt, gehört dieser zu keiner Datei innerhalb der ISO. Dies ist also eine gute Methode, wenn keine echte Prüfsumme verfügbar ist, aber nicht 100% zuverlässig.
David Balažic
12

Der einfachste Weg, vorausgesetzt, die Quelle liefert die richtige Ausgabe für Sie, besteht darin , einen Hash der fertigen Datei zu erstellen . Wenn die Hashes übereinstimmen, können Sie loslegen. In diesem speziellen Beispiel weiß ich, dass Microsoft den MD5- oder SHA-1-Hash der wichtigsten ISOs veröffentlicht. (Ich glaube, dass die meisten legitimen Softwareanbieter, die ISO-Dateien bereitstellen, diese heutzutage leicht verfügbar haben.)

BEARBEITEN: Diese Informationen sind möglicherweise nicht direkt auf der Download-Seite verfügbar, können jedoch häufig gefunden werden, wenn Sie nachsehen. Dies ist wirklich der einzige 100% narrensichere Weg, um absolut sicher zu sein, dass Sie das haben, was Sie sollen.

Shinrai
quelle
Meiner Erfahrung nach bietet das MS-Download-Center normalerweise keine MD5-Hashes an. (Ich habe nur ein paar Downloads nach dem Zufallsprinzip überprüft und keiner von ihnen hat Hashes bereitgestellt.)
Harry Johnston
-1: MD5-Hash ist nützlich, um auf Beschädigung zu prüfen, nicht um ihn abzuschneiden.
William C
7
Negativ @William C, eine abgeschnittene Datei schlägt eine MD5-Hash-Übereinstimmung genauso fehl wie eine beschädigte.
Chris Nava
@WilliamC - Ich kann nur hinzufügen, was alle anderen gesagt haben. Wie um alles in der Welt würde das Ihrer Meinung nach keine Hash-Fehlanpassung verursachen? Die beiden Dateien müssen Bit für Bit identisch sein (okay, theoretisch können Sie denselben Hash aus zwei verschiedenen Dateien erhalten, aber das wäre eine ASTRONOMISCH unwahrscheinliche Möglichkeit).
Shinrai
1
@Rob: Das gezielte Auffinden einer MD5-Kollision ist relativ einfach. Eine versehentlich beschädigte ISO (wobei "beschädigt" bedeuten würde, dass "nicht jedes Bit dort ist, wo es sein sollte" - dies deckt sowohl Änderungen als auch Unvollständigkeit ab) mit einer MD5-Summe, die der korrekten ISO entspricht, ist ... äußerst unwahrscheinlich (as in "blauer Mond, fliegende Schweine, Hölle zugefroren"). Beachten Sie, dass die meisten Anbieter MD5- und SHA1-Hashes bereitstellen. Die Wahrscheinlichkeit, dass beide versehentlich kollidieren, ist Null plus Epsilon.
Piskvor verließ das Gebäude
2

Die ISO vom Download Center ist dieselbe, die Sie von MSDN erhalten können.

Der MD5 ist 61c2088850185ede8e18001d1ef3e6d12daa5692 vs2010sp1dvd1.iso

Ich hoffe das hilft. Wenn Sie kein MD5 haben, können Sie eines hier herunterladen.

http://corz.org/windows/software/checksum/simple-checksum.php

surfasb
quelle
Das scheint der SHA-1 zu sein, nicht der MD5, aber der Punkt ist, dass dieses Zeug da draußen ist. :)
Shinrai
+1, danke, ich weiß jetzt, dass ich wirklich eine intakte Kopie dieser speziellen ISO habe.
Harry Johnston
1

Wenn die Quelle keine Prüfsummen für Sie bereitgestellt hat, sollten Sie zuerst die Dateigröße überprüfen und prüfen, ob sie übereinstimmt. Wenn nicht, bedeutet dies, dass Ihr Download vorzeitig beendet wird.

Auch unter Linux können Sie wgetmit dem -cBefehl abgebrochene Downloads fortsetzen. Ich habe noch nie versucht, einen Download fortzusetzen, der von einer anderen Anwendung ( meistens Browser ) gestartet wurde, aber ich denke, es sollte in Ordnung sein.

Ich verwende es immer wgetals Download-Manager, da es selten fehlschlägt und weiterhin abgebrochene Downloads ermöglicht. Man sollte einen Download-Manager in seinen Tools haben, um große Dateien konsistent herunterzuladen, obwohl man ihn nicht jeden Tag verwendet.

Umur Kontacı
quelle
Das MS-Downloadcenter gibt normalerweise nur die ungefähre Dateigröße an, und in einigen Fällen (z. B. in diesem Fall, dem Visual Studio 2010 Service Pack 1 ISO) nicht einmal so viel. Ich hatte also keine Möglichkeit zu wissen, wie groß die Datei sein sollte.
Harry Johnston