使用 dd 命令从 ISO 镜像创建临场 USB

2021-09-16 14:37:25 浏览数 (2)

在我向你展示步骤前,让我带你快速过一下你将要使用到的命令并解释它的作用。

这是一个使用命令刷写 ISO 的例子:

代码语言:javascript复制
dd if="./filename.iso" of="/dev/sdb" status="progress" conv="fsync"

让我们来看看 dd 命令 实际都做了些什么。

理解 dd 命令

Explanation of the dd command for live USB creation

首先,你输入 dd。没错,这就是你要运行的程序的名称。

接下来,你指定 if="./filename.iso"if 代表输入文件input file,告诉 dd 命令你将要向外部存储设备写入哪个文件。

之后,你输入 of="/dev/sdb"。和 if 一样,of 代表的是输出文件output file。

要记住的是,输出文件在技术上不必是系统上的文件。你还可以指定诸如外部设备路径之类的内容(如示例所示),它看起来像系统上的普通文件,但实际上指向连接到你机器的设备。

status 可以设定为 3 个选项:nonenoxfer 和 progress

  • 你设置的 progress 选项将使 dd 任务显示有关已将多少 ISO 文件传输到存储驱动器的定期统计信息,以及对 dd 任务完成前需要多长时间的估计。
  • 如果你改为设置 none 选项,dd 任务在写入 ISO 文件期间只会打印错误消息,并且删除进度条之类的内容。
  • noxfer 选项隐藏了传输完成后打印的一些信息,例如从开始到完成所用的时间。

最后,你将 conv 选项设置为 fsync。这会导致 dd 任务在整个 ISO 文件写入 USB 驱动器之前不会报告成功写入。

如果你省略这个选项,dd 任务会工作的很好(并且实际上可能看起来运行得更快),但你可能会发现你的系统需要很长时间才能告诉你移除 USB 驱动器是安全的,因为它会在后台完成 ISO 的内容写入,从而允许你在此期间做其它事情。

现在你明白了你必须做什么,让我们看看如何去做。

注意事项 命令行是把双刃剑。当你在命令行使用类似于 dd 命令时必须十分小心。你必须确保你目标输出文件是正确的设备。一个错误的步骤就可能会格式化你的系统硬盘,你的操作系统也会因此而损坏。

第 0 步: 下载所需的 ISO 镜像

不用说,你需要有一个 ISO 镜像文件才能将其刷写到 USB 上。

我将使用 Ubuntu 20.04 ISO(可在此处下载)来测试我之前介绍的 dd 命令。

第 1 步: 获取 USB 盘符

插入你的 USB 驱动器。

我为 of 参数输入的具体路径是 /dev/sdb。USB 磁盘通常会标记为 /dev/sdb,但这不是硬性规定。

此路径可能因你的系统而异,你可以使用 lsblk 命令确认 USB 磁盘的路径。只需从列表中查找一个看起来像你的 USB 磁盘大小的驱动器,就可以了。

如果你更熟悉 GUI 程序,还可以使用 GNOME Disks 等工具找到驱动器的路径。

现在你已经确认了外部驱动器的路径,让我们开始创建临场 USB。

第 2 步:将 ISO 文件写入 USB 磁盘

在下载 ISO 文件的目录打开一个终端,然后运行以下命令(如果 /dev/sdb 与你的存储设备名称不同,请记住将其替换):

代码语言:javascript复制
sudo dd if="./ubuntu-20.04.2.0-desktop-amd64.iso" of="/dev/sdb" status="progress" conv="fsync"

之后,让 dd 去做剩下的事情,它会在完成后打印一条完成消息:

就像这样,你已经在 Linux 终端中使用 dd 命令刷写了 ISO 文件!

0 人点赞