使用 dd 制作 Live USB 闪存盘

使用 dd 制作 Live USB 闪存盘

我最后一次从 USB 闪存驱动器启动是在 2006 年。从那时起,我一直无法制作实时 USB 可启动文件。

我尝试让 Fedora 17 和 18、Ubuntu 以及大量其他发行版从 USB 启动,但从未成功。我还尝试了不同的 USB 密钥。每次,我都会在尝试启动时遇到内核崩溃或一堆毫无意义的错误。

我厌倦了购买 CD 和 DVD 来启动东西;我希望能够使用我的 USB 驱动器。

我一直在使用这个基本命令:

sudo dd if=Downloads/myiso.iso of=/dev/myusb bs=1M && sync

编辑:我尝试失败的原因似乎是硬件损坏。我买了一根新内存条,问题就解决了。

答案1

这是一个老问题了,您已经发现,就您的情况而言,问题出在闪存驱动器有缺陷。对于遇到类似问题的其他读者,让我补充一些其他可能的原因和解决方案。

  1. 使用标准 ISO

    ISO 格式是光盘磁盘映像的容器。系统可以从光驱启动,而无需 MBR 或 EFI,因此 ISO 不包含这些。使用将ddISO 写入闪存驱动器会导致介质缺少启动配置。

    一些发行版提供 ISO-Hybrid。它包含启动配置,因此dd可以启动结果。不过,也有一些限制。

    • 您可能无法启动 UEFI 系统。可以配置这一点(见下文),但并非每个带有 ISO-Hybrid 的发行版都可以这样配置。
    • 写入 ISO-Hybriddd也会写入只读的文件系统。因此,这种安装方法将像实时 DVD 会话一样工作,但您无法将其用作工作操作系统。
  2. 使用不匹配的引导配置

    您的计算机将设置为以 UEFI 或传统模式启动,因此闪存驱动器需要匹配或为两者配置。如果您只使用dd,则只有当它是 ISO-Hybrid 并且它与计算机的启动基础匹配或已设计为双模式时,它才会起作用。如果您使用第三方工具使驱动器可启动,则需要将其准备好以匹配计算机或为双模式。如果您是经验丰富的 Linux 用户,可以手动完成双模式设置。

    并非所有第三方工具都可以为 UEFI 或双模式启动准备闪存驱动器。这些功能可能会随着时间的推移而改变。我知道鲁弗斯目前可以做到这一点,并且可能还有其他一些可以做到的。 Shreyas PV在 Ask Ubuntu 上有一个答案,展示了如何使用 Rufus 设置双模式启动:如何创建可同时支持 UEFI 模式和 Legacy BIOS 模式的双启动模式 U 盘?

    如果你有足够的经验来手动完成这项工作,你可能不会寻找这个问题的答案。然而,即使只是为了教育目的,这个答案重力提供了很好的解释:是否可以将混合 Linux USB 控制器用于 UEFI 和传统 BIOS?

答案2

sudo dd bs=1M if=/path/to/XXX.iso of=/dev/sdX 

答案3

dd经常使用 USB 启动并运行一些实时系统。不确定,但从未将其用于用户挂载。由于是dd写入块设备,因此您应该直接写入该设备,而不是挂载点。

我总是使用:

dd if=Downloads/tmp/yourDistro.iso bs=4M oflag=sync |dd of=/dev/sdb

在执行任何操作之前,更改yourDistro路径并检查您的 USB 是否位于!请注意,如果不是您的 USB,您将完全覆盖该驱动器!sdbsdb

为什么要用管道传输 (ifof)?这样可以让系统缓存数据流,从而使系统速度更快一些。

相关内容