BootISO:从 ISO 文件中创建一个可启动的 USB 设备
创始人
2024-03-02 02:56:39
0

为了安装操作系统,我们中的大多数人(包括我)经常从 ISO 文件中创建一个可启动的 USB 设备。为达到这个目的,在 Linux 中有很多自由可用的应用程序。甚至在过去我们写了几篇介绍这种实用程序的文章。

每个人使用不同的应用程序,每个应用程序有它们自己的特色和功能。在这些应用程序中,一些应用程序属于 CLI 程序,一些应用程序则是 GUI 的。

今天,我们将讨论名为 BootISO 的实用程序类似工具。它是一个简单的 bash 脚本,允许用户来从 ISO 文件中创建一个可启动的 USB 设备。

很多 Linux 管理员使用 dd 命令开创建可启动的 ISO ,它是一个著名的原生方法,但是与此同时,它也是一个非常危险的命令。因此,小心,当你用 dd 命令执行一些动作时。

建议阅读:

BootISO 是什么

BootISO 是一个简单的 bash 脚本,允许用户来安全的从一个 ISO 文件中创建一个可启动的 USB 设备,它是用 bash 编写的。

它不提供任何图形用户界面而是提供了大量的选项,可以让初学者顺利地在 Linux 上来创建一个可启动的 USB 设备。因为它是一个智能工具,能自动地选择连接到系统上的 USB 设备。

当系统有多个 USB 设备连接,它将打印出列表。当你手动选择了另一个硬盘而不是 USB 时,在这种情况下,它将安全地退出,而不会在硬盘上写入任何东西。

这个脚本也将检查依赖关系,并提示用户安装,它可以与所有的软件包管理器一起工作,例如 apt-get、yum、dnf、pacman 和 zypper。

BootISO 的功能

  • 它检查选择的 ISO 是否是正确的 mime 类型。如果不是,那么退出。
  • 如果你选择除 USB 设备以外的任何其它的磁盘(本地硬盘),BootISO 将自动地退出。
  • 当你有多个驱动器时,BootISO 允许用户选择想要使用的 USB 驱动器。
  • 在擦除和分区 USB 设备前,BootISO 会提示用户确认。
  • BootISO 将正确地处理来自一个命令的任何错误,并退出。
  • BootISO 在遇到问题退出时将调用一个清理例行程序。

如何在 Linux 中安装 BootISO

在 Linux 中安装 BootISO 有几个可用的方法,但是,我建议用户使用下面的方法安装。

$ curl -L https://git.io/bootiso -O
$ chmod +x bootiso
$ sudo mv bootiso /usr/local/bin/

一旦 BootISO 已经安装,运行下面的命令来列出可用的 USB 设备。

$ bootiso -l

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

如果你仅有一个 USB 设备,那么简单地运行下面的命令来从一个 ISO 文件中创建一个可启动的 USB 设备。

$ bootiso /path/to/iso file
$ bootiso /opt/iso_images/archlinux-2018.05.01-x86_64.iso
Granting root privileges for bootiso.
Listing USB drives available in your system:
NAME HOTPLUG SIZE STATE   TYPE
sdd  1       32G  running disk
Autoselecting `sdd' (only USB device candidate)
The selected device `/dev/sdd' is connected through USB.
Created ISO mount point at `/tmp/iso.vXo'
`bootiso' is about to wipe out the content of device `/dev/sdd'.
Are you sure you want to proceed? (y/n)>y
Erasing contents of /dev/sdd...
Creating FAT32 partition on `/dev/sdd1'...
Created USB device mount point at `/tmp/usb.0j5'
Copying files from ISO to USB device with `rsync' 
Synchronizing writes on device `/dev/sdd' 
`bootiso' took 250 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 !

当你有多个 USB 设备时,可以使用 --device 选项指明你的设备名称。

$ bootiso -d /dev/sde /opt/iso_images/archlinux-2018.05.01-x86_64.iso

默认情况下,BootISO 使用 rsync 命令来执行所有的动作,如果你想使用 dd 命令代替它,使用下面的格式。

$ bootiso --dd -d /dev/sde /opt/iso_images/archlinux-2018.05.01-x86_64.iso

如果你想跳过 mime 类型检查,BootISO 实用程序带有下面的选项。

$ bootiso --no-mime-check -d /dev/sde /opt/iso_images/archlinux-2018.05.01-x86_64.iso

为 BootISO 添加下面的选项来跳过在擦除和分区 USB 设备前的用户确认。

$ bootiso -y -d /dev/sde /opt/iso_images/archlinux-2018.05.01-x86_64.iso

连同 -y 选项一起,启用自动选择 USB 设备。

$ bootiso -y -a /opt/iso_images/archlinux-2018.05.01-x86_64.iso

为知道更多的 BootISO 选项,运行下面的命令。

$ bootiso -h
Create a bootable USB from any ISO securely.
Usage: bootiso [...] 

Options

-h, --help, help             Display this help message and exit.
-v, --version                Display version and exit.
-d, --device         Select  block file as USB device.
                             If  is not connected through USB, `bootiso' will fail and exit.
                             Device block files are usually situated in /dev/sXX or /dev/hXX.
                             You will be prompted to select a device if you don't use this option.
