Как установить ventoy в linux

Ventoy — мультизагрузка образов OS с преферансом и куртизанками

Существует несколько программ с графическим интерфейсом, предназначенных для создания Live USB-дисков.

Так начиналась переводная статья, комментарии к которой стали вторым толчком (а был ещё и первый) для написания обзора возможностей, системы для создания мультизагрузочных флешек ventoy.

Проект начатый китайским разработчиком longpanda примерно полтора года назад, в марте 2020-го, успел набрать популярность и уже включён в состав репозиториев некоторых дистрибутивов linux. И неспроста.

Что умеет? Базовые возможности.

И это, разумеется, ещё не всё. Это вот то, что вспомнилось сходу. Дальше при рассмотрении плагинов, мы увидим другие вкусности, а некоторые из перечисленных рассмотрим подробнее, так как часть из вышеперечисленного конфигурируется через плагины.

Получение и установка

Скачать бинарники ventoy можно с GitHub. Кроме бинарников под Windows и Linux, есть также вариант с LiveCD, на основе Linux и GUI установщиком.

Далее есть три варианта:

Пробежимся по всем трём:

ВНИМАНИЕ! Первоначальная установка на устройство (флешку/HDD) удаляет все данные на нём!

Cамый простой метод:

поставит ventoy на устройство /dev/sdX с разбивкой MBR. При этом создадутся два раздела. Раздел FAT на 32mb с самим ventoy, в конце диска. И раздел для данных в начале диска, отформатированный под exFAT и занимающий всё оставшееся место. Данный метод позволит грузиться на практически всех системах с BIOS и UEFI без SecureBoot. Раздел для данных можно переформатировать в ext2-4 и XFS, при этом увеличится скорость работы, но нельзя будет закидывать данные из Windows (по крайней мере без дополнительных костылей). При желании раздел можно отформатировать в FAT/FAT32, NTFS, UDF.

Данный метод не подходит для систем с BIOS, если суммарный размер разделов вылезает за границу в 137gb. То есть Для флешек объёмом 256gb и выше, придётся использовать встроенную фичу…

Разбивка с reserved space

▍ Web GUI

Исторически первый гуёвый интерфейс под linux. Отличающийся от своих нативных GUI Linux/Windows собратьев ровно ничем.


WebGUI

По умолчанию веб-интерфейс поднимается на http://127.0.0.1:24680 о чём ventoy радостно сообщает нам в консоли:

▍ GTK / Qt GUI

Ну тут совсем всё просто. Правда бинарник собран под кучу архитектур и поэтому имя выглядит как VentoyGUI._arch_ По умолчанию запускается GTK интерфейс:


Ventoy Qt5 GUI

После установки ISO файлы просто копируются, as is, на флешку в любые каталоги или корень раздела и при загрузке ventoy их найдёт и отобразит в загрузочном меню. Кроме загрузочных ISO или floppy / HDD образов вы спокойно можете хранить обычные данные. Одна беда, если на флешке будет много файлов и развитая система каталогов, производительность построения меню будет низкой, но для этого у ventoy есть отличное решение — плагины, к описанию которых мы и переходим.

Плагины, основная фишка Ventoy

Архитектурно, ventoy представляет из себя GRUB2 с очень развитой надстройкой, одной из главных частей которой является система плагинов. Конфигурируется эта система через конфиг файл формата json. живущем по пути ventoy/ventoy.json на разделе с данными (на первый раздел, где живёт сам ventoy, лазать обычному пользователю, а следственно и монтировать его, смысла нет). Json простого формата вида

Дальнейшая часть является вольным переводом официального справочника по плагинам. Первоначально я хотел кратенько обозреть основные, самые полезные, плагины, но… Увлёкся и в результате получился вот такой вот TL;DR и самый полный справочник по Ventoy на русском.

И начнём мы с основного плагина Control.

▍ Global control plugin

