Bagaimana cara menentukan apakah ISO adalah hibrid?

19

Menurut ini: http://en.wikipedia.org/wiki/ISO_image#Description

"Contoh yang lebih baru adalah rilis file ISO hybrid yang dapat di-boot atau dimulai dari perangkat BD atau DVD dan USB flash drive ketika gambar ditulis ke salah satu perangkat penyimpanan ini."

Bagaimana cara menggunakan alat Linux standar untuk menentukan apakah ISO yang saya unduh (edit: atau buat melalui genisoimage) adalah hybrid?

Terima kasih!

celana kucing
sumber
1
Periksa baterainya?
Daniel R Hicks

Jawaban:

11

Jalankan fdisk pada file tersebut. Jika itu menunjukkan sesuatu yang bermakna, itu adalah hibrida.

ssmy
sumber
3
Apa yang Anda maksud dengan "sesuatu yang bermakna"? Jika saya menjalankan fdisk di win7.iso saya, saya mendapatkan empat baris tentang ukuran sektor, dll. Saya masih tidak berpikir itu hybrid. paste.ee/p/r60ZR . Bisakah Anda lebih eksplisit?
Mads Skjern
8

Jalankan fileperintah pada gambar ISO yang dimaksud. Output dari menjalankan perintah ini pada ISO non-hybrid akan terlihat seperti ini

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

sedangkan output dari menjalankan perintah ini pada ISO hybrid akan terlihat seperti ini

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

kekacauan
sumber
3

Anda dapat menggunakan skrip ini untuk memeriksa gambar ISO ( -itanda "periksa")

https://github.com/jsamr/bootiso

bootiso -i "your iso image"

Buat perangkat USB yang dapat di-boot dari citra ISO dengan mudah dan aman.

Tidak ingin mengacaukan sistem dengan perintah dd? Buat USB yang dapat di-boot dari ISO dalam satu baris [lihat saat beraksi].

Bekerja dengan mulus dengan ISO hybrid dan non-hybrid (SYSLINUX atau UEFI compliant) seperti ISO linux, Windows ISO atau rescue live-cd seperti UltimateBootCD. Anda tidak perlu mengubah apa pun: bootiso memeriksa file ISO dan memilih metode terbaik untuk membuat USB Anda dapat di-boot.

msadek
sumber
1

Anda bisa lari head -c 512 thefile.iso > bytes.txt.

Dalam ISO non-hybrid yang tepat, byte seharusnya semuanya nol (mungkin tidak terlihat secara default di editor teks Anda). Meskipun secara teori mereka bisa berisi sembarang sampah acak, jadi dalam kasus bukan nol lebih sulit untuk mengkonfirmasi apakah itu adalah hibrida tanpa analisis byte yang lebih mendalam.

Untuk pengguna Windows, Anda dapat menginstal paket gnuwin32 coreutils untuk mendapatkan perintah itu.

jiggunjer
sumber
1

Ini mendeteksi tabel partisi, tidak ada di media ROM non-hybrid:

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

Apa yang saya tidak tahu bagaimana menentukan antara hybrid-ISO dan image harddisk:

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

Jawaban @ chaosape harus menjadi solusi yang diterima.

Setelah menggunakan file, jika ISO ternyata bukan hibrida dan Anda memerlukannya (mis. Untuk membuat USB yang dapat di-boot), cukup gunakan isohybriduntuk mengubahnya:

isohybrid [PATH_TO_ISO]

Anda juga dapat menggunakan flag seperti -uuntuk membuatnya UEFI bootable.

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

adatum
sumber