如何在Linux中将ISO文件刻录到U盘
传统上,Linux用户将ISO文件刻录到DVD或者CD,但是许多计算机不再具有光盘驱动器。创建可引导的U盘是一个更好的解决方案,它将可在大多数计算机上使用,并且可以更快地引导,运行和安装。
可引导Linux U盘如何工作
与实时CD或者DVD一样,可启动的U盘使我们几乎可以运行任何Linux发行版,而不会影响计算机。我们也可以从不需要CD或者DVD驱动器的PC上安装Linux发行版。但是,我们不能简单地将ISO文件复制或者提取到U盘并期望它能工作。从技术上讲,虽然我们没有将ISO文件刻录到U盘,但是需要一个特殊的过程来获取Linux ISO文件并使用它制作可启动的U盘。
有两种方法可以执行此操作:一些Linux发行版包含一个图形USB启动磁盘创建器工具,可以为我们完成此任务。我们也可以使用dd命令从任何Linux发行版的终端上执行此操作。无论选择哪种方法,都需要Linux发行版的ISO文件。
例如,Ubuntu Linux具有两种用于创建可启动U盘的内置方法。可启动的U盘为用户提供与Ubuntu Live DVD相同的体验。它使我们可以试用流行的类Unix操作系统,而无需对计算机进行更改。准备安装Ubuntu时,可以使用U盘作为安装介质。
我们将需要一个Ubuntu安装ISO镜像来创建可启动的U盘,因此请确保已下载了要使用的Ubuntu版本。
需要明确的是,该可启动U盘将启动到Ubuntu Linux的工作副本中,但不会保存我们所做的任何更改。每次从该U盘引导到Ubuntu时,它将是Ubuntu的一个新实例。如果我们希望能够保存更改和数据,则需要创建具有持久性存储的可启动U盘。那是一个更复杂的过程。
只需将生成的U盘插入任何计算机,然后从USB设备启动即可。 (在某些PC上,我们可能还必须禁用安全启动,具体取决于我们选择的Linux发行版。)
虽然我们在这里以Ubuntu为例,但其他Linux发行版也可以类似地工作。
如何以图形方式制作可启动的U盘
默认的Ubuntu安装包括一个名为Startup Disk Creator的应用程序,我们将使用它来创建可启动的U盘。如果我们使用的是其他Linux发行版,则它可能包含类似的实用程序。查看Linux发行版的文档,我们可以在线搜索以获得更多信息。
对于Windows用户,我们建议使用Rufus轻松创建活动U盘。
警告:这将删除目标U盘的内容。为了确保我们不会意外地错误地写入错误的U盘,我们建议在继续操作之前先卸下所有其他连接的U盘。
对于Ubuntu,任何4 GB或者更大容量的U盘都可以。如果我们选择的Linux ISO大于大多数,则可能需要更大的U盘。
当我们确定正确的U盘是连接到计算机的唯一驱动器时,请启动Startup Disk Creator。为此,请按Super键(这是大多数键盘上的Windows键),然后键入启动盘。将出现启动盘Creator图标。单击其图标或者按Enter。
将出现启动磁盘创建器的主窗口。 USB设备将在下部窗格中突出显示。
单击其他按钮。将显示一个标准文件打开对话框。浏览到Ubuntu ISO文件的位置,突出显示它,然后单击"打开"按钮。
"启动磁盘创建器"主窗口现在应类似于以下屏幕截图。上部窗格中应突出显示ISO镜像,下部窗格中应突出显示U盘。
自己确认ISO镜像和U盘正确。当我们乐意继续时,请单击"制作启动盘"按钮。
出现警告,提醒我们U盘将被完全擦除。这是我们不更改U盘而退出的最后机会。单击是按钮创建可启动的U盘。
进度条显示创建过程离完成有多近。
当可启动U盘的创建完全完成时,会出现一条确认消息,通知我们。在我们用于本文的计算机上,该过程耗时约五分钟。
单击退出按钮。现在,我们可以重新启动计算机并从U盘启动,也可以拔下U盘,将其带到另一台计算机上,然后从那里启动。
如何使用dd制作可启动U盘
我们将用于从命令行创建可启动驱动器的工具是dd命令。
警告:必须非常小心地使用此命令。告诉我们之后,dd
就会完全按照指示进行。我们不确定是否有问题或者退缩的机会。 dd会继续执行我们给出的指示。因此,我们需要非常小心,以确保我们告诉它要做的事情绝对是我们想要它做的事情。
我们需要知道U盘与哪个设备关联。这样,我们就可以确定在命令行上将哪些设备标识传递给dd。
在终端窗口中,键入以下命令。 " lsblk"命令列出了计算机上的块设备。每个驱动器都有一个与之关联的块设备。
lsblk
" lsblk"的输出将显示当前连接到计算机的驱动器。这台机器上有一个名为" sda"的内部硬盘驱动器,并且有一个名为" sda1"的分区。
插入U盘,然后再次使用lsblk
命令。 lsblk
的输出将改变。现在,U盘将在输出中列出。
列表中有一个名为" sdb"的新条目,它具有两个分区。一个分区称为" sdb1",大小为1 KB。另一个分区称为" sdb5",大小为14.6 GB。
这就是我们的U盘。我们需要使用的标识符代表驱动器,而不是两个分区。在我们的示例中,它是sdb
。无论我们在计算机上如何命名,都没有在前面的lsblk
列表中的设备为U盘。
我们要向dd
发出的命令如下:
sudo dd bs=4M if=Downloads/ubuntu-19.04-desktop-amd64.iso of=/dev/sdb conv=fdatasync
让我们分解一下。
sudo:我们需要成为超级用户才能发出dd命令。系统将提示我们输入密码。
dd:我们正在使用的命令的名称。
bs = 4M:-bs(块大小)选项定义从输入文件读取并写入输出设备的每个块的大小。 4 MB是一个不错的选择,因为它提供了不错的吞吐量,并且是4 KB的精确倍数,这是ext4文件系统的块大小。这提供了有效的读写速率。
if = Downloads / ubuntu-19.04-desktop-amd64.iso:-if选项(输入文件)需要我们用作输入文件的Linux ISO镜像的路径和名称。
of = / dev / sdb:-of(输出文件)是关键参数。这必须与代表U盘的设备一起提供。这是我们之前使用
lsblk'命令确定的值。在我们的示例中,它是
sdb,因此我们正在使用
/ dev / sdb`。U盘可能具有不同的标识符。确保提供正确的标识符。conv = fdatasync:conv参数指示dd在将输入文件写入输出设备时如何转换输入文件。 dd在写入U盘时使用内核磁盘缓存。fdatasync修饰符可确保在创建过程标记为已完成之前正确,完全刷新了写入缓冲区。
随着创建进度的进行,从dd根本没有视觉反馈。它可以正常工作,直到完成后才报告任何内容。
更新:在最新版本中," dd"现在具有" status = progress"选项,该选项每秒提供一次该进程的更新。例如,我们可以运行以下命令来查看状态:
sudo dd bs=4M if=Downloads/ubuntu-19.04-desktop-amd64.iso of=/dev/sdb conv=fdatasync status=progress
创建可启动U盘后," dd"会报告已写入U盘的数据量,经过的时间(以秒为单位)和平均数据传输速率。
我们可以通过重新引导计算机并从U盘引导来检查可引导U盘是否正常工作,也可以尝试在另一台计算机中从该驱动器引导。