如何确定 ISO 是否是混合型?

如何确定 ISO 是否是混合型?

根据这个: http://en.wikipedia.org/wiki/ISO_image#Description

“最近的一个例子是混合 ISO 文件的发布,当映像写入任何这些存储设备时,可以从 BD 或 DVD 和 USB 闪存驱动器设备启动或启动。”

如何使用标准 Linux 工具来确定我下载的 ISO(编辑:或通过 genisoimage 创建)是否是混合?

谢谢!

答案1

对文件运行 fdisk。如果它显示任何有意义的内容,则它是混合的。

答案2

在相关 ISO 映像上运行该file命令。在非混合 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"

轻松安全地从 ISO 映像创建 USB 可启动设备。

不想用 dd 命令弄乱系统?只需一行即可从 ISO 创建可启动 USB [查看实际操作]。

可与混合和非混合 ISO(SYSLINUX 或 UEFI 兼容)无缝协作,例如任何 Linux ISO、Windows ISO 或 UltimateBootCD 等救援实时 CD。您无需调整任何内容: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

相关内容