根據這個: 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