如何確定 ISO 是否為混合 ISO?

如何確定 ISO 是否為混合 ISO?

根據這個: http://en.wikipedia.org/wiki/ISO_image#Description

“最近的一個例子是混合 ISO 文件的發布,當映像寫入任何這些存儲設備時,可以從 BD 或 DVD 和 USB 閃存驅動器設備引導或啟動。”

如何使用標準 Linux 工具來確定我下載(編輯:或透過 genisoimage 建立)的 ISO 是否是混合 ISO?

謝謝!

答案1

對檔案運行 fdisk。如果它顯示出任何有意義的東西,那麼它就是混合的。

答案2

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“inspect”標誌)

https://github.com/jsamr/bootiso

bootiso -i "your iso image"

輕鬆、安全地從 ISO 映像建立 USB 可啟動裝置。

不想用 dd 指令搞亂系統?一行從 ISO 建立可啟動 USB [查看實際操作]。

與混合和非混合 ISO(相容於 SYSLINUX 或 UEFI)無縫協作,例如任何 Linux ISO、Windows ISO 或救援 Live-CD(如 UltimateBootCD)。您無需進行任何調整:bootiso 會檢查 ISO 檔案並選擇可讓您的 USB 啟動的最佳方法。

答案4

這會偵測非混合 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

相關內容