为了安装操作系统,我们中的大多数人(包括我)经常从 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 -lListing 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.ReadmeBootiso v2.5.2.Author: Jules Samuel RandolphBugs and new features: https://github.com/jsamr/bootiso/issuesIf 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: www.2daygeek.com/bootiso-a-s…

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

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

转载于:https://juejin.im/post/5d06560b6fb9a07eee5eccad

BootISO:从 ISO 文件中创建一个可启动的 USB 设备相关推荐

  1. 基类和派生类写在一个文件中_BootISO:从 ISO 文件中创建一个可启动的 USB 设备...

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

  2. dd命令iso linux_BootISO:从 ISO 文件中创建一个可启动的 USB 设备

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

  3. 学习在Unity中创建一个动作RPG游戏

    游戏开发变得简单.使用Unity学习C#并创建您自己的动作角色扮演游戏! 你会学到什么 学习C#,一种现代通用的编程语言. 了解Unity中2D发展的能力. 发展强大的和可移植的解决问题的技能. 了解 ...

  4. 学会在Unity中创建一个Match-3益智游戏 Learn To Create a Match-3 Puzzle Game in Unity

    MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 Ch 语言:英语+中英文字幕(根据原英文字幕机译更准确) |时长:48场讲座(6h 38m) |大小解压后:2.8 G ...

  5. 在windows中创建一个影子用户

    在windows中创建一个影子用户(看不到图请下载附件) 我们可以在windows操作系统中建立一个影子用户,也就是它是实际存在的,但是不会在登录时或者用户组中显示,我们可以赋予影子用户管理员权限,可 ...

  6. 在Objective-C中创建一个抽象类

    我原来是一名Java程序员,现在使用Objective-C. 我想创建一个抽象类,但在Objective-C中似乎不可能. 这可能吗? 如果没有,我可以在Objective-C中获得一个抽象类的接近程 ...

  7. 从另一个分支在Git中创建一个分支

    我有两个分支: master和dev 我想从dev分支创建一个"功能分支". 目前在分支机构dev上,我执行以下操作: $ git checkout -b myfeature de ...

  8. 是否可以在另一个CSS文件中包含一个?

    是否可以在另一个CSS文件中包含一个? #1楼 是的,可以使用@import并提供css文件的路径,例如 @import url("mycssfile.css"); 要么 @imp ...

  9. 如何在另一个JavaScript文件中包含一个JavaScript文件?

    JavaScript中是否有类似于CSS中@import的内容,可让您在另一个JavaScript文件中包含一个JavaScript文件? #1楼 而不是在运行时添加,而是使用脚本在上传之前进行串联. ...

最新文章

  1. 【自然框架】——思路、结构、特点的介绍(初稿,欢迎大家多提意见)
  2. [别被脱库]—数据库的初恋~
  3. 06列表的常用基本操作
  4. CString string 转换
  5. 互联网又一个变态条款 “奋斗者协议”
  6. 新增对象Products 的流程说明
  7. 博客美化的源码(标签,小老鼠,时钟,二次元,雪花,QQ聊天等)
  8. HiJson,一个json格式化查看工具
  9. php引用字体,php – 使用imagettftext()时,如何处理字体文件不支持的字符?
  10. Bootstrap-table固定表头并美化表头
  11. 1t98cp.com main.php,SCTF2019 Writeup——De1ta
  12. ubuntu16.04 联想拯救者y7000笔记本电脑安装1060显卡驱动,及ubuntu16.04更新内核
  13. 将Python2代码转换成Python3代码
  14. 不使用setPositiveButton 如何让alertdialog消失
  15. python统计套利_基于python的统计套利实战(四)之策略实现
  16. python开发部署时新增数据库中表的方法
  17. 执行npm出现“Error:Cannot find module ‘fs/promises”的问题
  18. 大学生如何修好进水的电脑
  19. Samsung/三星I847(Rugby Smart) root教程_方法
  20. 北京2008年奥运会门票价格详细一览表

热门文章

  1. 数据结构——HDU1312:Red and Black(DFS)
  2. 通过padding-bottom或者padding-top实现等比缩放响应式图片
  3. 异构并行编程(CUDA)结课证书
  4. 我才知道wordpress还有com和org的区别呢
  5. ASP.Net开发新手常见问题备忘录
  6. 用c语言实现对n个进程采用“短进程优先”算法的进程调度_为什么Linux CFS调度器没有带来惊艳的碾压效果?...
  7. python程序设计试卷_2013Python程序设计期末试卷A
  8. 实验楼 “python3简明教程” 挑战三:玩转函数
  9. 目标检测--边界框(bounding box)解析
  10. oracle sql语句序列,Oracle SQL:使用Select语句插入序列