怎样在 Linux 终端下使用 dd 命令创建一个临场 USB 驱动器


怎样在 Linux 终端下使用 dd 命令创建一个临场 USB 驱动器

文章插图
有很多的图形化工具可以用来创建临场live USB 驱动器 。linux 上的 Etcher可能是最受欢迎的 。为此,Ubuntu 也开发了自己的启动盘创建工具 。
但是,资深 Linux 用户可能更喜欢使用 dd命令在 Linux 终端中创建临场 USB,这会更快速便捷 。
dd命令是一个命令行工具,它提供了用来复制和转换文件的强大功能 。
一个常见的使用示例是,用户使用 dd命令将 ISO 文件写入到他们的外部存储设备(例如 USB 驱动盘),以用来给他们的电脑或者笔记本安装一个新的 Linux 发行版 。
这就是我将在本教程中展示的内容 。我将带你认识需要的命令,从终端找到我们的 USB 驱动器,然后对 ISO 文件进行实际刷写 。
 
使用 dd 命令从 ISO 镜像创建临场 USB在我向你展示步骤前,让我带你快速过一下你将要使用到的命令并解释它的作用 。
这是一个使用命令刷写 ISO 的例子:
dd if="./filename.iso" of="/dev/sdb" status="progress" conv="fsync"让我们来看看 dd 命令实际都做了些什么 。
 
理解 dd 命令
怎样在 Linux 终端下使用 dd 命令创建一个临场 USB 驱动器

文章插图
首先,你输入 dd 。没错,这就是你要运行的程序的名称 。
接下来,你指定 if="./filename.iso"if代表输入文件input file,告诉dd命令你将要向外部存储设备写入哪个文件 。
之后,你输入 of="/dev/sdb" 。和if一样,of代表的是输出文件output file 。
要记住的是,输出文件在技术上不必是系统上的文件 。你还可以指定诸如外部设备路径之类的内容(如示例所示),它看起来像系统上的普通文件,但实际上指向连接到你机器的设备 。
status可以设定为 3 个选项:nonenoxferprogress
  • 你设置的 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 磁盘大小的驱动器,就可以了 。
怎样在 Linux 终端下使用 dd 命令创建一个临场 USB 驱动器

文章插图
如果你更熟悉 GUI 程序,还可以使用 GNOME Disks 等工具找到驱动器的路径 。
怎样在 Linux 终端下使用 dd 命令创建一个临场 USB 驱动器

文章插图
现在你已经确认了外部驱动器的路径,让我们开始创建临场 USB 。
 
第 2 步:将 ISO 文件写入 USB 磁盘在下载 ISO 文件的目录打开一个终端,然后运行以下命令(如果 /dev/sdb与你的存储设备名称不同,请记住将其替换):


推荐阅读