BootISO:從 ISO 檔案中建立一個可啟動的 USB 裝置

Prakash Subramanian發表於2019-06-16

為了安裝作業系統,我們中的大多數人(包括我)經常從 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中國 榮譽推出

BootISO:從 ISO 檔案中建立一個可啟動的 USB 裝置

訂閱“Linux 中國”官方小程式來檢視

相關文章