====== 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//