Kann eine Integritätsprüfung für eine USB-Bootdiskette ausgeführt werden?

13

Gibt es eine Möglichkeit, eine Integritätsprüfung für eine einsatzbereite USB-Bootdiskette durchzuführen?

Ich habe gerade einen Lubuntu 14.04.01-Boot-USB erstellt und konnte nicht herausfinden, wie eine Integritätsprüfung durchgeführt werden soll. Ich kann keine .iso-Datei finden, mit der ein MD5sum-Hash ausgeführt werden kann.

Niall
quelle

Antworten:

13

Die MD5-Summe einer Ubuntu-ISO finden Sie hier .

Der obige md5-Wert ist die Prüfsumme der gesamten Festplatte, nicht der einzelnen Dateien.

Wenn Sie einen bootfähigen USB-Stick vorbereiten, werden die Dateien aus der ISO-Datei auf den USB-Stick kopiert und der Bootloder des USB-Sticks wird überschrieben, wodurch er bootfähig wird . Hier sehen Sie, dass eine einzelne Datei (zum Beispiel Lubuntu 14.04.1 x64 ISO) mit einer MD5-Summe ( a5f97cd6a9f171c70cf816de8728f13b) jetzt zerstört wird und stattdessen mehrere Dateien auf dem USB vorhanden sind. Sie haben also keine ISO mehr, mit der Sie die MD5-Summe der ursprünglichen Lubuntu-ISO vergleichen können.

Wenn Sie die Integrität der einzelnen Dateien überprüfen möchten, müssen Sie vom USB-Stick booten und dann check cd for defectsim Boot-Menü auswählen . Es gibt eine Datei ms5sum.txtin jeder Ubuntu-ISO, die die MD5-Summe jeder einzelnen Datei in der ISO enthält. Die check cd for defectsOption überprüft die MD5-Summe jeder Datei anhand der MD5-Liste in der ISO.

Nach der Antwort von LiveWireBTmd5sum -c md5sum.txt sollte eine Konsistenzprüfung der einzelnen Dateien nur durch Navigieren in das USB-Laufwerk und Ausführen durchgeführt werden.

astrob0t
quelle
Danke für Ihre Antwort; also ich grok, dass die iso datei nicht mehr existiert. Gibt es eine Art Prüfer, der prüft, ob die Dateien auf der bootfähigen Festplatte intakt sind? Woher weiß man, ob etwas beschädigt wurde? Oder wenn im Betriebssystem Viri oder anderes drin ist? Das war ein großes Problem auf dem WinXP-Betriebssystem, von dem ich konvertiert habe.
Niall
Sie können das bootfähige USB auf Fehler überprüfen, indem Sie es tatsächlich booten und dann check cd for defectsim Boot-Menü auswählen .
8.
Super. Große Hilfe dabei. Das funktioniert. Und es wurde gemeldet "Keine Fehler gefunden." als ich es rannte. </br> </br> Es wird die Frage aufgeworfen, ob das USB-Image durch einen Virus beschädigt werden könnte. Wäre es der Malware nicht möglich, den Code "Disc auf Fehler prüfen" zu täuschen und zu melden das ist alles gut, auch wenn es mit etwas infiziert wäre?
Niall
1
Das check cd for defectsist nichts anderes als ein MD5-Vergleich der einzelnen Dateien mit der Liste der MD5-Werte in der md5sum.txtDatei auf der CD. md5sum -c md5sum.txt
Zur Beruhigung
Ich habe jetzt den Lubuntu vom USB-Stick installiert. Ich werde versuchen, diesen Befehl auszuführen, sobald ich herausgefunden habe, wie ich die Eingabeaufforderung finde. (Ich bin neu in Linux.)
Niall
8

Hashes einzelner Dateien, die im ISO-Image enthalten sind, werden im Stammordner als gespeichert md5sum.txt.

Das Ausführen md5sum -c md5sum.txtin demselben Ordner sollte eine Konsistenzprüfung durchführen.

LiveWireBT
quelle
Hier ist mein Jupyter-Notizbuch, um die ISO- und USB-Integrität zu überprüfen
Levon
2

Meine Antwort basiert auf Lucas 'Antwort in Unix und Linux StackExchange . Um die Integrität einer USB-Bootdiskette zu überprüfen, ermitteln Sie zunächst die Größe des ISO-Images mit

 stat -c '%s' imagename.iso 

