====== Ventoy - кроссплатформенный загрузчик Linux и Windows ======
*https://www.ventoy.net
*[[https://forum.puppyrus.org/index.php?topic=22804.msg169426#msg169426|Обсуждение]]
*Инструмент с открытым исходным кодом для создания загрузочного USB, HDD, SSD накопителя с поддержкой загрузки ОС (операционных систем) Windows/WinPE/Linux/ChromeOS/Unix/VMware/Xen с ISO/WIM/IMG/VHD(x)/EFI
*Надстройка над grub2 с поддержкой [[https://ru.wikipedia.org/wiki/%D0%93%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BE%D1%87%D0%BD%D0%B0%D1%8F_%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D1%8C |MBR]] (x86 Legacy BIOS) и [[https://ru.wikipedia.org/wiki/Extensible_Firmware_Interface|EFI]] (IA32 UEFI, x86_64 UEFI, ARM64 UEFI и MIPS64EL UEFI). Т.е. скопировав iso с ОС возможно не только установить ее, но и протестировать на вашем железе, а не в виртуалке
*Возможно использование как обычного загрузчика уже установленных обычным способом ОС. Более удобен по сравнению со стандартным grub2 графическим установщиком под разные ОС
======Установка Ventoy.======
[[https://www.ventoy.net/en/download.html|Скачать]]
===== Под Windows =====
*Под windows установщик ventoy более функционален. Есть выбор Файловых Систем (ФС) и [[https://www.comss.ru/page.php?id=9836|установки без переформатирования]]
*Описание установки под linux ниже аналогично установке под windows
===== Под Linux =====
*скачать и распаковать самый свежий ventoy-..-linux.tar.gz
*проверить права на запуск (sudo chmod 755) VentoyGUI.[[wpr>x86_64]] или VentoyGUI.[[wpr>i386]] и запустить его
==== Настройки ====
*«Language» - выбрать язык интерфейса программы
{{https://wiki.puppyrus.org/_media/users/totiks2012/103.jpg?400}}
*Поддержка EFI [[wpru>Secure Boot]]. Улучшает безопасность , но с некоторыми линуксами может не работать
{{https://wiki.puppyrus.org/_media/users/totiks2012/105.jpg?400}}
*Стиль разметки разделов : [[wpru>MBR]] или [[wpru>GPT]] . Если ваш жесткий диск больше 2 ТБ или планируете установку Windows 11 - выбираем GPT.
{{https://wiki.puppyrus.org/_media/users/totiks2012/106.jpg?400}}
*Дополнительный раздел - создание пустого раздела в конце диска.
*Позже его нужно разбить и отформатировать под свои нужды программой gparted. Например, отформатировать в ext4, и использовать для каталогов дистрибутивов фругал linux, а также для файлов сохранения.
*Актуально, если нужны другие ФС, кроме созданного раздела с именем "Ventoy" [[wpru>exfat]] (на который впоследствии можем копировать ISO и пр.
*Если нет необходимости использовать образы с Windows (запустятся только с fat exfat ntfs) - можно переформатировать в ext или фругую линукс ФС
{{https://wiki.puppyrus.org/_media/users/totiks2012/109.jpg?400}}
*Показывать все устройства - может пригодится для установки ventoy на жесткий диск.
*По умолчанию показаны только usb устройства.
*Использовать с осторожностью так как затирает все данные на указаном устройстве.
{{https://wiki.puppyrus.org/_media/users/totiks2012/108.jpg?400}}
==== Установка ====
=== С переформатированием ===
*Внимательно перепроверяем свой выбор и нажимаем «Установить»
*ventoy выведет предупреждение о том что все данные на вашем устройстве будут потеряны.
{{https://wiki.puppyrus.org/_media/users/totiks2012/112.jpg?400}}
*ventoy установит модифицированный загрузчик grub2
*по окончанию этой операции вы получите от ventoy сообщение об успешном выполнении .
{{https://wiki.puppyrus.org/_media/users/totiks2012/02.jpg?400}}
=== Без переформатирования (Non-destructive)===
[[https://ventoy.net/en/doc_non_destructive.html|Такой]] вариант удобен на HDD, SSD, где уже установлены другие ОС :
*Поддерживается EFI и BIOS загрузка
*По умолчанию будет загружаться центральное Ventoy меню grub2
*которое можно подменить своим (подробнее [[users/totiks2012/ventoy?добавление_в_меню_загрузчика_ventoy|ниже]]).
*Из своего вызывать меню Ventoy и загружать все другие установленные ОС
*Если установленный Линукс генерит свое grub2 меню - вызывайте его из центрального меню
*Копированием файлов с флэшки с установленным Ventoy - Non-destructive установить не получится
__Есть ограничения :__
-На диске должны быть свободные места в таблице разделов. Ventoy необходимо вставить новый раздел VTOYEFI.
*Для стиля разделов MBR, если на диске уже есть 4 раздела, то Non-destructive установка невозможна.
*Для GPT - если на диске уже существует 128 разделов.
-Первый раздел должен начинаться с 1 МБ.
*И MBR, и GPT должны отвечать этому требованию, чтобы соответствовать разметке диска Ventoy.
*В Windows первый раздел по умолчанию начинается с 1 МБ.
-Первый раздел должен содержать файловую систему NTFS или EXT2/3/4.
*Если раздел 1 - NTFS, то необходимо установить пакет ntfs-3g.
*Если раздел 1 - EXT2/3/4, то необходимо установить пакет e2fsprogs.
-На 1-м разделе должно быть свободное пространство.
*Также хорошо, если после 1-го раздела уже есть достаточно неиспользуемого пространства (32 МБ+) (тогда не нужно уменьшать 1-й раздел).
__Установка :__
-Перед трансформацией сделайте архивацию критичной информации на другой носитель
-На случай непредвиденных ситуаций запаситесь загрузочной флэшкой с любым Live Линукс
-Только в консоли : sudo sh Ventoy2Disk.sh -i -n /dev/sdХ
, где sdX -ваш носитель (посмотреть : sudo blkid)
-После перезагрузки по умолчанию будет загружаться меню Ventoy, которое по умолчанию начинает искать все .iso на первом разделе (sdX1) на полную глубину. Дожидаться окончания этого процесса смысла нет
-Глубина поиска и [[https://www.ventoy.net/en/doc_search_path.html|прочие параметры Ventoy]] задаются в файле ventoy/ventoy.json (при Non-destructive он находится на 1м разделе sdX, название раздела не критично)
{
"control": [
{ "VTOY_MAX_SEARCH_LEVEL": "0" }
]
}
, где 0 - искать только в корне sdX1
*Если одновременно задан VTOY_DEFAULT_SEARCH_ROOT, то уровень будет отсчитываться от соответствующего каталога (уровень 0). Например, следующая конфигурация означает, что будут перечислены только файлы в корне и не будет производиться поиск ни в одном подкаталоге.
{
"control": [
{ "VTOY_MAX_SEARCH_LEVEL": "1" },
{ "VTOY_DEFAULT_SEARCH_ROOT": "/ISO" }
]
}
*Если сделать п.5. заранее, без ошибок - Live флэшка не понадобится.
Менее функциональная альтернатива - [[https://forum.puppyrus.org/index.php?topic=24050.0|autoiso]]. Легко добавляется в меню уже установленного grub2
====== Настройка Ventoy после установки ======
Производится через [[https://www.ventoy.net/en/plugin_control.html|конфиг]] ventoy/ventoy.json на разделе с именем "Ventoy"
=====VTOY_LINUX_REMOUNT=====
*Эта опция в ventoy.json доступна только для файлов образов дистрибутивов Linux.
*По умолчанию раздел образа, в котором находятся файлы ISO, не может быть доступен после загрузки. При попытке смонтировать его вы получите ошибку "Устройство занято". Это связано с ограничением ядра linux (модуль device-mapper).
*Если вы выберете 1, Ventoy попытается обойти это ограничение с помощью специального механизма. Это экспериментальная функция и не полностью протестирована. Поэтому иногда есть смысл создать дополнительный раздел (см. выше)
===== VTOY_DEFAULT_SEARCH_ROOT =====
*каталог для поиска iso и пр.
*Ventoy будет искать файлы образов только в этой директории (и ее поддиректориях).
{ "VTOY_DEFAULT_SEARCH_ROOT": "/ISO" }
*Не забудьте добавить этот путь в from= (porteus initrd) и uird.mount= (uird)
===== Ventoy Menu Extension Plugin - вызов своего меню по F6 =====
*https://ventoy.net/en/plugin_grubmenu.html
*Запишите ваше меню и команды grub2 в cfg файл ventoy_grub.cfg в каталоге ventoy в первом разделе, то есть /ventoy/ventoy_grub.cfg.
*Нажмите F6 для загрузки настроенного меню в меню загрузки Ventoy.
=====Wimboot Plugin (WinPe)=====
*[[wpru>WinPE]]
*https://ventoy.net/en/plugin_wimboot.html
===== Vlnk - загрузка iso и пр. с другого носителя=====
Установить Ventoy на носитель с уже установленными ОС проблематично. Легче установить на флэшку (не жалко переформатировать). Но флэшки медленные. С помощью Vlnk можно запускать iso c sdd и пр. из-под Ventoy с флэшки
*https://ventoy.net/en/doc_vlnk.html
*Если iso находится на windows разделах (fat exfat ntfs) - можно запустить через [[https://ventoy.net/en/doc_browser.html|F2]] в главном меню Ventoy.
*Плагины (Menu alias, Menu tip, Persistnce, Auto install ...) не могут быть использованы при просмотре и загрузке файлов. Используйте вышеуказанный механизм Vlnk, если они вам нужны.
*Для linux файловых систем : sudo bash VentoyVlnk.sh -c xxx.iso в терминале. Файл vlnk будет создан в текущем каталоге, в котором вы запустили скрипт. Перенесите его на флэшку
=====Injection - добавить свои файлы =====
*https://ventoy.net/en/plugin_injection.html
*Например например, драйверы/скрипты ... Вы говорите Ventoy внедрить сжатый архив, а Ventoy распаковывает его в среду выполнения после загрузки, и это все.
*Поддерживаются архивы :
*Windows: .7z .zip - распакует на X:
*Linux: .zip .tar.gz .tar.bz2 .tar.xz .tar.lzma - распакует в корень (/), как tar -xzf inject.tar.gz -C /
*Вы должны создать свой сжатый архив в соответствии со структурой каталогов системы и предоставляемыми возможностями. Например, вы можете предоставить архив, содержащий каталог sources\$OEM$ для внедрения драйверов Windows.
*В /ventoy/ventoy.json нужно добавить :
{
"injection": [
{
"image": "/ISO/MX-19.1_x64.iso",
"archive": "/driver/mx-driver.tar.gz"
},
{
"parent": "/ISO/Windows",
"archive": "/driver/win-driver.zip"
}
]
}
=====Boot Conf Replace - подмена меню загрузчика grub2 и пр.=====
Возможна двумя способами:
-Нажать Tab или e, чтобы войти в режим редактирования меню загрузки и изменить параметры. Но это действует однократно и требуется при каждой загрузке.
-Изменить конфигурационный файл и создать новый ISO-файл. Это более хлопотно, и вам придется снова создавать новый ISO-файл после обновления опции загрузки.
*https://ventoy.net/en/plugin_bootconf_replace.html
*С помощью этого плагина вы можете указать новый файл конфигурации для динамической замены оригинального файла конфигурации во время загрузки.
*Замена происходит динамически и временно, оригинальный ISO-файл не будет изменен.
*В /ventoy/ventoy.json нужно добавить :
{
"conf_replace": [
{
"iso": "/CentOS-7-x86_64-DVD-1908.iso",
"org": "/isolinux/isolinux.cfg",
"new": "/ventoy/centos.cfg"
},
{
"iso": "/ubuntu-20.04-desktop-amd64.iso",
"org": "/isolinux/txt.cfg",
"new": "/ventoy/ubuntu.cfg"
}
]
}
*Замена двух файлов :
{
"conf_replace": [
{
"iso": "/debian-10.6.0-amd64-DVD-1.iso",
"org": "/isolinux/isolinux.cfg",
"new": "/ventoy/new_isolinux.cfg"
},
{
"iso": "/debian-10.6.0-amd64-DVD-1.iso",
"org": "/isolinux/menu.cfg",
"new": "/ventoy/new_menu.cfg"
}
]
}
*Если используется systemd-boot (например в ArchLinux) - добавить строку с четвертым параметром : "img": 1
====== Загрузка дистрибутивов https://puppyrus.org в Ventoy из iso ======
В этом режиме можно использовать [[https://ventoy.net/en/isolist.html|много]] стандартных ОС. Наших в списках нет, но они тоже так работают. Далее особенности для наших initrd
===== pra-porteus initrd (LFD) =====
Работает из iso в любой версии ventoy в normal и grub2 режимах с [[https://wiki.puppyrus.org/soft/porteus-initrd#from|from=]]/ваш_iso.iso
===== UIRD initrd (PRAR, LFDS). =====
*C 1.0.82 и выше версий ventoy должны грузиться все iso c UIRD initrd в режиме grub2 (prar lfds).
*В normal надо добавить uird.mounts=/где/prar.iso и тогда uird.from как обычно
===== rootaufs2 initrd (PRAR)=====
С версии 230107 загружается в режиме grub2
======Frugal установка дистрибутивов PuppyRus.======
*На примере дистрибутив [[https://forum.puppyrus.org/index.php?topic=22139.msg185572#msg185572|LFD10]]
*Если после установки ventoy планируется устанавливать windows - ничего не получится. Устанавливайте в следующей последовательности:
-windows - стандартным способом
-grub2 с любого live дистрибутива линукс
-Через grub2 запускайте все установленные системы. Примеры конфигов в iso и wiki
-Альтернативный метод : [[https://forum.puppyrus.org/index.php?topic=24051.0|LF-auto]]. Добавляется в меню любого уже установленного grub2
===== Копирование =====
*Монтируем ISO образ любым приемлемым способом, далее открываем смонтированный каталог iso образа, находим в нем каталог с именем /lfd10,
{{https://wiki.puppyrus.org/_media/users/totiks2012/117.jpg?400}}
копируем его в раздел /sda1
{{https://wiki.puppyrus.org/_media/users/totiks2012/118.jpg?400}}
{{https://wiki.puppyrus.org/_media/users/totiks2012/119.jpg?400}}
===== Добавление в меню загрузчика ventoy. =====
Два варианта:
====Альтернативное меню F6====
Альтернативное меню вызывается функциональной клавишой F6 в главном меню ventoy. Удобно на usb-flash
*В разделе /Ventoy (в нашем случае это /sda1 создаём каталог с именем /ventoy,
{{https://wiki.puppyrus.org/_media/users/totiks2012/120.jpg?400}}
*в этом каталоге правой кнопкой мышки из контекстного меню создаём пустой файл с именем ventoy_grub.cfg
{{https://wiki.puppyrus.org/_media/users/totiks2012/121.jpg?400}}
{{https://wiki.puppyrus.org/_media/users/totiks2012/122.jpg?300}}
*далее открываем этот [[https://wiki.puppyrus.org/_media/users/totiks2012/ventoy_grub.cfg.zip|файл]] и вставляем в него следующий код:
#!/bin/sh
#set default=6
#set prefix=($root)/EFI/BOOT
#if loadfont $prefix/euro.pf2 ; then
if loadfont $prefix/ter-u18n.pf2 ; then
# set gfxmode=auto
set gfxmode=1024x768,1024x600,800x600,640x480
insmod efi_gop
insmod efi_uga
insmod probe
insmod vbe
insmod vga
insmod gfxterm
terminal_output gfxterm
set locale_dir=$prefix
set lang=ru_RU
insmod gettext
fi
set menu_color_normal=white/black
export menu_color_normal
set menu_color_highlight=black/light-gray
export menu_color_highlight
insmod part_msdos
insmod ext2
insmod cat
insmod sleep
#set timeout=5
if [ "${grub_platform}" = 'efi' ]; then
menuentry " ! Если Linux ядро (неподписанное) не загружается - отключите в BIOS Secure Boot ! " {
true
}
fi
menuentry " ▒▒ LFD10 pporteus OLS (Openbox, Lxpanel, SpaceFM). Для слабого железа (Без NM, pulse). Модули не загружаются в RAM (оперативную память) \
load=module[1]\;module[n] - .pfs загружаются выше базы из /optional \
noload=module[1]\;module[n] - пропуск загрузки перечисленных модулей (regex) При малом количестве RAM (памяти) используйте zram=150% или 100%" {
set d=lfd10
export d
search --set=root --no-floppy --file /${d}/vmlinuz-5.15.0-pf5-pt14_64
linux /${d}/vmlinuz-5.15.0-pf5-pt14_64 dir=${d} rw quiet changes=EXIT:/dev/sda1/lfd10
initrd /${d}/.xz
}
menuentry "▁▂▃▄▅▆ Назад [Esc]" --class=vtoyret VTOY_RET {
echo
}
*Этот конфигурационный файл актуален для LFD10-22.04 и содержит в себе опцию сохранения в каталог дистрибутивом /lfd10, при перезагрузке, но должно выполнятся условие что /sda1 отформатирован в ext4.
*Процесс установки и конфигурации загрузчика Ventoy а также дистрибутива LFD10, c использованием альтернативного меню Ventoy на жёсткий диск закончен.
====Замена меню Ventoy====
*Удобно на HDD, SSD
*В конце добавлен вызов оригинального меню
*Переименуйте на fat разделе VTOYEFI grub/grub.cfg в grub.cfg0
{{https://wiki.puppyrus.org/_media/users/totiks2012/126.jpg?500}}
*скопировать в /grub/ свой ventoy_grub.cfg
{{https://wiki.puppyrus.org/_media/users/totiks2012/128.jpg?500}}
{{https://wiki.puppyrus.org/_media/users/totiks2012/129.jpg?500}}
*создать /grub/grub.cfg :
{{https://wiki.puppyrus.org/_media/users/totiks2012/130.jpg?200}}
*скопировать в него [[https://wiki.puppyrus.org/_media/users/totiks2012/grub.cfg.zip|код]]:
#!/bin/sh
theme=/grub/themes/ventoy/theme.txt
export theme
##set prefix=($root)/EFI/BOOT
#if loadfont $prefix/euro.pf2 ; then
#if loadfont $prefix/ter-u18n.pf2 ; then
if loadfont unicode ; then
set gfxmode=1024x768,1024x600,800x600,640x480
insmod efi_gop
insmod efi_uga
insmod probe
insmod vbe
insmod vga
insmod gfxterm
terminal_output gfxterm
# set locale_dir=$prefix
set lang=ru_RU
insmod gettext
fi
set menu_color_normal=white/black
export menu_color_normal
set menu_color_highlight=black/light-gray
export menu_color_highlight
set default=6
#"PRA рус"
#insmod vbe
#insmod vga
insmod part_msdos
insmod ext2
insmod cat
insmod sleep
#set timeout=5
if [ "${grub_platform}" = 'efi' ]; then
#menuentry " !!! Если Linux ядро не загружается (error: vmlinuz has invalid signature) - оеключите в BIOS Secure Boot !!! " {
menuentry " ! Если Linux ядро (неподписанное) не загружается - оеключите в BIOS Secure Boot ! " {
true
}
fi
. /grub/ventoy_grub.cfg
menuentry "▁▂▃▄▅▆ МЕНЮ Ventoy " {
configfile $prefix/grub.cfg0
}
*после этого можно перезагрузить компьютер.
*Если при перезагрузке выскочит собщение : «Если Linux ядро (неподписанное) не загружается - отключите в BIOS Secure Boot !»
*Делаем то что просят идем в BIOS и отключаем Secure Boot.
Установка загрузчика Ventoy и frugall дистрибутива LFD10, с использованием главного меню загрузчика Ventoy завершена.
Установка дистрибутива LFD10 на usb носитель, отличается лишь выбором носителя usb в интерфейсе программы, а так же созданием дополнительного раздела для frugall дистрибутивов linux , в остальном все выполняемые действия те же.
===== Загрузка дистрибутивов https://puppyrus.org из iso в grub2 без Ventoy=====
Если iso находятся на носителе, на котором установлен только grub2 без ventoy :
*[[soft/porteus-initrd?загрузка_из_iso_в_grub2|pra-porteus initrd]]
*[[soft/uird?загрузка_из_iso_в_grub2|UIRD]]
//**Автор** : totiks2012//
//Редактирование : sfs//