BootISO:從 ISO 文件中創建一個可啟動的 USB 設備

腳本語言 Linux Bash 操作系統 Arch Linux Linux中國 2019-06-18
BootISO:從 ISO 文件中創建一個可啟動的 USB 設備

今天,我們將討論名為 BootISO 的實用程序類似工具。它是一個簡單的 bash 腳本,允許用戶來從 ISO 文件中創建一個可啟動的 USB 設備。

-- Prakash Subramanian(作者)

為了安裝操作系統,我們中的大多數人(包括我)經常從 ISO 文件中創建一個可啟動的 USB 設備。為達到這個目的,在 Linux 中有很多自由可用的應用程序。甚至在過去我們寫了幾篇介紹這種實用程序的文章。

每個人使用不同的應用程序,每個應用程序有它們自己的特色和功能。在這些應用程序中,一些應用程序屬於 CLI 程序,一些應用程序則是 GUI 的。

今天,我們將討論名為 BootISO 的實用程序類似工具。它是一個簡單的 bash 腳本,允許用戶來從 ISO 文件中創建一個可啟動的 USB 設備。

很多 Linux 管理員使用 dd 命令開創建可啟動的 ISO ,它是一個著名的原生方法,但是與此同時,它也是一個非常危險的命令。因此,小心,當你用 dd 命令執行一些動作時。

建議閱讀:

  • Etcher:從一個 ISO 鏡像中創建一個可啟動的 USB 驅動器 & SD 卡的簡單方法
  • 在 Linux 上使用 dd 命令來從一個 ISO 鏡像中創建一個可啟動的 USB 驅動器

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中國 榮譽推出

點擊“瞭解更多”可訪問文內鏈接

相關推薦

推薦中...