Здесь живут основные параметры ventoy, включая и тот который отвечает за расположение каталогов с *.iso файлами и прочими файлами образов: < "VTOY_DEFAULT_SEARCH_ROOT": "/ISO" >. Чтобы ventoy не приходилось шерстить весь диск для того, чтобы их найти и добавить в меню. Возможные параметры я свёл в табличку, как и у остальных плагинов, описываемых далее.

Примечания к таблице:

▍ Image list / Image Blacklist plugin.

▍ Theme plugin

Поддержка тем формата GRUB2. Возможные параметры сведены в таблицу

При создании своей темы или использовании темы, скачанной из интернета, придётся добавить в файл темы ventoy-зависимую часть. Пример из темы по умолчанию:

▍ Menu class plugin

Наверняка многие из вас видели, как различные системы мультизагрузки отображают разные иконки для разных образов или разделов, так вот это оно. Этот плагин в виде массива элементов осуществляет поддержку именно этого функционала, а ещё отображение иконок для встроенного в ventoy функционала, как то горячие Fn клавиши и пункты их меню.


Class icons

Ключ Тип Описание
key string Подстрока по которой ищется имя файла образа(без путей!)
parent string Директория (без завершающего слеша( / )!) описанная в этом параметре и все её подкаталоги будет иметь именно этот класс
dir string Директория без подкаталогов будет иметь соответствующий класс. Завершающий слеш также запрещён!
class string Собственно класс. Чтобы произошло отображение иконки класса, в каталоге темы должен быть подкаталог icons с соответствующей иконкой. Например, для «class»: «debian» должна существовать иконка icons/debian.png

Стоит отметить, что существуют встроенные классы для «иконизации» функционала ventoy (функциональные клавиши и их пункты меню). Я не буду приводить всю таблицу, отмечу лишь названия классов связанные с типами файлов: vtoydir — класс для директорий. Классы для файлов соответствующих типов: vtoyiso vtoywim vtoyimg vtoyefi vtoyvhd vtoyvtoy и vtoyret — класс для возврата в предыдущее меню. Эти классы не нужно указывать в конфиге, достаточно разместить в директории theme/icons соответствующие иконки ( vtoyiso.png например).

▍ Menu alias plugin

Ключ Тип Описание
image string Полный путь к образу
dir string Полный путь к директории, без завершающего слеша
alias string Алиас

▍ Menu tip plugin

Подсказка, показываемая на экране, при наведении на определённый пункт:

Menu tip plugin в действии

Табличка возможных параметров тут тоже очень простая.

▍ Menu extension plugin

Один из немногих плагинов, чья конфигурация не задаётся в ventoy/ventoy.json Этот плагин сильно завязан на GRUB и в нём можно использовать любые команды GRUB shell. Конфигурируется в файле ventoy/ventoy_grub.cfg и позволяет создавать собственное кастомное меню вызываемое по нажатию клавиши F6. Именно таким образом был сделан заглавный скриншот статьи.

Есть несколько встроенных переменных, которые можно использовать в этом меню:

Переменная Пример
vtoydev hd1
vtoy_iso_part (hd1,1)
vtoy_efi_part (hd1,2)
VENTOY_VERSION 1.0.55

▍ Password plugin

На мой взгляд, самый бесполезный плагин, защищающий разве что от шаловливых детских рук. :-). Позволяет задавать пароли как на загрузку самого ventoy, так и на выбор определённых типов файлов, директорий или отдельных образов.

Ключ Тип Описание
bootpwd string Пароль на загрузку ventoy. Выход после трёх неправильных попыток
isopwd string Пароль на загрузку файлов *.iso
wimpwd string файлов *.wim
imgpwd string файлов *.img
vhdpwd string файлов *.vhd
efipwd string файлов *.efi
vtoypwd string файлов *.vtoy
menupwd array Массив объектов с парами строк file / parent и pwd
file string Полный путь к образу
parent string Путь к определённой директории(без концевого слеша)
pwd string Пароль

Приоритеты паролей от частного к общему: menupwd file → menupwd parent → isopwd/wimpwd/imgpwd…

▍ Auto memdisk plugin

