вторник, 6 июля 2021 г.

Создание мультизагрузочной флешки с помощью Ventoy


Приветствую. До недавнего времени единственным более менее полноценным инструментом для создания загрузочной флешки с несколькими ОС под Linux я считал Multisystem, довольно старую и популярную утилиту. И несмотря на в принципе удовлетворительную её работу, у неё имеется целый ряд недостатков. К примеру она требует ручного монтирования флешки в определённый каталог, не понимает некоторые образы, да и порой просто глючит. Но недавно я чисто случайно наткнулся на куда более качественный её аналог - Ventoy. К тому же ещё и кроссплатформенный.

В отличии от Multisystem, который является набором shell-скриптов и откровенно кривенькой графической оболочкой для них, Ventoy написан на языке C, и его архитектура более продумана. Вот его ключевые особенности:

  • Полностью открытый исходный код
  • Простой в использовании
  • Очень быстрый, скорость ограничена лишь физическими ограничениями на копирование данных
  • Загрузка прямо с ISO-образа, без необходимости в его распаковке.
  • Одновременная поддержка UEFI и Legacy-загрузки
  • Поддержка UEFI Secure Boot
  • Поддержка режима постоянного хранилища (для сохранения изменений сделанных в Live-образе ОС)
  • Поддержка загрузочных файлов WIM как в UEFI, так и в Legacy (можно ставить например Windows 10 на разные машины без необходимости в особой записи образа)
  • Автоматическая установка
  • Поддержка ISO-образов размером более 4-х гигабайт
и многое другое. За подробностями прошу на официальный сайт. Суть работы Ventoy в том, что она создаёт на флешке 2 раздела - первый, отформатированный в exFAT, используется для хранения образов операционных систем, которые могут находиться как в корне раздела, так и в подкаталогах (Ventoy автоматически будет проверять все каталоги на предмет наличия ISO-образов, важно чтобы в названии не было пробелов). Второй скрытый, для хранения файлов самого Ventoy. Тем самым можно легко обновлять программу после выхода новой версии без необходимости в полном форматировании флешки и повторного копирования нужных образов. Ventoy доступен для Linux и Windows, имеет простой графический установщик, правда в версии для Linux - работающий через браузер.

Сперва конечно же понадобится сама флешка. Чем больше её объём - тем больше образов можно будет уместить. Под свои файлы Ventoy занимает незначительное количество места, поэтом большая часть флешки будет доступна для хранения. Вставляем флешку, открываем терминал и выясняем как она определилась в системе:
 
lsblk покажет список всех дисковых накопителей в системе.
В моём случае моя флешка на 32 гигабайта - это /dev/sdg

 

Скачиваем архив с программой и распаковываем в домашний каталог. Переходим в каталог с распакованной программой и открываем в нём терминал в меню правой кнопки мыши. В терминале выполняем команду:

sudo sh ./VentoyWeb.sh

Открываем браузер и переходим по адресу, указанному в терминале ( http://127.0.0.1:24680). Процедура установки аналогична таковой в Windows: в выпадающем списке выберите ваш USB накопитель, в меню Language вы можете указать русский язык, а в меню Options указать дополнительные параметры, например разметить флешку в GPT, вместо MBR, что требуется для загрузки на системах с UEFI. Либо включить поддержку Secure Boot. Осталось лишь нажать кнопку "Установить" и подождать несколько секунд.



Теперь можно копировать образы нужных ОС на раздел Ventoy. Дальнейшая настройка не требуется, всё будет автоматически производиться при загрузке с флешки.
 
 
Есть альтернативный вариант установки, целиком через терминал. Для этого воспользуйтесь командой:

sudo sh ./Ventoy2Disk.sh -i /dev/sdX где sdX - ваш накопитель. В моём случае команда будет выглядеть так:

sudo sh ./Ventoy2Disk.sh -i /dev/sdg

На этом установка закончена. До встречи!

4 комментария:

  1. Какие команды нужны, чтобы сделать тоже самое, но руками?

    ОтветитьУдалить
  2. Какой смысл делать такой gui, если все равно нужно вводить команды? Разве не легче было просто создать простой интерфейс gtk и запихнуть его в appimage? Или хотя бы открывать адрес через xdg-portal

    ОтветитьУдалить