为什么 dd 不是将可启动的 .iso 文件写入 USB 拇指驱动器的可靠命令?

Sam*_*mik 19 boot usb-drive iso dd

这里的一个答案表明,.iso如果将Ubuntu复制dd到 USB 拇指驱动器,则预计不会启动。

为什么某些Linux 发行版可以选择使用 将其可启动.iso文件直接写入拇指驱动器dd,而其他发行版(Ubuntu?)却没有?

在 Ubuntu 中,我认为它必须首先转换为.img。这是真的?

是因为.isos 中的某些架构差异吗?还是因为dd自身的限制?

不知道这里是不是题外话。如果社区认为或提出建议,我可以将其移至更合适的位置。一些解释将是可观的。

Jor*_*gla 32

使用 Ubuntu 12.04,可以dd将 .iso 文件复制到磁盘以创建可引导磁盘。它仅适用于某些 ISO(包括 Ubuntu 12.04,但不适用于更早的 Ubuntu 版本),因为在基于 BIOS 的系统上,从 CD 引导和从磁盘引导的处理方式不同。

除其他外,对于可引导的硬盘驱动器,它必须在第一个扇区中包含引导代码,对于可引导的 CD,它必须包含引导代码“在 CD 的最后一个会话中的扇区 11(十进制 17) ”。在萨尔瓦多Torito规范。由于引导代码(至少是 BIOS 加载的初始部分)存储在 CD 和硬盘驱动器的不同位置,因此磁盘映像可以在两个位置都有引导代码,以便在映像作为硬盘引导时加载引导加载程序驱动器或作为 CD。

大多数 iso 文件仅设计为可作为 CD 启动,因此它们在映像的第一个扇区中不包含启动代码,因此包含此类映像的硬盘驱动器在其第一个扇区中将没有启动代码,因此可启动。

  • 不,它不像复制启动代码那么简单。即使这是可能的,也需要擦除整个设备(就像使用 dd 一样),这对于大多数 Unetbootin 用户来说是不可接受的。相反,Unetbootin“将 ISO 文件下载并解压缩到您的 USB 驱动器,生成适当的 syslinux 配置文件,并使您的 USB 驱动器可使用 syslinux 启动。” http://unetbootin.sourceforge.net/#faq (3认同)