网站搜索

在 Linux 中从 ISO 创建可启动 USB 的 Bash 脚本


Bootiso 是一款功能强大的 Bash 脚本,可轻松安全地从一个 ISO 文件创建可启动 USB 设备。它可以帮助您使用终端中的单个命令从 ISO 创建可启动 USB。这是一个精心定制的脚本,使用 shellcheck 精心组织和验证。

它必须以 root 权限运行,如果您的系统上没有它所需的外部程序,它会要求您安装它们并退出。 Bootiso 检查所选 ISO 是否具有正确的 mime 类型,否则退出。为了防止系统损坏,它确保所选设备仅通过 USB 连接。

另请阅读:在 Linux 中从 ISO 映像提取和复制文件的 3 种方法

在对 USB 设备进行格式化和分区之前,它会提示您接受执行操作以防止任何数据丢失。重要的是,它可以管理因内部命令适当退出而导致的任何故障。此外,它还通过使用 trap 实用程序在退出时清除所有临时文件。

在 Linux 中安装 Bootiso 脚本

从源安装 bootiso 的简单方法是克隆 git 存储库并设置执行权限,如图所示。

git clone https://github.com/jsamr/bootiso.git
cd bootiso/
chmod +x bootiso

接下来,将脚本移动到 bin 路径(例如 ~/bin//usr/local/bin/),以像系统上的任何其他 Linux 命令一样运行它。

mv bootiso ~/bin/

安装后,运行 bootiso 的语法是提供 ISO 作为第一个参数。

bootiso myfile.iso

要从 ISO 文件创建可启动 USB 设备,首先需要使用 -l 标志列出连接到系统的所有可用 USB 驱动器,如图所示。

bootiso -l

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

接下来,要将设备 (/dev/sdb) 设为可启动设备,只需提供 ISO 作为第一个参数即可。请注意,如果只有一个 USB 设备连接到系统(如上例所示),脚本将自动选择它,否则,它将要求您从自动生成的所有连接的 USB 驱动器列表中进行选择。

sudo bootiso ~/Templates/eXternOS.iso 

您还可以使用 -a 标志与 -y(在格式化 USB 驱动器之前禁用提示用户)选项一起启用自动选择 USB 驱动器,如图所示。

sudo bootiso -a -y ~/Templates/eXternOS.iso

如果您有多个 USB 设备连接到系统,则可以使用 -d 标志显式指定要从命令行启动的 USB 设备,如图所示。

sudo bootiso -d /dev/sdb ~/Templates/eXternOS.iso  

默认情况下,bootiso 使用 mount + rsync 来使用 dd 命令,如图所示添加 --dd 标志。

sudo bootiso --dd -d ~/Templates/eXternOS.iso      

此外,对于非混合 ISO,您可以使用 syslinux 和 -b 选项安装引导加载程序,如下所示。然而,此选项不支持dd 命令

sudo bootiso -b /ptah/to/non-hybrid/file.iso
OR
sudo bootiso -bd /usb/device /ptah/to/non-hybrid/file.iso

有关其他 bootiso 功能和选项的更多信息,请参阅帮助消息。

bootiso -h  

Bootiso Github 存储库:https://github.com/jsamr/bootiso

就是这样! Bootiso 是一个功能强大的 Bash 脚本,可通过终端上的单个命令轻松、安全地从一个 ISO 文件创建可启动 USB 设备。使用下面的评论表分享您的想法或提出问题。