Простой, но очень полезный плагин, который позволяет автоматически грузить определённые имиджи полностью в память. Та же KolibriOS или Hiren’s boot CD не желают грузиться стандартным способом, но при этом прекрасно грузятся через мемдиск. Так вот что бы не нажимать каждый раз F1 (а ведь можно и забыть) и создан этот плагин. Имейте в виду, загрузка всего исошника в память может занять длительное время. Чем больше имидж, тем дольше. Как пользоваться, понятно из примера.

ВНИМАНИЕ! Поддерживаются только ISO образы!

▍ WIMboot plugin

Один из плагинов «специального назначения», призванный лечить возможные косяки с загрузкой современных виндовс. Данный плагин не входит в комплект поставки из-за наличия проприетарных компонентов, поэтому делаем следующие шаги:

WIMboot mode

Кстати, виндоадмины, расскажите для чего оно и как работает? Сто лет с виндами не общался!

▍ Windows VHD boot plugin

Ещё один плагин с проприетарными компонентами, для windows. Понятия не имею для чего и как, но если звёзды зажигают…

В комменты призываются админы виндовс, дабы просветить для чего и зачем. В описании к плагину я нашёл только одно применение, через Menu extension plugin:

Но если честно не в курсе куда такое применяют.

▍ DUD (Driver Update Disk) plugin

Фича, поддерживаемая дистрибутивами RHEL / Centos / Fedora (dd.iso формат) и SLES — SUSE Linux (dud.iso формат) и позволяющая подкидывать необходимые драйвера непосредственно в процессе установки.

Конфигурирование простое и ясно из примера. image — образ к которому применятся dd/dud образы. dud — строка или массив с путями до dd/dud образов.

▍ Auto installation plugin

Windows и энное количество дистрибутивов Linux поддерживают т.н. Unattended installation — фичу позволяющую по специально сформированному файлу ответов, по сути дела декларативному скрипту, установить систему в фоновом режиме с определёнными настройками, не задавая вопросов пользователю. Для примера известные дистрибутивы ОС и их скрипты.

Дистрибутив Тип шаблона Пример
Windows Unattended XML unattended.xml
RHEL8/CentOS8/Derivatives Kickstart script kickstart8.cfg
RHEL7/CentOS7/Fedora/Derivatives Kickstart script kickstart7.cfg
RHEL6/CentOS6/Derivatives Kickstart script kickstart6.cfg
Debian/Ubuntu Server/Derivatives Preseed script preseed.cfg
SLES/OpenSUSE/Derivatives autoYast XML autoYast.xml

Ну и традиционная таблица параметров:

▍ Boot conf replace plugin

Плагин позволяющий «на лету» подменять grub.cfg / isolinux.cfg внутри исошника. В принципе можно подменять любые файлы. Разумеется сам исошник не меняется. Все изменения происходят в памяти, в момент загрузки. Это аналогично нажатию e в меню GRUB и ручному редактированию параметров.

Табличка очень простая.

Ключ Тип Описание
iso string Имидж, на который будем накладывать «патч» (поддерживаются только ISO формата ISO9660. UDF имиджи Windows не работают!)
org string Путь и имя файла в файловой системе внутри имиджа
new string файл которым заменяем

▍ Injection plugin

▍ Persistence plugin

Ключ Тип Описание
image string Полный путь до iso-шника
backend string/array Путь или массив путей к имиджам персистентности
autosel integer 0 отключить персистентность 1..n cоответствующий элемент массива. Если включен этот параметр, меню выбора не показывается

Очень многие LiveCD (яркий пример Kali Linux) позволяют сохранять состояние между сеансами. Они записывают состояние на раздел с определённой меткой диска. Вот некоторые из них:

Для получения раздела необходимо создать образ диска, с правильной меткой. Есть два варианта: Скачать готовый образ. Или создать самому. Для этого в комплекте поставки есть удобный скрипт:

▍ vDisk boot plugin

UEFI On!

После установки и настройки ОС в виртуалке, скачайте в виртуалку последнюю версию vtoyboot скрипта из репозитория, распакуйте и запустите:

ВНИМАНИЕ! Данный скрипт также нужно запускать при каждом обновлении ядра и/или обновления initrd образа на гостевой системе!

