Comment déterminer si un ISO est un hybride?

19

Selon cela: http://en.wikipedia.org/wiki/ISO_image#Description

"Un exemple plus récent est la publication de fichiers ISO hybrides qui peuvent être démarrés ou démarrés à partir de périphériques de lecteur flash BD ou DVD et USB lorsque l'image est écrite sur l'un de ces périphériques de stockage."

Comment utiliser les outils Linux standard pour déterminer si l'ISO que j'ai téléchargé (éditer: ou créé via genisoimage) est un hybride?

Merci!

pantalon de chat
la source
1
Vérifiez la batterie?
Daniel R Hicks

Réponses:

11

Exécutez fdisk sur le fichier. S'il montre quelque chose de significatif, c'est hybride.

ssmy
la source
3
Qu'entendez-vous par «quelque chose de significatif»? Si je lance fdisk sur mon win7.iso, j'obtiens quatre lignes sur la taille du secteur, etc. Je ne pense toujours pas que ce soit hybride. paste.ee/p/r60ZR . Pourriez-vous être plus explicite s'il vous plaît?
Mads Skjern
8

Exécutez la filecommande sur l'image ISO en question. La sortie de l'exécution de cette commande sur un ISO non hybride ressemblera à ceci

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

tandis que la sortie de l'exécution de cette commande sur un ISO hybride ressemblera à ceci

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
la source
3

Vous pouvez utiliser ce script pour vérifier l'image ISO ( -idrapeau pour "inspecter")

https://github.com/jsamr/bootiso

bootiso -i "your iso image"

Créez un périphérique de démarrage USB à partir d'une image ISO facilement et en toute sécurité.

Vous ne voulez pas perturber le système avec la commande dd? Créez une clé USB amorçable à partir d'une image ISO sur une seule ligne [voyez-la en action].

Fonctionne de manière transparente avec les ISO hybrides et non hybrides (compatibles SYSLINUX ou UEFI) tels que tous les ISO Linux, ISO ISO ou les CD de secours comme UltimateBootCD. Vous n'avez rien à modifier: bootiso inspecte le fichier ISO et choisit la meilleure méthode pour rendre votre bootable USB.

msadek
la source
1

Vous pouvez courir head -c 512 thefile.iso > bytes.txt.

Dans une image ISO non hybride appropriée, les octets doivent tous être des zéros (peut-être pas visibles par défaut dans votre éditeur de texte). Bien qu'en théorie, ils pourraient contenir des ordures aléatoires, donc dans un cas différent de zéro, il est plus difficile de confirmer s'il s'agit d'un hybride sans une analyse plus approfondie des octets.

Pour les utilisateurs Windows, vous pouvez installer le paquet geutu3232 coreutils pour obtenir cette commande.

jiggunjer
la source
1

Cela détecte une table de partition, non présente sur les supports ROM non hybrides:

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

Ce que je ne sais pas déterminer, c'est entre hybride-ISO et image du disque dur:

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

La réponse de @ chaosape devrait être la solution acceptée.

Après utilisation file, si l'ISO s'avère ne pas être un hybride et que vous en avez besoin (par exemple pour créer une clé USB amorçable), utilisez simplement isohybridpour la convertir:

isohybrid [PATH_TO_ISO]

Vous pouvez également utiliser des indicateurs tels que -upour le rendre amorçable UEFI.

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

adatum
la source