Jak ustalić, czy ISO jest hybrydą?

19

Zgodnie z tym: http://en.wikipedia.org/wiki/ISO_image#Description

„Nowszym przykładem jest wydanie hybrydowych plików ISO, które można uruchamiać lub uruchamiać zarówno na dyskach BD, DVD, jak i USB, gdy obraz jest zapisywany na dowolnym z tych urządzeń pamięci.”

Jak korzystać ze standardowych narzędzi systemu Linux, aby ustalić, czy pobrany plik ISO (edycja: lub utworzony za pomocą genisoimage) jest hybrydą?

Dzięki!

spodnie kota
źródło
1
Sprawdź akumulator?
Daniel R Hicks,

Odpowiedzi:

11

Uruchom fdisk na pliku. Jeśli pokazuje coś znaczącego, jest hybrydowy.

ssmy
źródło
3
Co rozumiesz przez „cokolwiek znaczącego”? Jeśli uruchomię fdisk na moim win7.iso, otrzymam cztery linie o rozmiarze sektora itp. Nadal nie sądzę, że jest to hybryda. paste.ee/p/r60ZR . Czy mógłbyś być bardziej wyraźny, proszę?
Mads Skjern
8

Uruchom filepolecenie na danym obrazie ISO. Wynik działania tego polecenia na niehybrydowym ISO będzie wyglądał mniej więcej tak

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

podczas gdy wyjście z uruchomienia tego polecenia na hybrydowym ISO będzie wyglądać mniej więcej tak

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
źródło
3

Za pomocą tego skryptu możesz sprawdzić obraz ISO ( -iflaga „inspekcja”)

https://github.com/jsamr/bootiso

bootiso -i "your iso image"

Utwórz urządzenie rozruchowe USB z obrazu ISO łatwo i bezpiecznie.

Nie chcesz zepsuć systemu poleceniem dd? Utwórz bootowalny USB z ISO w jednym wierszu [zobacz w akcji].

Działa bezproblemowo z hybrydowymi i niehybrydowymi ISO (zgodnymi z SYSLINUX lub UEFI), takimi jak dowolny Linux z ISO, Windows ISO lub ratowanie płyt CD na żywo, takich jak UltimateBootCD. Nie musisz niczego poprawiać: bootiso sprawdza plik ISO i wybiera najlepszą metodę, aby twój rozruch z USB był możliwy.

msadek
źródło
1

Możesz biegać head -c 512 thefile.iso > bytes.txt.

W odpowiednim niehybrydowym ISO wszystkie bajty powinny być zerami (być może domyślnie nie są widoczne w edytorze tekstu). Chociaż teoretycznie mogą one zawierać dowolne śmieci, więc w przypadku niezerowym trudniej jest potwierdzić, czy jest to hybryda bez głębszej analizy bajtów.

Użytkownicy systemu Windows mogą zainstalować pakiet gutwin32 coreutils, aby uzyskać to polecenie.

jiggunjer
źródło
1

Wykrywa tablicę partycji, nieobecną na niehybrydowych nośnikach ROM:

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

Nie wiem, jak to ustalić, między hybrydowym ISO a obrazem dysku twardego:

cat disk.img 2>/dev/null | head -c 512 | hexdump -vC
Narcis Garcia
źródło
0

Odpowiedź @ chaosape powinna być przyjętym rozwiązaniem.

Po użyciu file, jeśli ISO okazuje się nie być hybrydą i potrzebujesz go (np. W celu utworzenia rozruchowego USB), wystarczy isohybridgo przekonwertować:

isohybrid [PATH_TO_ISO]

Możesz także użyć flag, -uaby uczynić go UEFI bootowalnym.

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

adatum
źródło