¿Cómo determino si un ISO es un híbrido?

19

De acuerdo con esto: http://en.wikipedia.org/wiki/ISO_image#Description

"Un ejemplo más reciente es el lanzamiento de archivos ISO híbridos que pueden iniciarse o iniciarse desde dispositivos de disco flash USB o BD o DVD cuando la imagen se escribe en cualquiera de estos dispositivos de almacenamiento".

¿Cómo uso las herramientas estándar de Linux para determinar si el ISO que he descargado (editado: o creado mediante genisoimage) es un híbrido?

¡Gracias!

pantalones de gato
fuente
1
¿Verifica la batería?
Daniel R Hicks

Respuestas:

11

Ejecute fdisk en el archivo. Si muestra algo significativo, es híbrido.

ssmy
fuente
3
¿Qué quieres decir con "algo significativo"? Si ejecuto fdisk en mi win7.iso, obtengo cuatro líneas sobre el tamaño del sector, etc. Todavía no creo que sea híbrido. paste.ee/p/r60ZR . ¿Podría ser más explícito por favor?
Mads Skjern
8

Ejecute el filecomando en la imagen ISO en cuestión. El resultado de ejecutar este comando en un ISO no híbrido se verá más o menos así

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

mientras que la salida de ejecutar este comando en un ISO híbrido se verá más o menos así

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
fuente
3

Puede usar este script para verificar la imagen ISO ( -imarca para "inspeccionar")

https://github.com/jsamr/bootiso

bootiso -i "your iso image"

Cree un dispositivo de arranque USB a partir de una imagen ISO de forma fácil y segura.

¿No quieres estropear el sistema con el comando dd? Cree un USB de arranque desde un ISO en una línea [véalo en acción].

Funciona a la perfección con ISO híbridos y no híbridos (compatibles con SYSLINUX o UEFI) como cualquier ISO de Linux, ISO de Windows o CD de rescate como UltimateBootCD. No tiene que modificar nada: bootiso inspecciona el archivo ISO y elige el mejor método para hacer que su USB sea de arranque.

msadek
fuente
1

Puede ejecutar head -c 512 thefile.iso > bytes.txt.

En un ISO no híbrido adecuado, todos los bytes deben ser ceros (tal vez no estén visibles por defecto en su editor de texto). Aunque en teoría podrían contener cualquier basura aleatoria, por lo que en un caso distinto de cero es más difícil confirmar si es un híbrido sin un análisis más profundo de los bytes.

Para los usuarios de Windows, puede instalar el paquete gnuwin32 coreutils para obtener ese comando.

jiggunjer
fuente
1

Esto detecta una tabla de partición, no presente en los medios ROM no híbridos:

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

Lo que no sé cómo determinar es entre el híbrido-ISO y la imagen del disco duro:

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

La respuesta de @ chaosape debería ser la solución aceptada.

Después de usar file, si el ISO resulta no ser un híbrido y necesita que lo sea (por ejemplo, para crear un USB de arranque), solo use isohybridpara convertirlo:

isohybrid [PATH_TO_ISO]

También puede usar indicadores como -upara que sea UEFI arrancable.

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

adato
fuente