Создание загрузочной флэшки с Bootiso

Создание загрузочной флэшки с Bootiso

Сообщение Oleg65 » 13 апр 2018, 12:17

Часто для выполнения каких-то задач используется утилита dd, например, для создания USB-диска или клонирования разделов диска. Однако команда dd является одной из опасных и разрушительных команд. Если вы новичок в Linux, то лучше избегайте применения команды dd. Если вы не понимаете, что делаете, то сможете затереть свой жесткий диск за считанные минуты. Утилита dd извлекает байты из if и записывает их в of. Ее не волнует, что она переписывает, ее не волнует что это: таблица разделов, загрузочный сектор, домашняя папка или что-то еще. Она просто делает то, что ей задано. Вместо нее можно использовать удобные приложения с GUI, такие как Etcher, где вы видите какое устройство перед созданием загрузочного USB-устройства будет форматироваться.
Я наткнулся еще на одну утилиту названную «Bootiso» , которая используется для безопасного создания загрузочного USB-накопителя. На самом деле это сценарий, написанный на BASH и он блестящий (отличнейший пример применения Bash)! В нем есть функции помогающие безопасно создавать загрузочные USB-устройства. Вот основные преимущества использования этого скрипта:

Если имеется только один USB-накопитель, Bootiso выберет его автоматически.
Если имеется более одного USB-накопителя, он позволяет выбрать из списка любой из них.
Если вы ошибочно выберите один из разделов внутреннего жесткого диска, сценарий завершится без каких-либо действий.
Проверяет, что выбранный образ ISO имеет правильный тип mime. Если тип mime неправильный, то он завершается.
Сообщает, что выбранный элемент не является разделом и завершается.
Запрашивает подтверждение пользователя перед очисткой и разбивкой USB-накопителя.
Выводит список всех доступных USB-накопителей.
Устанавливает загрузчик syslinux (опционально).
Open Source.

Установка 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-накопитель. Теперь продолжим и создадим загрузочный USB-диск из файла bionic-desktop-amd64.iso (предварительно перейдя в директорию, где этот файл находится):
Код: выделить все
$ bootiso bionic-desktop-amd64.iso

Вам будет предложено ввести пароль для sudo. Чтобы установить отсутствующие зависимости (если они есть), а затем создать загрузочное USB-устройство введите пароль и нажмите клавишу ENTER.
Получите примерно такой вывод:
Код: выделить все
[...]
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

Как уже упоминалось,если в вашей системе присутствует только один USB-накопитель Bootiso автоматически выберет его. Поэтому нам не нужно указывать путь к диску 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

В сочетании с опцией -y можно включить автоматический выбор USB-устройства (если оно одно!):
Код: выделить все
$ bootiso -y -a bionic-desktop-amd64.iso

Или
Код: выделить все
$ bootiso --assume-yes --autoselect bionic-desktop-amd64.iso

Помните: это будет работать только в том случае, если у вас есть только один подключенный USB-накопитель.
По умолчанию Bootiso создаст раздел FAT 32, а затем смонтирует и скопирует на ваш USB-накопитель содержимое ISO с помощью программы «rsync». Если хотите - вместо «rsync» можете использовать «dd».
Код: выделить все
$ 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


Надеюсь, этот скрипт Вам чем-то поможет или будет в чем-то более удобен. :D
ЗЫ: ИМХО, в чем плюс этого сценария - его можно изучить и дополнить своими, нужными именно Вам, плюшками (при условии, что Вы немного дружны с Bash :D )
Аватар пользователя
Oleg65
Местный говорун
Местный говорун
 
Автор темы
Сообщений: 843
Стаж: 3 года 5 месяцев 1 день
Откуда: г.Коломна Моск.обл.
Благодарил (а): 70 раз.
Поблагодарили: 201 раз.

Создание загрузочной флэшки с Bootiso

Спонсор

Спонсор
 

Re: Создание загрузочной флэшки с Bootiso

Сообщение ferum » 19 апр 2018, 20:23

Работает, кстати показалось быстрее dd. В третьей команде лишний пробел между +x
ferum
Молчаливый гость
Молчаливый гость
 
Сообщений: 12
Стаж: 6 месяцев
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.

Re: Создание загрузочной флэшки с Bootiso

Сообщение Oleg65 » 19 апр 2018, 20:37

Цитата:
В третьей команде лишний пробел между +x
Виноват, печатаю на автомате..... косяк - пропустил (хотя проверяю) :oops: Исправил, спасибо.
Аватар пользователя
Oleg65
Местный говорун
Местный говорун
 
Автор темы
Сообщений: 843
Стаж: 3 года 5 месяцев 1 день
Откуда: г.Коломна Моск.обл.
Благодарил (а): 70 раз.
Поблагодарили: 201 раз.


Вернуться в Командная строка

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron