如何从linux命令行将ISO映像写入USB记忆棒?

mik*_*vis 23 linux ubuntu usb-flash-drive iso disk-image

我无法弄清楚如何从 Ubuntu 的命令行将 ISO 磁盘映像写入 USB 闪存设备。我有 Startup Disk Creator 实用程序,但我需要能够编写此作业的脚本。

我找到了 usb-creator 包,但似乎没有任何文档并python -m usbcreator给出了usbcreator is a package and cannot be directly executed.

我查看了 unetbootin,但它似乎是另一个仅限 GUI 的实用程序。

是否有一些我忽略的明显解决方案?

Zor*_*che 26

您确定 ISO 映像是否适用于 USB 设备?某些在 CD/DVD 上会启动的 ISO 实际上不会从 USB 设备启动。

假设你想要的 ISO 有一个可以工作的引导加载程序,那么它应该很简单,dd if=filename.iso of=/dev/usbdevice但这将替换当前 USB 磁盘上的任何内容。

如果您想将 ISO 放在 USB 驱动器上的现有文件系统上并启动它,那么设置它可能要复杂得多。

  • 正如我提到的,它在某种程度上取决于 ISO 上存在的引导加载程序以及它的配置方式。有些图像只需执行 dd 即可工作,而其他图像则不会。例如,[Debian Live](http://live.debian.net/) 可以使用 dd 方法正常工作。确保您可以尝试它,或者阅读您正在谈论的任何iso的文档,看看它是否受支持。 (2认同)
  • @Zoredache 检查 `iso` 是否可启动,你可以使用 `file`。如果可启动,它将在输出行的末尾打印“bootable”。 (2认同)

Ian*_*Ian 12

我知道你可以在 UNetbootin gui 中做到这一点。我自己没有尝试过,但看起来您也可以通过命令行来完成:

http://sourceforge.net/apps/trac/unetbootin/wiki/commands

unetbootin method=diskimage isofile="my.iso" installtype=USB targetdrive=/dev/sdc1


小智 11

在 Linux 中有一种非常简单的方法可以从 ISO 映像创建可引导记忆棒——这应该适用于任何操作系统。假设记忆棒是/dev/sdb,图像是/home/username/Downloads/system.iso

只需这样做(以root身份):

dd if=/home/username/Downloads/system.iso of=/dev/sdb
Run Code Online (Sandbox Code Playgroud)

比 unetbootin 或我听说过的任何其他方法容易得多。

  • 唯一重要的步骤是将 /outputfile 写入设备,而不是分区。即`of=/dev/sdb` 而不是`of=/dev/sdb1`。(只是想评论这个问题,你的帖子没有错:o)) (6认同)