Затем, после отключения виртуальной машины, переименуйте файл в *.vtoy Например: mv Manjaro.vhd Manjaro.vhd.vtoy и скопируйте на флешку.

Кроме всего прочего, данный плагин можно заставить запускать такие образы с вашего локального HDD/SSD, для чего можно воспользоваться Menu Extension Plugin :

Дисклеймер от меня… Сильно подозреваю, что с шифрованными разделами, такой трюк не прокатит.

Да, такие образы можно грузить из других загрузчиков. Подробнее здесь. Ну и наконец таблица с замечаниями по установке на конкретные дистрибутивы.

Дистрибутив ISO BIOS UEFI Примечания
Centos8 CentOS-8.3.2011-x86_64-dvd1.iso Ok Ok
Centos7 CentOS-7-x86_64-Minimal-2009.iso Ok Ok
Deepin deepin-desktop-community-1010-amd64.iso Ok Ok См. [1]
Fedora Fedora-Workstation-Live-x86_64-33-1.2.iso Ok Ok
Ubuntu Desktop ubuntu-20.04-desktop-amd64.iso Ok Ok
Ubuntu Server ubuntu-20.04.1-live-server-amd64.iso Ok Ok См. [1]
Linux Mint linuxmint-20.2-cinnamon-64bit.iso Ok Ok
MX Linux MX-19.2_x64.iso Ok Ok
Kali Linux kali-linux-2021.1-installer-amd64.iso Ok Ok См. [1]
Manjaro manjaro-xfce-20.0.1-200511-linux56.iso Ok Ok Arch based
Archman Archman_KDE_20200209.iso Ok Ok Arch based
Mageia Mageia-7.1-x86_64.iso Ok Ok См. [1]
openSUSE openSUSE-Leap-15.2-DVD-x86_64.iso Ok Ok

Заключение

Вот такими, почти неограниченными возможностями, обладает, казалось бы, обычная система мультизагрузки ventoy. К сожалению есть проблемы с загрузкой любительских, исследовательских и экспериментальных ОС — Haiku, Sculpt (Genode OS Framework), Redox, Plan9 etc. Разумеется, не грузятся OS/2 и её деривативы. Для этих операционок не помогает даже memdisk. Но проект бурно развивается (я пользуюсь этой утилитой и слежу за развитием примерно с июня прошлого года и помню то время, когда не грузились системы семейства *BSD) и я думаю, что многие проблемы будут решены. Надеюсь обзор, мой вольный перевод документации по плагинам, вам понравился и вы ещё не раз заглянете сюда за справочной информацией. Ибо более полного описания функционала, на русском, я на просторах интернета не встречал.

Бонус: Соответствие бинарников скачанных с GitHub и бинарников установленных из пакета (Arch like дистрибутивы).

Источник

Как создать мультизагрузочный USB-диск с помощью Ventoy

Оригинал: How To Create Multiboot USB Drives With Ventoy In Linux
Автор: SK
Дата публикации: 21 мая 2020 г.
Перевод: В.Костромин
Дата перевода: 21 мая 2020 г.

Возможности

Ventoy обладает массой возможностей и полезных свойств, часть из которых перечислена ниже.

Создание мультизагрузочных USB-накопителей с Ventoy в Linux

Вначале вам нужно найти имя вашего USB-накопителя. Узнать, как найти информацию о дисках в Linux, вы можете в следующей статье:

Я буду использовать команду fdisk для выяснения данных о моем USB-диске:

Пример вывода:

Затем загрузите последний скрипт Ventoy со следующей страницы. Когда я писал эту статью, последняя версия имела номер 1.0.10.

Перейдите в каталог, в котором вы сохранили скрипт и разархивируйте его. Я разархивировал его в папку “ventoy” на моем рабочем столе. Перейдите в папку Ventoy:

Теперь запустите следующую команду, чтобы создать мульти-загрузочный USB-диск:

Не забудьте заменть /dev/sdc на имя вашего USB-диска.

