Як визначити, чи ISO є гібридом?


19

Відповідно до цього: http://en.wikipedia.org/wiki/ISO_image#Description

"Більш свіжий приклад - це випуск гібридних ISO-файлів, які можна завантажувати або запускати як із пристроїв флеш-пам’яті BD, так і з DVD та USB, коли зображення записується на будь-який із цих пристроїв зберігання даних."

Як я можу використовувати стандартні інструменти Linux, щоб визначити, чи ISO, який я завантажив (редагував: або створив за допомогою genisoimage), є гібридом?

Спасибі!


1
Перевірте наявність акумуляторної батареї?
Даніель Р Хікс

Відповіді:


11

Запустіть fdisk у файлі. Якщо це показує щось значиме, воно гібридне.


3
Що ви маєте на увазі під "чимось значимим"? Якщо я запускаю fdisk на своєму win7.iso, я отримую чотири рядки про розмір сектору тощо. Я все ще не думаю, що це гібрид. paste.ee/p/r60ZR . Чи можете ви бути більш чіткими, будь ласка?
Mads Skjern

8

Виконайте fileкоманду на відповідному зображенні ISO. Вихід від виконання цієї команди на негібридному ISO буде виглядати приблизно так

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

тоді як вихід із виконання цієї команди на гібридному ISO буде виглядати приблизно так

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

Ви можете використовувати цей скрипт для перевірки образу ISO ( -iпрапор для "перевірити")

https://github.com/jsamr/bootiso

bootiso -i "your iso image"

Створіть завантажувальний пристрій USB з ISO-зображення легко та надійно.

Не хочете плутати систему з командою dd? Створіть завантажувальний USB з ISO в одному рядку [див. Це в дії].

Працює безперебійно з гібридними та негібридними ISO (сумісними із SYSLINUX або UEFI), такими як будь-який linux ISO, Windows ISO або рятувальні живі диски типу UltimateBootCD. Вам не доведеться нічого підлаштовувати: bootiso перевіряє файл ISO і вибирає найкращий спосіб зробити ваш USB завантажувальним.


1

Можна бігати head -c 512 thefile.iso > bytes.txt.

У правильному негібридному ISO байти повинні бути нулями (можливо, вони не видно за замовчуванням у вашому текстовому редакторі). Хоча теоретично вони можуть містити будь-яке випадкове сміття, тому в ненульовому випадку важче підтвердити, чи це гібрид без більш глибокого аналізу байтів.

Для користувачів Windows ви можете встановити пакет gnuwin32 coreutils, щоб отримати цю команду.


1

Це виявляє таблицю розділів, яка не присутня на негібридних носіях ROM:

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

Що я не знаю, як визначити, це між зображенням гібридної ISO та жорсткого диска:

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

0

@ chaosape відповідь має бути прийнятим рішенням.

Після використання file, якщо ISO виявляється не гібридом, і вам це потрібно (наприклад, створити завантажувальний USB), просто використовуйте isohybridдля його перетворення:

isohybrid [PATH_TO_ISO]

Ви також можете використовувати такі прапори, -uщоб зробити UEFI завантажувальним.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.