Come posso determinare se un ISO è un ibrido?


19

Secondo questo: http://en.wikipedia.org/wiki/ISO_image#Description

"Un esempio più recente è il rilascio di file ISO ibridi che possono essere avviati o avviati da dispositivi BD o DVD e unità flash USB quando l'immagine viene scritta su uno di questi dispositivi di archiviazione."

Come uso gli strumenti Linux standard per determinare se l'ISO che ho scaricato (modifica: o creato tramite genisoimage) è un ibrido?

Grazie!


1
Verificare la batteria?
Daniel R Hicks,

Risposte:


11

Esegui fdisk sul file. Se mostra qualcosa di significativo, è ibrido.


3
Cosa intendi con "qualcosa di significativo"? Se eseguo fdisk sul mio win7.iso, ottengo quattro righe sulla dimensione del settore, ecc. Continuo a non pensare che sia ibrido. paste.ee/p/r60ZR . Potresti essere più esplicito per favore?
Mads Skjern,

8

Esegui il filecomando sull'immagine ISO in questione. L'output dell'esecuzione di questo comando su un ISO non ibrido sarà simile a questo

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

mentre l'output dell'esecuzione di questo comando su un ISO ibrido sarà simile a questo

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


3

Puoi usare questo script per controllare l'immagine ISO ( -icontrassegna "ispeziona")

https://github.com/jsamr/bootiso

bootiso -i "your iso image"

Crea un dispositivo di avvio USB da un'immagine ISO in modo facile e sicuro.

Non vuoi rovinare il sistema con il comando dd? Crea un USB avviabile da un ISO in una riga [guardalo in azione].

Funziona perfettamente con ISO ibridi e non ibridi (conformi a SYSLINUX o UEFI) come qualsiasi ISO Linux, ISO di Windows o CD live di salvataggio come UltimateBootCD. Non devi modificare nulla: bootiso controlla il file ISO e sceglie il metodo migliore per rendere avviabile il tuo USB.


1

Puoi correre head -c 512 thefile.iso > bytes.txt.

In una corretta ISO non ibrida i byte dovrebbero essere tutti zeri (forse non visibili per impostazione predefinita nell'editor di testo). Sebbene in teoria possano contenere qualsiasi spazzatura casuale, quindi in un caso diverso da zero è più difficile confermare se si tratta di un ibrido senza un'analisi più approfondita dei byte.

Per gli utenti Windows è possibile installare il pacchetto coreutils gnuwin32 per ottenere quel comando.


1

Questo rileva una tabella delle partizioni, non presente nei supporti ROM non ibridi:

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

Quello che non so come determinare è tra l'ibrido-ISO e l'immagine del disco rigido:

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

0

La risposta di @ chaosape dovrebbe essere la soluzione accettata.

Dopo l'uso file, se l'ISO risulta non essere un ibrido e ne hai bisogno (ad es. Per creare un USB avviabile), utilizza semplicemente isohybridper convertirlo:

isohybrid [PATH_TO_ISO]

Puoi anche usare flag come -u per renderlo avviabile UEFI.

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.