Вам будет предложено подтвердить процесс создания загрузочного USB. Дважды проверьте имя USB-накопителя, введите Y и нажмите ENTER, чтобы продолжить:

Пример вывода:

Щелкните правой кнопкой мыши и выберите вариант «Открыть изображение» для просмотра его в увеличенном формате

Через несколько секунд мультизагрузочный USB-накопитель будет создан. Приведенная выше команда создаст два раздела. Вы можете проверить это с помощью команды fdisk:

Теперь скопируйте файлы ISO в первый раздел. Вы увидите этот первый раздел только в вашем файловом менеджере.

Другой способ скопировать все ISO-файлы заключается в том, чтобы перейти в каталог, где вы храните ISO-файлы, и запустить в командной строке команду rsync, как показано ниже:

Пожалуйста, обратите внимание на то, что в некоторых дистрибутивах USB-диск может быть смонтирован в каталог /run/media/.

ВСЁ сделано! Мы только что создали мульти-загрузочный USB-диск с помощью Ventoy.

Загрузите вашу систему с USB-диска и вы увидите загрузочное меню Ventoy:

Выберите ОС, которую вы хотите загрузить, и нажмите ENTER, чтобы загрузить ее!

Вот короткая демонстрация того, как происходит загрузка ОС с USB_диска, созданного с помощью Ventoy:

Круто, не правда ли?

Загрузка ISO-образов в RAM

Как уже упоминалось, образы ISO могут не загружаться на некоторых машинах, особенно в устаревшем режиме Legacy BIOS. Здесь в помощь приходит Memdisk. Когда режим Memdisk включен, Ventoy загрузит весь файл ISO-образа в память и загрузит его оттуда.

Чтобы задействовать режим Memdisk, нажмите клавишу F1 прежде чем выбирать загружаемую ОС. Вы увидите в правом верхнем углу уведомление, что режим Memdisk включен.

В этом случае ISO-файл будет загружен в оперативную память:

Чтобы вернуться в обычный режим, снова нажмите клавишу F1.

Источник

Ventoy. Мультизагрузочная флешка

Утилит для создания мультизагрузочных флешек много, а для чего такие флешки или диски на хабре я думаю, объяснять не требуется. До последнего момента я пользовался WinSetupFromUsb и Rufus пока не узнал про Ventoy. В коментах указали про такие тулзы как YUMI, E2B etc. Не знал про них, спасибо за наводку.

Итак, скачать можно утилиту в виде zip архива с github страницы проекта (Windows/ Linux). Распаковываем и запускаем.

Интерфейс утилиты

Как этим пользоваться?

Вставляем наш флеш диск в ПК

В опциях выбираем стиль разметки диска MBR/GPT

Включаем SecureBoot если нужно

Нажимаем Установить, Ventoy установлен, он больше не нужен.

Если необходимо установить утилиту на иной накопитель (SD, NVMe, HDD, SSD, CD/DVD) в опциях выбираем «показать другие устройства».

Основной раздел под образы можно ещё подразбить на дополнительный. Зачем? Дело в том, что после загрузки в режиме live usb, раздел с образами становится недоступен. На дополнительный раздел можно сохранить необходимые файлы для работы с live usb.

Про плагины

Как любезно указал в коментах @Oxyd,в статье не хватает слов про плагины. Извольте. Итак, плагины и файл конфигурации ventoy.json хранятся в основном каталоге с образами. Для этого создадим папку / ventoy и поместим туда ventoy.json.

Подробнее про плагины можно узнать здесь. Лично мне они не нужны, так как хватает возможностей из коробки.

Подытожим:

Плюсы:

Открытый исходный код GPLv3

Скорость установки ограничена скоростью накопителя

Установка из ISO / WIM / IMG / VHD (x) / EFI без распаковки

Поддержка разметки MBR/GPT

Поддержка x86 Legacy BIOS, IA32 UEFI, x86_64 UEFI, ARM64 UEFI, MIPS64EL UEFI

Основной раздел можно форматировать в FAT32 / exFAT / NTFS / UDF / XFS / Ext2, 3,4

