歡迎光臨
每天分享高質量文章

Bootiso :讓你安全地建立 USB 啟動裝置 | Linux 中國

我發現了另一個可以安全建立 USB 引導裝置的工具 Bootiso 。它實際上是一個 BASH 指令碼,但真的很智慧!
— Sk


致謝
編譯自 | https://www.ostechnix.com/bootiso-lets-you-safely-create-bootable-usb-drive/ 
 作者 | Sk
 譯者 | kennethXia ? ? 共計翻譯:5 篇 貢獻時間:30 天

你好,新兵!你們有些人經常使用 dd 命令做各種各樣的事,比如建立 USB 啟動盤或者克隆硬碟分割槽。不過請牢記,dd 是一個危險且有毀滅性的命令。如果你是個 Linux 的新手,最好避免使用 dd 命令。如果你不知道你在做什麼,你可能會在幾分鐘裡把硬碟擦掉。從原理上說,dd只是從 if 讀取然後寫到 of 上。它才不管往哪裡寫呢。它根本不關心那裡是否有分割槽表、引導區、家目錄或是其他重要的東西。你叫它做什麼它就做什麼。可以使用像 Etcher[1] 這樣的使用者友好的應用來代替它。這樣你就可以在建立 USB 引導裝置之前知道你將要格式化的是哪塊盤。

今天,我發現了另一個可以安全建立 USB 引導裝置的工具 Bootiso 。它實際上是一個 BASH 指令碼,但真的很智慧!它有很多額外的功能來幫我們安全建立 USB 引導盤。如果你想確保你的標的是 USB 裝置(而不是內部驅動器),或者如果你想檢測 USB 裝置,你可以使用 Bootiso。下麵是使用此指令碼的顯著優點:

◈ 如果只有一個 USB 驅動器,Bootiso 會自動選擇它。
◈ 如果有一個以上的 USB 驅動器存在,它可以讓你從串列中選擇其中一個。
◈ 萬一你錯誤地選擇一個內部硬碟驅動器,它將退出而不做任何事情。
◈ 它檢查選定的 ISO 是否具有正確的 MIME 型別。如果 MIME 型別不正確,它將退出。
◈ 它判定所選的專案不是分割槽,如果判定失敗則退出。
◈ 它將在擦除和對 USB 驅動器分割槽之前提示使用者確認。
◈ 列出可用的 USB 驅動器。
◈ 安裝 syslinux 引導系統 (可選)。
◈ 自由且開源。

使用 Bootiso 安全地建立 USB 驅動器

安裝 Bootiso 非常簡單。用這個命令下載最新版本:

  1. $ curl -L https://rawgit.com/jsamr/bootiso/latest/bootiso -O

把下載的檔案加到 $PATH 目錄中,比如 /usr/local/bin/

  1. $ sudo cp bootiso /usr/local/bin/

最後,新增執行許可權:

  1. $ sudo chmod +x /usr/local/bin/bootiso

搞定!現在就可以建立 USB 引導裝置了。首先,讓我們用命令看看現在有哪些 USB 驅動器:

  1. $ bootiso -l

輸出:

  1. Listing USB drives available in your system:

  2. NAME HOTPLUG SIZE STATE TYPE

  3. sdb 1 7.5G running disk

如你所見,我只有一個 USB 驅動器。讓我們繼續透過命令用 ISO 檔案建立 USB 啟動盤:

  1. $ bootiso bionic-desktop-amd64.iso

這個命令會提示你輸入 sudo 密碼。輸入密碼並回車來安裝缺失的元件(如果有的話),然後建立 USB 啟動盤。

輸出:

  1. [...]

  2. Listing USB drives available in your system:

  3. NAME HOTPLUG SIZE STATE TYPE

  4. sdb 1 7.5G running disk

  5. Autoselecting `sdb' (only USB device candidate)

  6. The selected device `/dev/sdb' is connected through USB.

  7. Created ISO mount point at `/tmp/iso.c5m'

  8. `bootiso' is about to wipe out the content of device `/dev/sdb'.

  9. Are you sure you want to proceed? (y/n)>y

  10. Erasing contents of /dev/sdb...

  11. Creating FAT32 partition on `/dev/sdb1'...

  12. Created USB device mount point at `/tmp/usb.QgV'

  13. Copying files from ISO to USB device with `rsync'

  14. Synchronizing writes on device `/dev/sdb'

  15. `bootiso' took 303 seconds to write ISO to USB device with `rsync' method.

  16. ISO succesfully unmounted.

  17. USB device succesfully unmounted.

  18. USB device succesfully ejected.

  19. You can safely remove it !

如果你的 ISO 檔案 MIME 型別不對,你會得到下列錯誤資訊:

  1. Provided file `bionic-desktop-amd64.iso' doesn't seem to be an iso file (wrong mime type: `application/octet-stream').

  2. Exiting bootiso...

當然,你也能像下麵那樣使用 –no-mime-check 選項來跳過 MIME 型別檢查。

  1. $ bootiso --no-mime-check bionic-desktop-amd64.iso

就像我前面提到的,如果系統裡只有 1 個 USB 裝置 Bootiso 將自動選中它。所以我們不需要告訴它 USB 裝置路徑。如果你連線了多個裝置,你可以像下麵這樣使用 -d 來指明 USB 裝置。

  1. $ bootiso -d /dev/sdb bionic-desktop-amd64.iso

用你自己的裝置路徑來換掉 /dev/sdb

在多個裝置情況下,如果你沒有使用 -d 來指明要使用的裝置,Bootiso 會提示你選擇可用的 USB 裝置。

Bootiso 在擦除和改寫 USB 盤分割槽前會要求使用者確認。使用 -y 或 –assume-yes 選項可以跳過這一步。

  1. $ bootiso -y bionic-desktop-amd64.iso

您也可以把自動選擇 USB 裝置與 -y 選項連用,如下所示。

  1. $ bootiso -y -a bionic-desktop-amd64.iso

或者,

  1. $ bootiso?--assume-yes?--autoselect bionic-desktop-amd64.iso

請記住,當你只連線一個 USB 驅動器時,它才會起作用。

Bootiso 會預設建立一個 FAT 32 分割槽,掛載後用 rsync 程式把 ISO 的內容複製到 USB 盤裡。 如果你願意也可以使用 dd 代替 rsync 。

  1. $ bootiso --dd -d /dev/sdb bionic-desktop-amd64.iso

如果你想增加 USB 引導的成功機率,請使用 -b 或 –bootloader 選項。

  1. $ bootiso -b bionic-desktop-amd64.iso

上面這條命令會安裝 syslinux 引導程式(安全樣式)。註意,此時 –dd 選項不可用。

在建立引導裝置後,Bootiso 會自動彈出 USB 裝置。如果不想自動彈出,請使用 -J 或 –no-eject 選項。

  1. $ bootiso -J bionic-desktop-amd64.iso

現在,USB 裝置依然連線中。你可以使用 umount 命令隨時解除安裝它。

需要完整幫助資訊,請輸入:

  1. $ bootiso -h

好,今天就到這裡。希望這個指令碼對你有幫助。好貨不斷,不要走開哦!


via: https://www.ostechnix.com/bootiso-lets-you-safely-create-bootable-usb-drive/

作者:SK[3] 選題:lujun9972 譯者:kennethXia 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

贊(0)

分享創造快樂