根据维基百科,ISO文件是(重点是我的):
ISO 光盘映像未压缩,不使用特定的容器格式;它们是光盘上逐扇区地复制数据,存储在二进制文件中。ISO 映像应包含光学媒体文件系统(通常是 ISO 9660 及其扩展或 UDF)的二进制映像,包括二进制格式的文件中的数据,这些数据的复制方式与光盘上的存储方式完全相同。ISO 映像中的数据将根据创建它的光盘上使用的文件系统进行结构化。
当我使用dd
或其他低级实用程序将原始 ISO 字节写入 USB 记忆棒时,我无法从 USB 记忆棒启动。这是为什么?原始文件系统结构存在于 USB 记忆棒上。当然,UDF 或其他文件系统不存在理想的适用于 USB,但它们应该可以工作,对吗?
我已经使用 Windows 10 和 Ubuntu 16 的较新图像进行了尝试。
答案1
数据可以正常写入,但第一个扇区中的启动信息特定于 CD/DVD 驱动器,不适用于 USB 驱动器。其他所有内容(直至(如您所指出的)原始文件系统结构)实际上都是独立于介质的,但启动信息并非如此。
答案2
这取决于特定ISO
图像的创建者对其所做的特殊安排。
例如,目前从 Fedora ISO 映像创建可启动 USB 的“官方”方法正是dd if=IsoImageFile.iso of=/dev/sdX
事实上,如果你查看任何 F23 的 LiveCD 映像的前 512 个字节,你会看到一个传统的引导加载程序。