标签 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,首先要做的是在你的系统上安装 Linux 系统。

它可以通过两种方式实现,使用 Virtualbox、VMWare 等虚拟化应用,或者在你的系统上安装 Linux。

如果你倾向于从 Windows 系统迁移到 Linux 系统或计划在备用机上安装 Linux 系统,那么你须为此创建可启动的 USB 盘。

我们已经写过许多在 Linux 上创建可启动 USB 盘 的文章,如 BootISOEtcherdd 命令,但我们从来没有机会写一篇文章关于在 Windows 中创建 Linux 可启动 USB 盘的文章。不管怎样,我们今天有机会做这件事了。

在本文中,我们将向你展示如何从 Windows 10 创建可启动的 Ubuntu USB 盘。

这些步骤也适用于其他 Linux,但你必须从下拉列表中选择相应的操作系统而不是 Ubuntu。

步骤 1:下载 Ubuntu ISO

访问 Ubuntu 发布 页面并下载最新版本。我想建议你下载最新的 LTS 版而不是普通的发布。

通过 MD5 或 SHA256 验证校验和,确保下载了正确的 ISO。输出值应与 Ubuntu 版本页面值匹配。

步骤 2:下载 Universal USB Installer

有许多程序可供使用,但我的首选是 Universal USB Installer,它使用起来非常简单。只需访问 Universal USB Installer 页面并下载该程序即可。

步骤3:创建可启动的 Ubuntu ISO

这个程序在使用上不复杂。首先连接 USB 盘,然后点击下载的 Universal USB Installer。启动后,你可以看到类似于我们的界面。

  • 步骤 1:选择 Ubuntu 系统。
  • 步骤 2:选择 Ubuntu ISO 下载位置。
  • 步骤 3:它默认选择的是 USB 盘,但是要验证一下,接着勾选格式化选项。

当你点击 “Create” 按钮时,它会弹出一个带有警告的窗口。不用担心,只需点击 “Yes” 继续进行此操作即可。

USB 盘分区正在进行中。

要等待一会儿才能完成。如你您想将它移至后台,你可以点击 “Background” 按钮。

好了,完成了。

现在你可以进行安装 Ubuntu 系统了。但是,它也提供了一个 live 模式,如果你想在安装之前尝试,那么可以使用它。


via: https://www.2daygeek.com/create-a-bootable-live-usb-drive-from-windows-using-universal-usb-installer/

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

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

用这个易用的媒体创建工具来创建一个可引导的 USB 盘或 SD 卡。

可启动 USB 盘是尝试新的 Linux 发行版的很好的方式,以便在安装之前查看你是否喜欢它。虽然一些 Linux 发行版(如 Fedora)可以轻松创建可启动媒体,但大多数其他发行版提供 ISO 或镜像文件,并将创建媒体决定留给用户。用户总是可以选择使用 dd 在命令行上创建媒体——但让我们面对现实,即使对于最有经验的用户来说,这仍然很痛苦。也有一些其它程序,如 Mac 上的 UnetBootIn、Disk Utility 和 Windows 上的 Win32DiskImager,它们都可以创建可启动的 USB。

安装 Etcher

大约 18 个月前,我遇到了 Etcher.io,这是一个很棒的开源项目,可以在 Linux、Windows 或 MacOS 上轻松、简单地创建媒体。Etcher.io 已成为我为 Linux 创建可启动媒体的“首选”程序。我可以轻松下载 ISO 或 IMG 文件并将其刻录到闪存和 SD 卡。这是一个 Apache 2.0 许可证下的开源项目,源代码 可在 GitHub 上获得。

进入 Etcher.io 网站,然后单击适用于你的操作系统:32 位或 64 位 Linux、32 位或 64 位 Windows 或 MacOS 的下载链接。

Etcher 在 GitHub 仓库中提供了很好的指导,可以将 Etcher 添加到你的 Linux 实用程序集合中。

如果你使用的是 Debian 或 Ubuntu,请添加 Etcher Debian 仓库:

$echo "deb https://dl.bintray.com/resin-io/debian stable etcher" | sudo tee /etc/apt/sources.list.d/etcher.list

信任 Bintray.com GPG 密钥

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 379CE192D401AB61

