Linux中國

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

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


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    這個站點使用 Akismet 來減少垃圾評論。了解你的評論數據如何被處理

    More in:Linux中國

    Linux中國

    捐贈 Let's Encrypt,共建安全的互聯網

    隨著 Mozilla、蘋果和谷歌對沃通和 StartCom 這兩家 CA 公司處罰落定,很多使用這兩家 CA 所簽發證書的網站紛紛尋求新的證書籤發商。有一個非盈利組織可以為大家提供了免費、可靠和安全的 SSL 證書服務,這就是 Let's Encrypt 項目。現在,它需要您的幫助
    Linux中國

    關於Linux防火牆iptables的面試問答

    Nishita Agarwal是Tecmint的用戶,她將分享關於她剛剛經歷的一家公司(印度的一家私人公司Pune)的面試經驗。在面試中她被問及許多不同的問題,但她是iptables方面的專家,因此她想分享這些關於iptables的問題和相應的答案給那些以後可能會進行相關面試的人。 所有的問題和相應的答案都基於Nishita Agarwal的記憶並經過了重寫。 嗨,朋友!我叫Nishita Agarwal。我已經取得了理學學士學位,我的專業集中在UNIX和它的變種(BSD,Linux)。它們一直深深的吸引著我。我在存儲方面有1年多的經驗。我正在尋求職業上的變化,並將供職於印度的P
    Linux中國

    Lets Encrypt 已被所有主流瀏覽器所信任

    旨在讓每個網站都能使用 HTTPS 加密的非贏利組織 Lets Encrypt 已經得了 IdenTrust的交叉簽名,這意味著其證書現在已經可以被所有主流的瀏覽器所信任。從這個裡程碑事件開始,訪問者訪問使用了Lets Encrypt 證書的網站不再需要特別配置就可以得到 HTTPS 安全保護了。 Lets Encrypt 的兩個中級證書 ...