Dadurch wird eine Bildgröße ausgegeben, die Sie anstelle des folgenden <imagesize>Befehls eingeben können . Der nächste Befehl sendet (über eine Pipe) alle Bytes, die der Größe des Bildes entsprechen, an den Befehl md5sum:

sudo head -c <imagesize> /dev/sdb1 | md5sum

Sie können dies mit der MD5-Summe Ihrer ISO-Datei vergleichen.

md5sum imagename.iso

Wenn sich md5sums unterscheiden, ist beim Kopieren der Daten ein Problem aufgetreten. Wenn md5sums identisch sind, haben Sie die Datenintegrität auf Ihrer USB-Festplatte erfolgreich überprüft!

Hinweis zum Auffinden Ihres USB-Geräts unter /dev/

Für den obigen Befehl müssen Sie den Namen Ihres USB-Geräts kennen, z. B. /dev/sdbXnicht den Mount-Punkt (z. B. /media/usbX). Das können Sie anhand der Spalte Filesystemin der Ausgabe von herausfinden df. Zum Beispiel erscheint mein USB-Gerät wie /dev/sdb1in der Ausgabe von

df
Paul Rougieux
quelle
Ich fand das nützlich, um sicherzustellen, dass das Image auf USB gültig ist, bevor ich es ausprobiere.
Code2be
0

Ich weiß nicht, ob das Linux Mint ISO dasselbe Grub-Menü wie das Vanilla Ubuntu ISO verwendet, aber ich installiere gerade und das folgende Grub-Menü hat:

check the integrity of the medium

Die Ausführung dauerte 10 Minuten und ergab 69 Fehler. Ich habe überprüft, ob das heruntergeladene ISO-Image gut ist, und versuche es jetzt mit einem anderen USB-Stick.

Es ist GNU GRUB version 2.02^beta2-36ubuntu3

Adam
quelle
Ich habe immer noch Probleme mit der Integritätsprüfung auf einem brandneuen Stick - es heißt, dass einige Dateien nicht gefunden wurden, was etwas seltsam ist und anscheinend falsch gemeldet wird. Bei der Integritätsprüfung auf dem anderen Stick wurde festgestellt, dass einige Dateien nicht übereinstimmten, was ernster klang. Ich habe nicht vom alten Stick installiert, sondern vom neuen Stick (mit den 69 anscheinend fehlenden Dateien), und die Installation verlief trotzdem einwandfrei.
Adam
0

head -c $(stat -c imagename.iso) /dev/sdX | sha256sum

Ähnlich wie die Antwort von paul-rougieux, jedoch wird die Größe der ISO ermittelt und die Hash-Prüfung in einem einzigen Befehl ausgeführt

Adam Chance
quelle
0

Ändern Sie im folgenden Code X in den Pfad zum (Iso-) Bild. Sie können dies folgendermaßen überprüfen: ls -AFl Documents/tails.ISO # X would be Documents/tails.ISO

Ändern Sie Y in die richtige Gerätekennung für das USB-Laufwerk. Sie können mit überprüfen , lsblkwährend er nicht im Versus eingesteckt , wenn es wird eingesteckt , dass Sie die richtigen Gerätenamen zu machen ( in der Regel so etwas wie /dev/sdZ).

Der Code zum Überprüfen, ob das, was auf das USB-Laufwerk geschrieben wurde, der verwendeten Image-Datei entspricht (in der Bash- Shell!):

img='X' usb='Y'
[[ $(head -c $(stat -c '%s' "$img") "$usb" |sha256sum) = $(sha256sum <"$img") ]] &&
  echo OK ||
  echo ERROR

Wenn Sie ein Tool wie GNU ddrescue verwenden (das Paket wird oft als gddrescue bezeichnet), könnten Sie schreiben: ddrescue --force 'X' 'Y'und es würde automatisch überprüfen, ob es richtig geschrieben wurde!

Beachten Sie, dass beim Ein- und Ausstecken des USB-Sticks einige Partitionen im geschriebenen Image automatisch gemountet und dadurch modifiziert werden können (das "Dirty Bit"), wodurch eine völlig andere Prüfsumme erzeugt wird !!

pepa65
quelle