然后更新你的系统并安装:

$ sudo apt-get update
$ sudo apt-get install etcher-electron

如果你使用的是 Fedora 或 Red Hat Enterprise Linux,请添加 Etcher RPM 仓库:

$ sudo wget https://bintray.com/resin-io/redhat/rpm -O /etc/yum.repos.d/bintray-resin-io-redhat.repo

使用以下任一方式更新和安装:

$ sudo yum install -y etcher-electron

或者:

$ sudo dnf install -y etcher-electron

创建可启动盘

除了为 Ubuntu、EndlessOS 和其他版本的 Linux 创建可启动镜像之外,我还使用 Etcher 创建 SD 卡镜像用于树莓派。以下是如何创建可启动媒体。

首先,将要使用的 ISO 或镜像下载到计算机。然后,启动 Etcher 并将 USB 或 SD 卡插入计算机。

单击 “Select Image”。在本例中,我想创建一个可启动的 USB 盘,以便在新计算机上安装 Ubermix。在我选择了我的 Ubermix 镜像文件并将我的 USB 盘插入计算机,Etcher.io “看到”了驱动器,我就可以开始在 USB 上安装 Ubermix 了。

在我点击 “Flash” 后,安装就开始了。所需时间取决于镜像的大小。在驱动器上安装镜像后,软件会验证安装。最后,一条提示宣布我的媒体创建已经完成。

如果您需要 Etcher 的帮助,请通过其 Discourse 论坛联系社区。Etcher 非常易于使用,它已经取代了我所有其他的媒体创建工具,因为它们都不像 Etcher 那样轻松地完成工作。


via: https://opensource.com/article/18/7/getting-started-etcherio

作者:Don Watkins 选题:lujun9972 译者:geekpi 校对:wxy

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

你好,新兵!你们有些人经常使用 dd 命令做各种各样的事,比如创建 USB 启动盘或者克隆硬盘分区。不过请牢记,dd 是一个危险且有毁灭性的命令。如果你是个 Linux 的新手,最好避免使用 dd 命令。如果你不知道你在做什么,你可能会在几分钟里把硬盘擦掉。从原理上说,dd 只是从 if 读取然后写到 of 上。它才不管往哪里写呢。它根本不关心那里是否有分区表、引导区、家目录或是其他重要的东西。你叫它做什么它就做什么。可以使用像 Etcher 这样的用户友好的应用来代替它。这样你就可以在创建 USB 引导设备之前知道你将要格式化的是哪块盘。

今天,我发现了另一个可以安全创建 USB 引导设备的工具 Bootiso 。它实际上是一个 BASH 脚本,但真的很智能!它有很多额外的功能来帮我们安全创建 USB 引导盘。如果你想确保你的目标是 USB 设备(而不是内部驱动器),或者如果你想检测 USB 设备,你可以使用 Bootiso。下面是使用此脚本的显著优点:

  • 如果只有一个 USB 驱动器,Bootiso 会自动选择它。
  • 如果有一个以上的 USB 驱动器存在,它可以让你从列表中选择其中一个。
  • 万一你错误地选择一个内部硬盘驱动器,它将退出而不做任何事情。
  • 它检查选定的 ISO 是否具有正确的 MIME 类型。如果 MIME 类型不正确,它将退出。
  • 它判定所选的项目不是分区,如果判定失败则退出。
  • 它将在擦除和对 USB 驱动器分区之前提示用户确认。
  • 列出可用的 USB 驱动器。
  • 安装 syslinux 引导系统 (可选)。
  • 自由且开源。

使用 Bootiso 安全地创建 USB 驱动器

安装 Bootiso 非常简单。用这个命令下载最新版本:

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

把下载的文件加到 $PATH 目录中,比如 /usr/local/bin/

$ sudo cp bootiso /usr/local/bin/

最后,添加运行权限:

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

搞定!现在就可以创建 USB 引导设备了。首先,让我们用命令看看现在有哪些 USB 驱动器:

$ bootiso -l

输出:

Listing USB drives available in your system:
NAME HOTPLUG SIZE STATE TYPE
sdb 1 7.5G running disk

如你所见,我只有一个 USB 驱动器。让我们继续通过命令用 ISO 文件创建 USB 启动盘:

