Bootiso 让您在 Linux 中安全地创建可启动的 USB 驱动器

有许多工具和应用程序可用于在 Linux 中创建可引导磁盘。 如果你更喜欢命令行方式,有 dd 命令 做各种事情,比如创建 USB 驱动器或克隆磁盘分区。 请注意 dd 命令是危险且具有破坏性的命令之一。 如果您是初学者,最好避免使用 dd 命令并使用任何图形化、用户友好的应用程序,例如 金德, 蚀刻机, 有风 等,以创建可启动的 USB 驱动器。

今天,我偶然发现了另一个名为的命令行实用程序 “布提索”,它有一些额外的功能可以帮助我们安全地创建可启动的 USB 设备。 它实际上是一个 BASH 脚本,非常棒! 如果你想确保你的目标是正确的 USB 设备(而不是内部驱动器),或者如果你想自动检测 USB 设备,你可以使用 bootiso。 以下是使用此脚本的显着优势:

  • 如果只有一个 U 盘,Bootiso 会自动选择它。
  • 如果存在多个 USB 驱动器,您可以从列表中选择其中一个。
  • 万一您错误地选择了内部硬盘驱动器之一,它将退出而不做任何事情。
  • 它检查所选 ISO 是否具有正确的 mime 类型。 如果它有错误的 MIME 类型,它将退出。
  • 它断言所选项目不是分区,如果不是则退出。
  • 它会在擦除和分区 USB 驱动器之前提示用户确认。
  • 列出可用的 USB 驱动器。
  • 安装 syslinux 引导加载程序(可选)。
  • 免费和开源。

使用 Bootiso 安全地创建可启动 USB 驱动器

安装 Bootiso 非常简单。 使用命令下载最新版本:

$ curl -L https://rawgit.com/jsamr/bootiso/latest/bootiso -O

将下载的文件移动到您的 $路径,例如 /usr/local/bin/。

$ sudo cp bootiso /usr/local/bin/

最后,使其可执行:

$ sudo chmod +x /usr/local/bin/bootiso

完毕! 现在,是时候创建可启动的 USB 驱动器了。 首先,让我们使用命令查看有多少个 USB 驱动器:

$ bootiso -l   

样本输出:

Listing USB drives available in your system: NAME HOTPLUG SIZE STATE TYPE sdb 1 7.5G running disk

如您所见,我只有一个 USB 驱动器。 我已经下载了 ISO 文件(Ubuntu 18.04 LTS)并将其保存在当前工作目录中。

让我们继续使用以下命令从 ISO 文件创建可引导的 USB:

$ bootiso bionic-desktop-amd64.iso

此命令将提示您输入 sudo 密码。 输入密码并按 ENTER 键安装缺少的依赖项(如果有),然后创建 USB 可启动设备。

样本输出:

[...] Listing USB drives available in your system: NAME HOTPLUG SIZE STATE TYPE sdb 1 7.5G running disk Autoselecting `sdb' (only USB device candidate) The selected device `/dev/sdb' is connected through USB. Created ISO mount point at `/tmp/iso.c5m' `bootiso' is about to wipe out the content of device `/dev/sdb'. Are you sure you want to proceed? (y/n)>y Erasing contents of /dev/sdb... Creating FAT32 partition on `/dev/sdb1'... Created USB device mount point at `/tmp/usb.QgV' Copying files from ISO to USB device with `rsync'  Synchronizing writes on device `/dev/sdb'  `bootiso' took 303 seconds to write ISO to USB device with `rsync' method. ISO succesfully unmounted. USB device succesfully unmounted. USB device succesfully ejected. You can safely remove it !

如果您的 ISO 文件具有错误的 mime 类型,您将看到以下错误消息:

Provided file `bionic-desktop-amd64.iso' doesn't seem to be an iso file (wrong mime type: `application/octet-stream'). Exiting bootiso...

但是,您可以使用以下方式跳过 mime 类型检查 –no-mime-check 选项如下。

$ bootiso --no-mime-check bionic-desktop-amd64.iso

就像我已经提到的,如果您的系统中只有一个 USB 驱动器,Bootiso 将自动选择 USB 驱动器。 因此,我们无需提及 USB 磁盘路径。 如果您连接了多个设备,则可以使用明确指定 USB 设备路径 -d 像下面这样的标志。

$ bootiso -d /dev/sdb bionic-desktop-amd64.iso 

将“/dev/sdb”替换为您自己的路径。

如果您不指定 -d 当使用多个 USB 设备时,Bootiso 会提示您从可用的 USB 驱动器中进行选择。

Bootiso 在擦除和分区 USB 设备之前会要求用户确认。 要自动确认这一点,请使用 -Y 或者 –假设是 旗帜。

$ bootiso -y bionic-desktop-amd64.iso

您还可以启用自动选择 USB 设备 -Y 选项如下图。

$ bootiso -y -a bionic-desktop-amd64.iso

或者,

$ bootiso --assume-yes --autoselect  bionic-desktop-amd64.iso

请记住,只有当您只有一个连接的 USB 驱动器时,它才会起作用。

默认情况下,Bootiso 会创建一个 脂肪 32 分区,然后使用挂载和复制 ISO 内容 “rsync” 程序到您的 USB 驱动器。 如果需要,您也可以使用“dd”而不是“rsync”。

$ bootiso --dd -d /dev/sdb bionic-desktop-amd64.iso

如果您想增加 USB 可启动的几率,请使用 “-b” 或者 “–引导加载程序” 如下所示。

$ bootiso -b bionic-desktop-amd64.iso

上面的命令将安装一个引导加载程序 系统Linux (安全模式)。 请注意,如果您使用“–dd”选项,它将不起作用。

创建可启动设备后,Bootiso 会自动弹出 U 盘。 如果您不希望它自动弹出它,请使用 -J 或者 –不弹出 旗帜。

$ bootiso -J bionic-desktop-amd64.iso

现在,USB 设备将保持连接状态。 您可以随时使用“umount”命令卸载它。

更新:

Bootiso 版本 3 已经发布,并进行了许多改进。

  • 自动模式行为: 值得注意的是,它现在检查 ISO 文件以检查它是否是混合的。 如果不是,它会查找 UEFI 和 SYSLINUX 引导功能。 之后,它会选择最佳安装模式(dd 或 mount+rsync)并最终安装 SYSLINUX。 所以你基本上不再需要关心 rsync 或 dd 模式,只需运行 `bootiso myfile.iso’ 就可以了,即使是 UltimateBootCD 之类的救援 CD;
  • 新的 i, --inspect-p, --probe 检查 ISO 引导功能的措施;
  • 新的 -f, --format 采取行动 -t, --type-L, --label 使用实时 USB 时快速格式化 USB 记忆棒的选项。

要显示帮助部分,请运行:

$ bootiso -h

建议阅读:

  • 冰棒 – 一次创建多个可启动的 USB 驱动器
  • MultiCD – 创建多重引导 CD、DVD 和 USB 映像
  • 如何直接从 Internet 将 ISO 写入 USB 驱动器
  • 如何在 Linux 中从可启动的 USB 驱动器创建 ISO
  • 如何创建自定义 Ubuntu Live CD 映像

资源:

  • Bootiso GitHub 存储库

BASH可引导的 USB 创建工具BootisoLinux