Создать загрузочный USB-накопитель с помощью Bootiso в Linux
Существует множество инструментов и приложений для создания загрузочных дисков в Linux. Если вы предпочитаете использовать командную строку, есть команда dd для выполнения различных действий, например создания USB-накопителя или клонирования разделов диска. Помните, что команда dd — одна из опасных и разрушительных команд. Если вы новичок, лучше избегать использования команды dd и использовать любые удобные графические приложения, такие как Kindd, Etcher, Ventoy. > и т.д., для создания загрузочных USB-накопителей.
Сегодня я наткнулся на еще одну утилиту командной строки под названием Bootiso, которая имеет некоторые дополнительные функции, помогающие нам безопасно создавать загрузочные USB-устройства.
Bootiso на самом деле является BASH-скриптом, и он великолепен! Если вы хотите быть уверены, что используете правильное USB-устройство (а не внутренний диск), или если вам нужно автоматическое определение USB-устройства, вы можете использовать bootiso.
Вот существенные преимущества использования этого скрипта:
- Если USB-накопитель только один, Bootiso автоматически выберет его.
- Если имеется более одного USB-накопителя, вы можете выбрать один из них из списка.
- На случай, если вы по ошибке выберете один из внутренних жестких дисков, он выйдет без каких-либо действий.
- Он проверяет, что выбранный ISO имеет правильный тип mime. Если у него неверный тип mime, он выйдет.
- Он утверждает, что выбранный элемент не является разделом, и завершает работу, если это не так.
- Перед удалением и разметкой USB-накопителя пользователю будет предложено подтвердить операцию.
- Перечисляет доступные USB-накопители.
- Устанавливает загрузчик syslinux (необязательно).
- Бесплатный и открытый исходный код.
Безопасное создание загрузочного USB-накопителя с помощью Bootiso
Установить 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 (Ubuntu 18.04 LTS) и сохранил его в текущем рабочем каталоге.
Давайте продолжим и создадим загрузочный USB-накопитель из файла ISO с помощью команды:
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...
Однако вы можете пропустить проверку типа mime, используя опцию --no-mime-check
, как показано ниже.
bootiso --no-mime-check bionic-desktop-amd64.iso
Как я уже упоминал, Bootiso автоматически выберет USB-накопитель, если в вашей системе имеется только один USB-накопитель. Итак, нам не нужно указывать путь к USB-диску. Если у вас подключено более одного устройства, вы можете явно указать путь к USB-устройству, используя флаг -d
, как показано ниже.
bootiso -d /dev/sdb bionic-desktop-amd64.iso
Замените /dev/sdb
своим собственным путем.
Если вы не укажете флаг -d
при использовании нескольких USB-устройств, 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, а затем смонтирует и скопирует содержимое ISO с помощью программы "rsync" на 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 версии 3 со множеством улучшений.
- Поведение в автоматическом режиме. Примечательно, что теперь он проверяет файл ISO на предмет гибридности. Если это не так, он ищет возможности загрузки UEFI и SYSLINUX. После этого он выбирает лучший режим установки (dd или mount+rsync) и в конечном итоге устанавливает SYSLINUX. Таким образом, вам больше не нужно беспокоиться о режиме rsync или dd, просто запустите «bootiso myfile.iso», и он будет работать даже с аварийными компакт-дисками, такими как UltimateBootCD;
- новые действия
i
,--inspect
и-p
,--probe
для проверки возможностей загрузки ISO; - новое действие
-f
,--format
с-t
,--type
и-L
,--label
параметры для быстрого форматирования USB-накопителя при использовании живого USB.
Чтобы отобразить раздел справки, запустите:
bootiso -h
Рекомендуется прочитать:
- Popsicle – создание нескольких загрузочных USB-накопителей одновременно
- MultiCD – создание мультизагрузочных компакт-дисков, DVD-дисков и USB-образов
- Как записать ISO-образ на USB-накопитель прямо из Интернета
- Как создать ISO-образ с загрузочного USB-накопителя в Linux
- Как создать собственный образ Ubuntu Live CD
Ресурс:
- Репозиторий Bootiso на GitHub