$ bootiso bionic-desktop-amd64.iso

这个命令会提示你输入 sudo 密码。输入密码并回车来安装缺失的组件(如果有的话),然后创建 USB 启动盘。

输出:

[...]
Listing USB drives available in your system:
NAME HOTPLUG SIZE STATE TYPE
sdb 1 7.5G running disk
Autoselecting `sdb' (only USB device candidate)
The selected device `/dev/sdb' is connected through USB.
Created ISO mount point at `/tmp/iso.c5m'
`bootiso' is about to wipe out the content of device `/dev/sdb'.
Are you sure you want to proceed? (y/n)>y
Erasing contents of /dev/sdb...
Creating FAT32 partition on `/dev/sdb1'...
Created USB device mount point at `/tmp/usb.QgV'
Copying files from ISO to USB device with `rsync'
Synchronizing writes on device `/dev/sdb'
`bootiso' took 303 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 !

如果你的 ISO 文件 MIME 类型不对,你会得到下列错误信息:

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

当然,你也能像下面那样使用 –no-mime-check 选项来跳过 MIME 类型检查。

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

就像我前面提到的,如果系统里只有 1 个 USB 设备 Bootiso 将自动选中它。所以我们不需要告诉它 USB 设备路径。如果你连接了多个设备,你可以像下面这样使用 -d 来指明 USB 设备。

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

用你自己的设备路径来换掉 /dev/sdb

在多个设备情况下,如果你没有使用 -d 来指明要使用的设备,Bootiso 会提示你选择可用的 USB 设备。

Bootiso 在擦除和改写 USB 盘分区前会要求用户确认。使用 -y–assume-yes 选项可以跳过这一步。

$ bootiso -y bionic-desktop-amd64.iso

您也可以把自动选择 USB 设备与 -y 选项连用,如下所示。

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

或者,

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

请记住,当你只连接一个 USB 驱动器时,它才会起作用。

Bootiso 会默认创建一个 FAT 32 分区,挂载后用 rsync 程序把 ISO 的内容拷贝到 USB 盘里。 如果你愿意也可以使用 dd 代替 rsync

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

如果你想增加 USB 引导的成功概率,请使用 -b–bootloader 选项。

$ bootiso -b bionic-desktop-amd64.iso

上面这条命令会安装 syslinux 引导程序(安全模式)。注意,此时 –dd 选项不可用。

在创建引导设备后,Bootiso 会自动弹出 USB 设备。如果不想自动弹出,请使用 -J–no-eject 选项。

$ bootiso -J bionic-desktop-amd64.iso

现在,USB 设备依然连接中。你可以使用 umount 命令随时卸载它。

需要完整帮助信息,请输入:

$ bootiso -h

好,今天就到这里。希望这个脚本对你有帮助。好货不断,不要走开哦!


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

作者:SK 选题:lujun9972 译者:kennethXia 校对:wxy

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

很多时候我们诸如 SD 卡和 U 盘这样的储存器可能会被损坏,并且因此或其他原因不能继续使用。

这可能是因为使用这个设备创建了一个引导媒体或者是通过错误的平台格式化亦或是创建了一个新的分区在这个设备上。

恢复损坏的 USB 设备至初始状态

Linux 系统磁盘管理器

警告:接下来的操作会将你设备上的所有数据格式化。

无论是上面提及的什么原因,最终的结果是我们无法继续使用这个设备。

所以这里有一个恢复 USB 设备或者是 SD 卡到出厂状态的方法。

大多数时候通过文件浏览器进行一次简单格式化可以解决问题,但是在一些极端情况下,比如文件管理器没有作用,而你又需要你的设备可以继续工作时,你可以使用下面的指导:

我们将会使用一个叫做 mkusb 的小工具来实现目标,这个工具的安装非常简单。

添加 mkusb 的仓库:

sudo apt add repository ppa:mkusb/ppa

现在更新你的包列表:

sudo apt-get update

安装 `mkusb:

sudo apt-get install mkusb

现在运行 mkusb 你将会看到这个提示,点击 ‘Yes’。

运行 mkusb dus

现在 mkusb 将会最后一次询问你是否希望继续格式化你的数据,‘Stop’是被默认选择的,你现在选择 ‘Go’ 并点击 ‘OK’。

Linux mkusb

窗口将会关闭,此时你的终端看起来是这样的。

mkusb usb 控制台

在几秒钟之后,整个过程将会完成,并且你将看到一个这样的弹出窗口。

恢复损坏的 USB 设备

你现在需要把你的设备从系统推出,然后再重新插进去。你的设备将被恢复成为一个普通设备而且还能像原来一样的工作。

Linux 磁盘管理器

我们现在所做的操作本可以通过终端命令或是 gparted 或者其他的软件来完成,但是那将会需要一些关于分区管理的知识。

所以有一个像这样可以自动解决专一问题的小工具总是一个好事。

结论

mkusb 是一个很容易使用的程序,它可以修复你的 USB 储存设备和 SD 卡。mkusb 通过 mkusb 的 PPA 来下载。所有在 mkusb 上的操作都需要超级管理员的权限,并且你在这个设备上的所有数据将会被格式化。

一旦操作完成,你将会重置这个设备并让它继续工作。

如果你感到任何疑惑,你可以在下面的评论栏里免费发表。


via: http://www.linuxandubuntu.com/home/restore-corrupted-usb-drive-to-original-state-in-linux

作者:LINUXANDUBUNTU 译者:Drshu 校对:wxy

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

为了保护数据不被泄漏,我们使用软件和硬件防火墙来限制外部未经授权的访问,但是数据泄露也可能发生在内部。 为了消除这种可能性,机构会限制和监测访问互联网,同时禁用 USB 存储设备。

在本教程中,我们将讨论三种不同的方法来禁用 Linux 机器上的 USB 存储设备。所有这三种方法都在 CentOS 6&7 机器上通过测试。那么让我们一一讨论这三种方法。

(另请阅读: Ultimate guide to securing SSH sessions

方法 1 – 伪安装

在本方法中,我们往配置文件中添加一行 install usb-storage /bin/true, 这会让安装 usb-storage 模块的操作实际上变成运行 /bin/true, 这也是为什么这种方法叫做伪安装的原因。 具体来说就是,在文件夹 /etc/modprobe.d 中创建并打开一个名为 block_usb.conf (也可能叫其他名字) ,

$ sudo vim /etc/modprobe.d/block_usb.conf

然后将下行内容添加进去:

install usb-storage /bin/true

最后保存文件并退出。

方法 2 – 删除 USB 驱动

这种方法要求我们将 USB 存储的驱动程序(usb_storage.ko)删掉或者移走,从而达到无法再访问 USB 存储设备的目的。 执行下面命令可以将驱动从它默认的位置移走:

$ sudo mv /lib/modules/$(uname -r)/kernel/drivers/usb/storage/usb-storage.ko /home/user1

现在在默认的位置上无法再找到驱动程序了,因此当 USB 存储器连接到系统上时也就无法加载到驱动程序了,从而导致磁盘不可用。 但是这个方法有一个小问题,那就是当系统内核更新的时候,usb-storage 模块会再次出现在它的默认位置。

方法 3 - 将 USB 存储器纳入黑名单

我们也可以通过 /etc/modprobe.d/blacklist.conf 文件将 usb-storage 纳入黑名单。这个文件在 RHEL/CentOS 6 是现成就有的,但在 7 上可能需要自己创建。 要将 USB 存储列入黑名单,请使用 vim 打开/创建上述文件:

$ sudo vim /etc/modprobe.d/blacklist.conf

并输入以下行将 USB 纳入黑名单:

blacklist usb-storage

保存文件并退出。usb-storage 就在就会被系统阻止加载,但这种方法有一个很大的缺点,即任何特权用户都可以通过执行以下命令来加载 usb-storage 模块,

$ sudo modprobe usb-storage

这个问题使得这个方法不是那么理想,但是对于非特权用户来说,这个方法效果很好。

在更改完成后重新启动系统,以使更改生效。请尝试用这些方法来禁用 USB 存储,如果您遇到任何问题或有什么疑问,请告知我们。


via: http://linuxtechlab.com/disable-usb-storage-linux/

作者:Shusain 译者:lujun9972 校对:wxy

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