Поддержка более 730 файлов дистрибутивов и постоянно добавляются новые

Накопитель после установки Ventoy можно использовать как обычно (я вставил флешку в смартфон)

Обновлять Ventoy необязательно (если используете определенный набор дистрибутивов) но в новых версиях улучшается совместимость.

Обширная и исчерпывающая справка по программе.

Минусы:

Не все железо поддерживает

Не все образы корректно работают, так что это отнюдь не «серебряная пуля»

Источник

Ventoy – бесплатная программа для создания мультзагрузочных USB-носителей

Ventoy – бесплатная программа с открытым исходным кодом, которая позволяет создавать мультизагрузочные USB-носители без необходимости форматирования носителя для записи очередного образа. Так же программа поддерживает образы и файлы следующих типов ISO, WIM, IMG, VHD(x), EFI.

Как пользоваться бесплатной программой Ventoy

Принцип работы программы Ventoy достаточно простой – создание загрузочного меню на съемном носителе, в который, в дальнейшем мы копируем нужные нам образы.

Благодаря утилите Ventoy вам не нужно форматировать диск снова и снова, вам всего лишь нужно воспользоваться утилитой, скопировать файлы ISO образов на USB-накопитель и затем загрузиться с носителя. Вы можете копировать несколько файлов образов за раз, а Ventoy предоставит вам загрузочное меню с выбором образов для последующей загрузки.

Как создать загрузочной USB-носитель в Windows с помощью Ventoy

Скачиваем Ventoy, разархивируем архив и запускаем файл Ventoy2Disk.exe.

Для создания мультизагрузочной флешки в разделе «Устройство» выбираем наш USB-носитель и нажимаем на кнопку «Установить».

Соглашаемся на форматирование накопителя.

Об окончании форматирования нас уведомит соответствующее окошко.

Программа Ventoy создала два раздела, один с файловой системой ExFAT, а другой с файловой системой FAT. В Проводнике будет отображаться первый раздел ExFAT и он будет большего размера. Именно в данный раздел нужно перемещать образы.

Теперь при загрузки с данной мультизагрузочной флешки будет отображаться меню GRUB 2 с выбором загрузки перемещенных образов.

Важно. Стоит отметить, что названия образов не должны содержать пробелов и кириллицы.

Вы можете удалять образы, переименовывать их, перемещать другие образы в папку Ventoy без необходимости повторного запуска программы Ventoy. В случае, если после добавления новых образов, изменения не будут отображаться в меню GRUB загрузочной флешки, то стоит запустить программу Ventoy и выбрать опцию «Обновить».

Как создать загрузочной USB-носитель в GNU/Linux с помощью Ventoy

Начиная с версии Ventoy 1.0.36 для Linux в программе появился графический веб-интерфейс. Рассмотрим работу Ventoy с запуском графического веб-интерфейса.

С версии Ventoy 1.0.37 для дистрибутива Deepin появился свой скрип с графическим интерфейсом. Для запуска Ventoy в Deepin воспользуйтесь следующей командой: sudo sh VentoyWebDeepin.sh

Скачиваем Ventoy для Linux, разархивируем архив и переходим в папку ventoy. В папке нас интересует файл VentoyWeb.sh, его мы запустим. Открываем терминал в папке с программой и вводим команду запуска:

В адресной строке браузера открываем ссылку локального веб-сервера Ventoy:

Как видно на скриншоте отображается привычный интерфейс, подобный интерфейсу в Windows.

Дальнейшие действия аналогичны инструкции версии Ventoy для Windows.

Нажимаем на кнопку «Установить» и дважды соглашаемся с форматированием USB устройства.

По окончании установки образы можно переместить в раздел Ventoy съемного носителя.

Для закрытия Ventoy в Linux нужно закрыть вкладку браузера с ссылкой Ventoy, а затем в терминале воспользоваться комбинацией клавиш CTRL+C для завершения процесса Ventoy.

А вы какими программами пользуетесь для создания мультизагрузочных носителей?

Источник

Читайте также:  За то что я умру пугачева
Обучающий проект