Wie bestimme ich, ob eine ISO ein Hybrid ist?

19

Demnach: http://en.wikipedia.org/wiki/ISO_image#Description

"Ein neueres Beispiel ist die Veröffentlichung hybrider ISO-Dateien, die sowohl von BD- als auch von DVD- und USB-Flash-Laufwerken gebootet oder gestartet werden können, wenn das Image auf eines dieser Speichergeräte geschrieben wird."

Wie verwende ich Standard-Linux-Tools, um festzustellen, ob die von mir heruntergeladene (bearbeitete: oder über genisoimage erstellte) ISO eine Hybride ist?

Vielen Dank!

Katzenhose
quelle
1
Nach dem Akku suchen?
Daniel R Hicks

Antworten:

11

Führen Sie fdisk für die Datei aus. Wenn es etwas Sinnvolles zeigt, ist es hybrid.

ssmy
quelle
3
Was meinst du mit "irgendetwas Sinnvolles"? Wenn ich fdisk auf meinem win7.iso laufen lasse, erhalte ich vier Zeilen über die Sektorgröße usw. Ich denke immer noch nicht, dass es hybride ist. paste.ee/p/r60ZR . Könnten Sie bitte genauer sein?
Mads Skjern
8

Führen Sie den fileBefehl für das betreffende ISO-Image aus. Die Ausgabe dieses Befehls auf einer nicht-hybriden ISO sieht ungefähr so ​​aus

image.iso: ISO 9660 CD-ROM filesystem data 'foo' (bootable)

Während die Ausgabe dieses Befehls auf einer hybriden ISO ungefähr so ​​aussieht

image.iso: DOS/MBR boot sector ISO 9660 CD-ROM filesystem data (DOS/MBR boot sector) 'foo' (bootable); partition 1 : ID=0x17, active, start-CHS (0x0,0,1), end-CHS (0x288,63,32), startsector 0, 1329152 sectors

Chaosape
quelle
3

Mit diesem Skript können Sie das ISO-Image überprüfen ( -iFlag für "inspizieren")

https://github.com/jsamr/bootiso

bootiso -i "your iso image"

Erstellen Sie einfach und sicher ein bootfähiges USB-Gerät von einem ISO-Image.

Sie möchten das System nicht mit dem Befehl dd durcheinander bringen? Erstellen Sie ein bootfähiges USB von einem ISO in einer Zeile [sehen Sie es in Aktion].

Funktioniert nahtlos mit hybriden und nicht-hybriden ISOs (SYSLINUX- oder UEFI-kompatibel) wie Linux-ISOs, Windows-ISOs oder Rettungs-Live-CDs wie UltimateBootCD. Sie müssen nichts optimieren: bootiso überprüft die ISO-Datei und wählt die beste Methode, um Ihren USB-Stick bootfähig zu machen.

msadek
quelle
1

Du kannst rennen head -c 512 thefile.iso > bytes.txt.

In einer richtigen nicht-hybriden ISO sollten die Bytes alle Nullen sein (möglicherweise nicht standardmäßig in Ihrem Texteditor sichtbar). Obwohl sie theoretisch beliebigen Müll enthalten könnten, ist es in einem von Null verschiedenen Fall schwieriger zu bestätigen, ob es sich um einen Hybrid handelt, ohne die Bytes genauer zu analysieren.

Für Windows-Benutzer können Sie das Paket gnuwin32 coreutils installieren , um diesen Befehl abzurufen .

Jiggunjer
quelle
1

Dadurch wird eine Partitionstabelle erkannt, die auf Nicht-Hybrid-ROM-Medien nicht vorhanden ist:

cat romdisk.iso 2>/dev/null | head -c 512 | tail -c 2 | xxd -p | grep -ie '55aa$'

Was ich nicht wissen kann, ist zwischen Hybrid-ISO und Festplatten-Image:

cat disk.img 2>/dev/null | head -c 512 | hexdump -vC
Narcis Garcia
quelle
0

Die Antwort von @ chaosape sollte die akzeptierte Lösung sein.

Nach der Verwendung file, wenn die ISO stellt sich heraus , nicht um ein Hybrid zu sein und Sie müssen es sein, nur verwenden (zB einen bootfähigen USB erstellen.) isohybridZu konvertieren:

isohybrid [PATH_TO_ISO]

Sie können auch Flags verwenden -u, um UEFI bootfähig zu machen.

https://www.mankier.com/1/isohybrid

adatum
quelle