Команда IT специалистов выполнит подготовку инфраструктуры для вашего бизнеса.
Внедрение самых передовых решений и технологий.
Поддержка и сопровождение ваших сервисов.
Выполнение работ под "ключ", от покупки сервера, до настройки автоматизации процессов.
8(977)608-78-62 adm@nixm.ru

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

Ответить
Аватара пользователя
Oleg65
Местный говорун
Местный говорун
Сообщения: 859
Зарегистрирован: 18 янв 2015, 10:56
Откуда: г.Коломна Моск.обл.

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

Сообщение Oleg65 »

Часто для выполнения каких-то задач используется утилита 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 )
ferum
Молчаливый гость
Молчаливый гость
Сообщения: 12
Зарегистрирован: 19 дек 2017, 19:41

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

Сообщение ferum »

Работает, кстати показалось быстрее dd. В третьей команде лишний пробел между +x
Аватара пользователя
Oleg65
Местный говорун
Местный говорун
Сообщения: 859
Зарегистрирован: 18 янв 2015, 10:56
Откуда: г.Коломна Моск.обл.

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

Сообщение Oleg65 »

В третьей команде лишний пробел между +x
Виноват, печатаю на автомате..... косяк - пропустил (хотя проверяю) :oops: Исправил, спасибо.
Ответить

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