-b, --bootloader             Install a bootloader with syslinux (safe mode) for non-hybrid ISOs. Does not work with `--dd' option.
-y, --assume-yes             `bootiso' won't prompt the user for confirmation before erasing and partitioning USB device.
                             Use at your own risks.
-a, --autoselect             Enable autoselecting USB devices in conjunction with -y option.
                             Autoselect will automatically select a USB drive device if there is exactly one connected to the system.
                             Enabled by default when neither -d nor --no-usb-check options are given.
-J, --no-eject               Do not eject device after unmounting.
-l, --list-usb-drives        List available USB drives.
-M, --no-mime-check          `bootiso' won't assert that selected ISO file has the right mime-type.
-s, --strict-mime-check      Disallow loose application/octet-stream mime type in ISO file.
--                           POSIX end of options.
--dd                         Use `dd' utility instead of mounting + `rsync'.
                             Does not allow bootloader installation with syslinux.
--no-usb-check               `bootiso' won't assert that selected device is a USB (connected through USB bus).
                             Use at your own risks.

Readme

    Bootiso v2.5.2.
    Author: Jules Samuel Randolph
    Bugs and new features: https://github.com/jsamr/bootiso/issues
    If you like bootiso, please help the community by making it visible:
    * star the project at https://github.com/jsamr/bootiso
    * upvote those SE post: https://goo.gl/BNRmvm https://goo.gl/YDBvFe

via: https://www.2daygeek.com/bootiso-a-simple-bash-script-to-securely-create-a-bootable-usb-device-in-linux-from-iso-file/

作者:Prakash Subramanian 选题:lujun9972 译者:robsean 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

消息称Meta下月启动首轮...
IT之家4月18日消息,北京时间今天(4月18日)凌晨,据路透社援...
2026-04-18 11:16:43
让AI多联机选型有据可依:...
如今,无论是老旧楼宇改造还是新建商场配套,AI多联机凭借节能降耗、...
2026-04-08 19:22:23
雷军:小米AI人才招聘专项...
多知4月1日消息,小米集团创始人、董事长兼CEO雷军近日发文表示,...
2026-04-01 20:29:20
雷军:AI人才招聘专项正式...
人民财讯3月30日电,小米董事长兼CEO雷军发文称,小米今年在AI...
2026-03-30 18:23:20
监管部门发现Linux系统...
当我还是青少年的时候,我被禁止看《花花公子》杂志。我只想读里面的文...
2026-03-18 11:39:28
摸清AI产业“家底”,深圳...
南都讯 记者王睦广 深圳抢占人工智能产业科技制高点,加快建设全球人...
2026-03-15 13:05:56

热门资讯

PHP最佳实践(译) 简介PHP是一门复杂的语言,经过多年折腾,使其不同版本之间高度不一致,有时还有些bug。 每个版本都...
值得收藏的 27 个机器学习的... 机器学习 ( Machine Learning ) 有很多方面,当我开始研究学习它时,我发现了各种各...
为什么计量 IT 的生产力如此... 在某些行业里,人们可以根据一些测量标准判定一个人的生产力。比如,如果你是一个零件制造商,可以通过一个...
8个有趣的Linux提示与技巧... 我们时不时给你带来关于Linux的提示与技巧。和这个系列保持一致,这里有8个我们从读者收到最有趣的提...
硬核观察 #885 苹果 AR... 苹果 AR 眼镜被无限期推迟据报道,由于技术上的挑战,苹果公司已经无限期推迟了其轻型增强现实(AR)...
8 个提升你的隐私防护的开源密... 使用一些顶级开源密码管理器,确保你的登录凭证安全无虞。密码管理器是一项非常有用的实用程序。在你想寻找...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
2020 年的 GitHub ... 距离 2020 年结束只剩下区区 24 天,我们即将结束魔幻的 2020 ,迎来新的一年,新的一年或...
开源新闻速递:openSUSE... 今日关注openSUSE 项目组的 Dominique Leuenberger 在他的周报中说:“这...
KDE4.11 Beta1 正...   KDE 项目工作组刚刚发布了 KDE Software Compilation 4.11 Bet...