Мультизагрузчик операционных систем windows

Привет Хабр!

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

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

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

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

  • Устанавливаться на флешку / sd card / обычный диск.
  • Разбивать флешку(целевой носитель) под MBR или GPT.
  • Обновляться без потери данных на носителе.
  • Имеет поддержку Secure Boot™.
  • Имеет установщики под linux (CLI / Web / Qt & GTK GUI) и Windows (GUI).
  • Умеет грузить загрузочные ISO Windows, Windows PE, Linux, *BSD, Android X86 etc. Список протестированных ISO-шников насчитывает 742 позиции, на данный момент.
  • Кроме x86_64 и x86, умеет в следующие архитектуры: IA32 UEFI, ARM64 UEFI, MIPS64 UEFI (Что интересно, протестировано на всяких китайских железках, типа Loongson).
  • Поддерживает загрузку x86 OpenWRT.
  • Умеет загружать floppy images, а также имиджи формата VHD, VDI и RAW.
  • Имеет поддержку Persistence для LiveCD Fedora, Ubuntu, Arch, Mint etc.
  • Также умеет в файлы для unattended installation различных дистрибутивов linux и windows.
  • Умеет в Memdisk Mode — режим при котором образ целиком загружается в память и запускается уже оттуда (Это позволяет, например, загрузить KolibriOS и некоторые ремонтные диски на основе DOS).
  • В случае проблем с запуском Windows образов в нормальном режиме, может переключаться в WIMBOOT mode.
  • GUI / Web инсталлятор локализован на большое количество языков, включая русский.
  • Имеет развитую систему плагинов, в основном конфигурируемую при помощи json файла конфигурации.

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

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

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

Скачиваем, распаковываем:

$ curl -L https://github.com/ventoy/Ventoy/releases/download/v1.0.55/ventoy-1.0.55-linux.tar.gz | tar -zxv
$ cd ventoy-1.0.55

Пользователи Arch-Linux могут подключить сторонние репозитории и скачать оттуда. Также есть в AUR. Пользователи Manjaro просто могут набрать sudo pacman ventoy.

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

  1. CLI
  2. Web GUI
  3. GTK / Qt GUI

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

▍ CLI

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

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

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

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

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

Резервирование места:

sudo ./Ventoy2Disk -i -r <SIZE_MB> /dev/sdX

Где после ключа -r поставить размер резервируемого размера в мегабайтах. В результате разбивка примет вид как на картинке ниже:

Разбивка с reserved space

Разбивка с reserved space

Например, для флешки объёмом 256 гигов можно зарезервировать 150Gb (-r 153600) и тогда под Раздел1 + Раздел2 останется 106gb. После установки на зарезервированном месте, можно создать дополнительный раздел или несколько. Переходим к следующему варианту…

Разбивка под GPT:

sudo ./Ventoy2Disk -i -g /dev/sdX

Всё то же самое, что и в случаях с MBR разбивкой. Такую флешку можно грузить не только на UEFI системах, но и на большинстве систем с BIOS. По крайней мере у меня, на тестовом ноуте 2008-го года, c чистым легаси, прекрасно грузится. Разумеется, для GPT разбивки действуют ровно те же ограничения в 137gb, что и для MBR, так что ключик -r обязателен для больших флешек. Для систем с SecureBoot нужно ставить ключ -s (подробнее про работу с SecureBoot можно посмотреть тут). Правда обычным системам с BIOS/UEFI он никак не мешает. Поэтому я, на обычные «мелкие» флешки всегда ставлю командой:

sudo Ventoy2Disk -i -g -s /dev/sdX

Другие полезные ключи ventoy: * -I — заменяет ключ -i, если нужно установить (полная переустановка с потерей всех данных) ventoy на флешку,. на которой он уже установлен. * -l — Проверить наличие и показать версию ventoy на флешке. * -L LabelName — задать при установке метку раздела(exFAT) с данными. По умолчанию Ventoy * -u — Обновить ventoy на флешке, без потери данных:

sudo Ventoy2Disk -u /dev/sdX

▍ Web GUI

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

WebGUI

WebGUI

Запуск:

sudo ./VentoyWeb.sh

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

===============================================================
  Ventoy Server 1.0.55 is running ...
  Please open your browser and visit http://127.0.0.1:24680
===============================================================

################## Press Ctrl + C to exit #####################

Cамо собой разумеется, ключиками (-H ip.add.re.ss — Адрес, -p port и порт соответственно) его можно повесить на другой ip / port, но это такое cебе развлечение, ибо никакой защиты не предусмотрено.

▍ GTK / Qt GUI

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

./VentoyGUI.x86_64

Для запуска Qt версии надо добавить ключ --qt5. Сам интерфейс GUI и Web-версии прост как табуретка и не требует пояснений для пользователей хабра. Единственное что, не ставьте крыжик «показать все устройства», если конечно у вас нет цели поставить Ventoy на HDD / SDD (или совершить цифровое самоубийство неверным движением руки)

Ventoy Qt5 GUI

Ventoy Qt5 GUI

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

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

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

{
    "plugin_name": {
        "key": "value",
        ...
        "key-n": "value-n"
    },

    "plugin_name2": [
        {
            "key1": "value1",
            ...
            "key-n": "value-n"
        },
        {
            "key1": "value1",
            ...
            "key-n": "value-n"
        }
    ]
}

Ещё в ventoy есть такая интересная штука для запуска плагинов по условию запуска в определённой среде, как Multi Mode. Например, показывать разные *.iso, если мы запустились в BIOS(legacy) или в UEFI. Для этого после имени плагина пишем имя режима, через подчёркивание: "plugin_name_mode": {. Как-то так:

{
    "theme_legacy": {
        "display_mode": "CLI"        
        },
    "theme_uefi": {
        "file": "/ventoy/theme/theme.txt",
        "gfxmode": "1920x1080"
        },
    "theme_ia32": {
        "file": "/ventoy/theme/theme_ia32.txt",
        "gfxmode": "800x600"
        },
    }
}

Глоббинг путей поддерживается в ventoy, но он предельно примитивный и имеет только одну возможность — замену отдельного символа, также, как это делает знак вопроса в bash. Только здесь его функцию выполняет *. Например:

{
    "menu_alias": [
        {
            "image": "/ISO/Ubuntu-20.**-desktop-amd64.iso",
            "alias": "Ubuntu 20"
        },
        {
            "image": "/ISO/Ubuntu-21.**-desktop-amd64.iso",
            "alias": "Ubuntu 21"
        }
    ]
}

Под эти шаблоны подпадут, например Ubuntu-20.04-desktop-amd64.iso и Ubuntu-21.01-desktop-amd64.iso. Хотелось бы большего, но и это неплохо, особенно когда меняешь *.iso на новые версии.

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

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

▍ Global control plugin

{
    "control": [
        { "VTOY_DEFAULT_MENU_MODE": "0" },
        { "VTOY_TREE_VIEW_MENU_STYLE": "0" },
        { "VTOY_FILT_DOT_UNDERSCORE_FILE": "1" },
        { "VTOY_SORT_CASE_SENSITIVE": "0" },
        { "VTOY_MAX_SEARCH_LEVEL": "max" },
        { "VTOY_DEFAULT_SEARCH_ROOT": "/ISO" },
        { "VTOY_MENU_TIMEOUT": "10" },
        { "VTOY_DEFAULT_IMAGE": "/ISO/debian_netinstall.iso" },
        { "VTOY_FILE_FLT_EFI": "1" },
        { "VTOY_DEFAULT_KBD_LAYOUT": "QWERTY_USA" },
        { "VTOY_WIN11_BYPASS_CHECK": "0" }
    ]
}

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

Параметры

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

  1. Специальные пункты меню: VTOY_EXIT — выйти из ventoy; Fn>xx>yy, где Fn, означает клавишу от F1, до F6 из нижней строчки, xx и yy. действие и поддействие, если есть. Ровно так как они выглядят на экране. Например: { "VTOY_DEFAULT_IMAGE": "F5>Check plugin json configuration (ventoy.json)>Check theme plugin configuration" } или { "VTOY_DEFAULT_IMAGE": "F2>Halt" } или { "VTOY_DEFAULT_IMAGE": "F1" } 2. Список раскладок клавиатуры: QWERTY_USA, AZERTY, CZECH_QWERTY, CZECH_QWERTZ, DANISH, DVORAK_USA, FRENCH, GERMAN, ITALIANO, JAPAN_106, LATIN_USA, PORTU_BRAZIL, QWERTY_UK, QWERTZ, QWERTZ_HUN, QWERTZ_SLOV_CROAT, SPANISH, SWEDISH, TURKISH_Q, VIETNAMESE 3. Типы фильтруемых файлов: ISO, WIM, EFI, IMG, VHD, VTOY 4. Ключи реестра создаваемые ventoy на лету, при включённом байпассинге проверки железа: HKEY_LOCAL_MACHINE\SYSTEM\Setup\LabConfig\BypassRAMCheck, HKEY_LOCAL_MACHINE\SYSTEM\Setup\LabConfig\BypassTPMCheck, HKEY_LOCAL_MACHINE\SYSTEM\Setup\LabConfig\BypassSecureBootCheck, HKEY_LOCAL_MACHINE\SYSTEM\Setup\LabConfig\BypassCPUCheck, HKEY_LOCAL_MACHINE\SYSTEM\Setup\LabConfig\BypassStorageCheck

▍ Image list / Image Blacklist plugin.

{
    "image_list": [
        "/ISO/Linux/archlinux-2020.10.01-x86_64.iso",
        "/ISO/cn_windows_10_enterprise_ltsc_2019_x64_dvd_9c09ff24.iso",
        "/ISO/Win10PE.iso"
    ]
}

Чёрный (image_blacklist) или белый (image_list) список. Может быть только либо один, либо другой. В примере выше, будут отображаться только имиджи из этого списка. Ещё в любой каталог можно поместить пустой файл .ventoyignore и тогда этот каталог и все его подкаталоги будут проигнорированы.

▍ Theme plugin

{
    "theme": {
        "file": [
            "/ventoy/theme1/theme.txt",
            "/ventoy/theme2/theme.txt",
            "/ventoy/theme3/theme.txt",
            "/ventoy/theme4/theme.txt"
        ],
        "gfxmode": "1920x1080",
        "display_mode": "GUI",
        "serial_param": "--unit=0 --speed=9600",
        "ventoy_left": "5%",
        "ventoy_top": "95%",
        "ventoy_color": "#0000ff",
        "fonts": [
            "/ventoy/theme/blur/Hack-12.pf2",
            "/ventoy/theme/blur/Hack-14.pf2",
            "/ventoy/theme/blur/Hack-16.pf2"
        ]
    }
}

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

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

+ hbox{ 
    left = 30%
    top = 95%
    width = 10%
    height = 25
    + label {text = "@VTOY_HOTKEY_TIP@" color = "blue" align = "left"} 
}

+ hbox{ 
    left = 90%
    top = 5 
    width = 10%
    height = 25
    + label {text = "@VTOY_MEM_DISK@" color = "red" align = "left"} 
}

+ hbox{ 
    left = 30%+200
    top = 95%-25
    width = 10%
    height = 25
    + label {text = "@VTOY_WIMBOOT_MODE@" color = "red" align = "left"} 
}

▍ Menu class plugin

{
    "menu_class": [
        {
            "key": "MX-",
            "class": "mx"
        },
        {
            "key": "ubuntu",
            "class": "ubuntu"
        },        
        {
            "key": "CentOS-7-",
            "class": "centos"
        },
        {
            "parent": "/ISO/Linux/Arch",
            "class": "arch"
        },
        {
            "dir": "/ISO/Linux",
            "class": "linux"
        }        
    ]
}

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

Class icons

Class icons

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

Класс, стоящий выше по конфигу, имеет больший приоритет. Если для встроенных классов, связанных с функциональными клавишами(см таблицу на сайте ventoy), отсутствует соответствующая иконка и при этом он является дочерним, то берётся иконка родителя. Например: У клавши F4 есть класс F4boot и четыре дочерних подкласса: boot_windows, boot_g4d, boot_disk и boot_uefi. Если есть иконка F4boot.png, а иконка какого-либо из классов отсутствует, для соответствующего пункта будет использована F4boot.

▍ Menu alias plugin

{
    "menu_alias": [
        {
            "image": "/ISO/MX-19.1_x64.iso",
            "alias": "MX 19.1 ISO file For me"
        },
        {
            "image": "/ubuntu-20.04-desktop-amd64.iso",
            "alias": "Ubuntu +++ <2004> +++"
        },        
        {
            "image": "/cn_windows_10_enterprise_ltsc_2019_x64_dvd_9c09ff24.iso",
            "alias": "Windows 10"
        },
        {
            "dir": "/ISO/Linux",
            "alias": "[My Linux Directory]"
        }
    ]
}

Очень полезный плагин, позволяющий алиасить имена каталогов и образов, чтобы вместо условного ru_windows_10_enterprise_ltsc_2019_x64_dvd_9c09ff24.iso в меню просто отображалось Windows 10. Табличка тут совсем маленькая и нет смысла убирать её под спойлер:

▍ Menu tip plugin

{
    "menu_tip": {
      "left": "10%",
      "top": "81%",
      "color": "blue",
      "tips": [
          {
              "image": "/linux/archlinux-2021.07.01-x86_64.iso",
              "tip": "This ISO file contains Intel SSD/NVMe/Wifi/USB 3.0 drivers and other common used software..."
          },
          {
              "image": "/xBSD/FreeBSD-12.1-RELEASE-amd64-bootonly.iso",
              "tip": "FreeBSD 12 only boot image"
          }          
      ]
    }
}

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

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

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

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

▍ Menu extension plugin

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

menuentry "Habr greetings menu" --class=custom {
    echo '+-+-+-+-+-+ +-+-+-+-+ +-+-+-+-+ +-+-+-+-+-+-+-+ '
    echo '|H|e|l|l|o| |H|a|b|r| |f|r|o|m| |V|e|n|t|o|y|!| '
    echo '+-+-+-+-+-+ +-+-+-+-+ +-+-+-+-+ +-+-+-+-+-+-+-+ '
    sleep 10
}

submenu 'My Custom SubMenu -->' --class=customsub {        
    menuentry "My Custom Menu2" --class=custom2 {
        echo 'This is custom menu2 ... '
        sleep 1    
    }
    
    menuentry '<-- Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
        echo 'Return ...'
    }
}

menuentry '<-- Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
    echo 'Return ...'
}

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

  • Специальный пункт меню VTOY_RET возвращает вас в вышестоящее меню. (см. пример)
  • Все возможности, имеющиеся в GRUB, можно реализовать при помощи данного плагина. Читайте документацию.

▍ Password plugin

{
    "password": {
        "bootpwd": "txt#123456",
        "isopwd": "txt#111",
        "wimpwd": "txt#222",
        "imgpwd": "txt#333",
        "vhdpwd": "txt#444",
        "efipwd": "txt#555",
        "vtoypwd": "txt#666",
        "menupwd": [
            {
                "parent":"/MyVhdDir/WindowsVHD",
                "pwd":"md5#def#14fa11b4ab450b0204182266140e284d"
            },
            {
                "file":"/ISO/MX-19.1_x64.iso",
                "pwd":"md5#e10adc3949ba59abbe56e057f20f883e"
            },
            {
                "file":"/ISO/ubuntu-20.04-desktop-amd64.iso",
                "pwd":"md5#abc#0659c7992e268962384eb17fafe88364"
            }
        ]
    }
}

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

Пароли могут быть: * в plain text, формат: txt#YourSuperPassword12345, длиной не более 32-х символов * в MD5, формат: md5#e10adc3949ba59abbe56e057f20f883e * в MD5 с солью, формат: md5#MySuperSalt#0659c7992e268962384eb17fafe88364 Соль не более 16 символов.

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

▍ Auto memdisk plugin

{
    "auto_memdisk": [
        "/ISO/mt531b.iso",
        "/ISO/ESXi.iso",
        "/ISO/Win10PE.iso"
    ]
}

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

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

▍ WIMboot plugin

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

  • Скачиваем
    wget -c https://github.com/ventoy/wimiso/releases/download/v1.0/ventoy_wimboot.img 
    

    из репозитория

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

WIMboot mode

WIMboot mode

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

▍ Windows VHD boot plugin

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

  • Скачиваем из репозитория: wget https://github.com/ventoy/vhdiso/releases/download/v3.0/ventoy_vhdboot.zip
  • Также распаковываем ventoy_vhdboot.img в каталог ventoy на флешке.

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

menuentry "Boot My Windows VHD" {    
    set my_vhd_path="/VhdDir/Win10.vhd"
    
    if search -n -s vdiskhd -f "$my_vhd_path"; then
        vhdboot_common_func "($vdiskhd)$my_vhd_path"
    else
        echo "$my_vhd_path not found"
    fi
}

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

▍ DUD (Driver Update Disk) plugin

{
    "dud": [
        {
            "image": "/rhel-server-7.4-x86_64.iso",
            "dud": "/ventoy/dd.iso"
        },
        {
            "image": "/rhel-server-7.3-x86_64.iso",
            "dud": [
                "/ventoy/i40e_dd.iso",
                "/ventoy/qla2xxx-8.07.00.51.07.0-k-dd-rhel7u3-3.10.0-514.el7.x86_64.iso"
            ]
        },
        {
            "image": "/SLE-12-SP1-Server-DVD-x86_64-GM-DVD1.iso",
            "dud": "/ventoy/brocade_adapter_sles12sp1_dud_v3-2-7-0.iso"
        }
    ]
}

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

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

▍ Auto installation plugin

{
    "auto_install": [
        {
            "image": "/abc/centos.iso",
            "template": "/ventoy/script/centos_kickstart.cfg"
        },
        {
            "image": "/ISO/cn_windows_server_2012_r2_vl_x64_dvd_2979220.iso",
            "template": [
                "/ventoy/script/windows_unattended1.xml",
                "/ventoy/script/windows_unattended2.xml",
                "/ventoy/script/windows_unattended3.xml",
                "/ventoy/script/windows_unattended4.xml",
                "/ventoy/script/windows_unattended5.xml",
                "/ventoy/script/windows_unattended6.xml"
            ],
            "autosel": 2
        },
        {
            "image": "/SLE-12-SP3-Server-DVD-x86_64-GM-DVD1.iso",
            "template": "/ventoy/script/suse_autoyast.xml"
        },
        {
            "parent": "/ISO/SUSE",
            "template": "/ventoy/script/suse_autoyast.xml"
        },
        {
            "image": "/ubuntu-16.04-server-amd64.iso",
            "template": "/ventoy/script/ubuntu_server.seed",
            "autosel": 1
        }
    ]
}

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

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

▍ Boot conf replace plugin

{
    "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": "/EFI/BOOT/grub.cfg",
            "new": "/ventoy/centos_grub.cfg"
        }
    ]
}

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

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

▍ Injection plugin

{
    "injection": [
        {
            "image": "/ISO/MX-19.1_x64.iso",
            "archive": "/driver/mx-driver.tar.gz"
        },
        {
            "image": "/ubuntu-20.04-desktop-amd64.iso",
            "archive": "/driver/ubuntu-driver.tar.bz2"
        },        
        {
            "image": "/cn_windows_10_enterprise_ltsc_2019_x64_dvd_9c09ff24.iso",
            "archive": "/driver/win10-driver.zip"
        },
        {
            "parent": "/ISO/Windows",
            "archive": "/driver/win-driver.zip"
        }
    ]
}

Плагин позволяющий подкидывать любые файлы и каталоги внутрь файловой системы iso-шника. Объединяет в себе свойства предыдущего плагина и немного DUD и Auto installation plugin, только более низкоуровневый. Например, можно подкинуть архив с sources/$OEM$ и нужными драйверами, в виндовс. В Windows содержимое архива распакуется в X:\, в Linux соответственно в /.

Параметры:

▍ Persistence plugin

{
    "persistence": [
        {
            "image": "/ISO/MX-19.1_x64.iso",
            "backend": "/persistence/MX-19.1_x64.dat"
        },
        {
            "image": "/ISO/ubuntu-20.04-desktop-amd64.iso",
            "backend": [
                "/persistence/ubuntu_20.04_1.dat",
                "/persistence/ubuntu_20.04_2.dat",
                "/persistence/ubuntu_20.04_3.dat"
            ],
            "autosel": 2
        },        
        {
            "image": "/linuxmint-19.3-xfce-64bit.iso",
            "backend": "/persistence/linuxmint_19.03.dat",
            "autosel": 1            
        }
    ]
}

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

Таблица протестированных образов

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

$ ./CreatePersistentImg.sh --help
Usage:  CreatePersistentImg.sh [ -s size ] [ -t fstype ] [ -l LABEL ] [ -c CFG ]
  OPTION: (optional)
   -s size in MB, default is 1024
   -t filesystem type, default is ext4  ext2/ext3/ext4/xfs are supported now
   -l label, default is casper-rw
   -c configfile name inside the persistence file. File content is "/ union"
   -o outputfile name, default is persistence.dat

Тут всё просто. Если запустить без параметров, то утилита выполнится со следующими параметрами, по умолчанию: ./CreatePersistentImg.sh -s 1024 -t ext4 -l casper-rw -o persistence.dat В результате создастся образ persistence.dat, размером в гигабайт, раздел на нём будет иметь метку casper-rw и отформатирован будет под ext4. Параметр -c нужен для некоторых дистрибутивов (см. примечания в табличке выше).

Для увеличения или уменьшения (если он не отформатирован под XFS) раздела, и не забит под завязку, используется утилита ./ExtendPersistentImg.sh file [-]size file — файл который нужно обработать, size — насколько надо увеличить или уменьшить(если перед size cтоит -) раздел. Раздел увеличивается или уменьшается без потери данных.

▍ vDisk boot plugin

Ну что ж, последний на сегодняшний день плагин. Плагин, позволяющий запускать VHD/VDI/RAW имиджи из VirtualBox, с установленным в них Linux. Поддерживаются только имиджи фиксированного размера. Динамические образы не поддерживаются! Ещё, при установке ОС в виртуалку, в ней должна быть включена поддержка UEFI! Не создавайте снапшотов виртуалки, что приведёт к невозможности загрузки!

UEFI On!

UEFI On!

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

<code>sudo sh vtoyboot.sh</code>

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

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

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

menuentry "Boot My Linux VHD" {    
    set my_vdisk_path="/VhdDir/Ubuntu.vhd.vtoy"
    
    if search -n -s vdiskhd -f "$my_vdisk_path"; then
        vtoyboot_common_func "($vdiskhd)$my_vdisk_path"
    else
        echo "$my_vdisk_path not found"
    fi
}

Где в переменную my_vdisk_path надо прописать полный путь до образа, от корня вашего физического раздела. Например, если у вас /home на отдельном разделе и имидж живёт по пути /home/vasya/vImages/Arch.vdi.vtoy то в переменную надо будет прописать /vasya/vImages/Arch.vdi.vtoy

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

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

  1. Для некоторых дистрибутивов, например, deepin-desktop-community-1010-amd64.iso понадобится установить дополнительный пакет, что бы была возможность грузиться на системах с BIOS! Для дипина это будет пакет grub-pc-bin_2.02.24.3-1+eagle_amd64.deb живущий в /pool/main/g/grub2/ установочного диска. Общий шаблон для поиска: grub-pc-bin_xxx.deb или grub2-2.xxxx.rpm для RPM based дистров. Например, для Mageia.

Заключение

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

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

Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку

How to dual-boot Linux and Windows on the same hard disk? Typically a computer will have a single operating system installed on them, for those that want to dual-boot multiple OS such as a combination of Windows and Linux, you will need to make some changes and enable the option to choose which OS to boot from during startup.

Continue ➤ 3 Free Boot Camp Alternatives – Run Windows Applications And Games On macOS

Boot Manager Boot Configuration Data

You can install 2 operating systems provided that you partition your SSD or Hard Disk into 2 drives. When you install a Linux distribution, it typically installs the Grub boot loader. Grub loads instead of the Windows boot loader at boot time if Windows was already installed, allowing you to choose the operating system you want to boot by modifying the Boot Configuration Data.

1. Grub2Win

Grub2Win

Grub2Win supports 64 and 32 bit EFI and BIOS on Windows. Safely dual boot Windows and Linux from GPT or MBR disks. Grub2Win boots native GNU Grub version 2 code. Everything is contained in a single 20 MB directory on your Windows C: drive. On EFI systems a few small modules are installed to your EFI partition.

Using the simple Windows GUI and instructions you can install Grub2Win quickly and safely. Select from many OS choices. Supports Antergos, Android, Ubuntu, Debian, Suse, Fedora, Mint, Clover and Windows. Also boots ISO files. You can enter your own custom commands for each menu entry.

  • Supports 64 and 32 bit EFI as well as BIOS firmware.
  • Requires just one directory on the Windows C: drive, about 20 MB disk space.
  • Simple Windows GUI easily sets up Grub2Win in seconds.
  • Lets you set your EFI firmware boot order from within Windows.
  • Preview and customize the 9 included graphic background themes.
  • Works with all filesystems including Mac hfs and Btrfs.
  • Can search for and boot a partition by its label. Supports advanced scripting.
  • Works with both GPT and MBR disks – up to 128 primary partitions per drive.
  • Supports extremely large (over 40 TB) disks and partitions.
  • Safely multiboot Windows, Antergos, Android, Ubuntu, Debian, Suse, Fedora, Mint, Clover and more.
  • Grub customization is done from Windows – Configuration in Linux is not required.

2. EasyBCD

Free for personal, non-commercial use

EasyBCD

Take control of your boot loader, EasyBCD supercharges your Windows PC, allowing you to dual-boot to your heart’s content. Also boot into legacy systems Microsoft doesn’t support: MS-DOS, Windows 9x, Windows ME, and Windows 2000!

EasyBCD is geared for users of all kinds. Whether you just want to add an entry to your old XP partition or want to create a duplicate for testing purposes; if you’re interested in debugging the Windows Kernel or septuple-booting your seven test operating systems, EasyBCD is the key.

  • Boot anything – Windows, Linux, macOS, & BSD! Boot both from and into USB drives, ISO images, virtual disks, and more.
  • Boot anywhere – Create bootable USB sticks with repair utilities that you can take with you anywhere.
  • Protect against disaster – Create entries to boot into recovery utilities or safe mode to prepare for a rainy day.
  • Painless editing – Add, rename, remove, configure, and reorder entries at whim.
  • Solve difficult problems – Use EasyBCD to troubleshoot Windows, back up and repair the bootloader, and more.
  • Powerful scripting with NeoGrub – You’ll have the power to hide partitions, change active flags, and create complex boot scenarios.

3. rEFInd Boot Manager

rEFInd Boot Manager

rEFInd is a fork of the Small rEFIt boot manager for computers based on the Extensible Firmware Interface (EFI) and Unified EFI (UEFI). Like rEFIt, rEFInd is a boot manager, meaning that it presents a menu of options to the user when the computer first starts up, as shown below. rEFInd is not a boot loader, which is a program that loads an OS kernel and hands off control to it.

4. Clover EFI bootloader

Clover EFI bootloader

This is an EFI-based bootloader for BIOS-based computers created as a replacement to the EDK2/Duet bootloader. Clover is an operating system boot loader for computers already equipped with an UEFI firmware and for those equipped with legacy BIOS firmware. An operating system (OS) may support (U)EFI (macOS, Windows, Linux) or not (Windows XP). Legacy boot is used for the last one, that is, the old BIOS system is used to handle boot sectors.

  • Boot macOS, Windows, and Linux in UEFI or legacy mode on Mac or PC with UEFI or BIOS firmware
  • Boot using UEFI firmware directly or CloverEFI UEFI firmware emulation
  • Customizable GUI including themes, icons, fonts, background images, animations, and mouse pointers.
  • Ability to boot previously selected boot entry after default timeout
  • Boot entries menu scrolls if screen resolution is too low for menu
  • Create custom boot entries for personalizing boot entries and add support for other operating systems
  • Create Clover boot entry in NVRAM with tool from GUI

5. Grub

Grub

GNU GRUB is a Multiboot boot loader. It was derived from GRUB, the GRand Unified Bootloader, which was originally designed and implemented by Erich Stefan Boleyn.

Briefly, a boot loader is the first software program that runs when a computer starts. It is responsible for loading and transferring control to the operating system kernel software (such as the Hurd or Linux). The kernel, in turn, initializes the rest of the operating system (e.g. GNU).

6. Super Grub2 Disk

Super Grub2 Disk

Super GRUB2 Disk helps you to boot into most any Operating System (OS) even if you cannot boot into it by normal means. Super Grub2 Disk is a live CD that helps the user to boot into almost any operating system even if the system cannot boot into it by normal means. This allows a user to boot into an installed operating system if their GRUB installation has been overwritten, erased or otherwise corrupted.

Super Grub2 Disk can detect installed operating systems and provide a boot menu which allows the user to boot into their desired operating system. Super Grub2 Disk is not an operating system itself, but a live boot loader which can be run from a CD or USB thumb drive. Everything option to detect most Operating Systems.

  • grub.cfg – (GRUB2 configuration files)
  • menu.lst – (GRUB legacy configuration files)
  • core.img – (GRUB2 installation (even if mbr is overwritten))
  • Bootable ISOs (in /boot-isos or /boot/boot-isos)
  • Enable GRUB2’s LVM support
  • Enable GRUB2’s RAID support
  • Enable GRUB2’s PATA support (to work around BIOS bugs/limitation)
  • Mount encrypted volumes (LUKS and geli)
  • Enable serial terminal

7. Ventoy

Ventoy

Ventoy is an open source tool to create bootable USB drives for ISO/WIM/IMG/VHD(x)/EFI files. With ventoy, you don’t need to format the disk over and over, you just need to copy the ISO/WIM/IMG/VHD(x)/EFI files to the USB drive and boot them directly.

MBR and GPT partition styles, x86 Legacy BIOS and various UEFI boot methods (including persistence) are supported. ISO files larger than 4 GB can be used. Ventoy supports various operating system boot and installation ISO files including Windows and above, Debian, Ubuntu, CentOS, RHEL, Deepin, Fedora and more than a hundred other Linux distributions; various UNIX releases, VMware, Citrix XenServer, etc. have also been tested.

  • x86 Legacy BIOS, IA32 UEFI, x86_64 UEFI, ARM64 UEFI, MIPS64EL UEFI supported
  • IA32/x86_64 UEFI Secure Boot supported Notes
  • Linux Persistence supported Notes
  • Windows auto installation supported Notes
  • Linux auto installation supported Notes
  • Variables Expansion supported for Windows/Linux auto installation script Notes
  • FAT32/exFAT/NTFS/UDF/XFS/Ext2(3)(4) supported for main partition
  • ISO files larger than 4GB supported

Ventoy
для Windows

Ventoy — бесплатная и простая портативная утилита с открытым исходным кодом для создания мультизагрузочных USB-накопителей. Присутствует поддержка большинства операционных систем, протестирована работа более 620 образов загрузочных образов.

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

Основные возможности Ventoy:

  • Простота в использовании.
  • Загрузка образов, хранящихся на USB-носителе.
  • Возможность установки на USB/Local Disk/SSD/NVMe/SD Card.
  • Поддержка образов ISO/WIM/IMG/VHD(x)/EFI.
  • Поддержка x86 Legacy BIOS, IA32 UEFI, x86_64 UEFI, ARM64 UEFI.
  • Поддержка UEFI Secure Boot.
  • Поддержка разделов MBR и GPT.
  • Поддержка автоматической установки RHEL7/8/CentOS7/8/SUSE/Ubuntu Server.
  • Поддержка FAT32/exFAT/NTFS/UDF/XFS/Ext2/3/4.
  • Поддержка ISO файлов размером более 4 ГБ.
  • Поддерживается большинство типов операционных систем, протестирована работа более 620 образов загрузочных образов.
  • Поддержка USB-накопителей с защитой от записи.
  • Неразрушающие данные во время обновления версии.
  • Нет необходимости обновлять Ventoy, когда выходит новый дистрибутив.

ТОП-сегодня раздела «Загрузочные диски»

Ventoy 1.1.05

Простая в использовании программа для создания мультизагрузочных USB-накопителей….

Hirens BootCD 15.2

Hirens BootCD — многофункциональный загрузочный диск, объединившей в себе наиболее эффективные…

Отзывы о программе Ventoy

(ерж про Ventoy 1.0.96 [08-10-2023]

Моё знакомство с этой утилитой было не совсем приятным: вышла из строя флэшка, думал уже выбрасывать, хотя было жалко. В Интернете нашёл видео как восстановить флэш-накопитель, скачал драйвера с сайта производителя, опытным путём нашёл аварийный пин, замкнул и произошло восстановление, заработала. Вот так эта программа добавила мне нового опыта:). Иногда использую, по разным поводам, работает неплохо, регулярно обновляется, что хорошо, до этого использовал Rufus.
8 | 14 | Ответить

Egor про Ventoy 1.0.65 [14-02-2022]

WINDOWS-XP Не устанавливается . Ventoy не поддерживает.
11 | 20 | Ответить

Sergei про Ventoy 1.0.61 [09-12-2021]

Качал версию 1.0.61- не работает.
Пробовал на флешке SP, доходит до 18%, откатывает на 16%, немного думает и выдаёт ошибку, что программа не завершила работу.
На флешке Kingston всё то же самое.
Скачал версию 1.0.62. Всё так же.
10 | 15 | Ответить

Иван в ответ Sergei про Ventoy 1.0.63 [22-01-2022]

Попробуй на другом компе у меня такое было
12 | 22 | Ответить

Иван в ответ Sergei про Ventoy 1.0.63 [22-01-2022]

У меня мульти загрузочная флешка, созданная программой ventoy-1.0.64-windows, записалась успешно разные образы. На флешке появилось два раздела, один из которых с файловой системой exFat на который надо копировать образы, второй загрузочный. На моем ноутбуке при выбора с чего загружаться нет выбора с BIOS или UEFI и при загрузки ventoy в низу возле версии программы пишет UEFI образы не запускаются старые, пробывал все версии ventoy, на других ноутах есть выбор при загрузке BIOS или UEFI и все образы запускаются. Выход такой — отформатировал раздел на который надо копировать образы в fat32 и при при загрузки ventoy в низу возле версии программы пишет BIOS образы запускаются все и на всех ноутах, нооо Win10_21H2_Russian_x64 скопировать на флешку нельзя, большой размер, в ntfs и exFat копирует но не запускает образы. Как победить ету проблему, а так программа неплохая????
17 | 21 | Ответить

Александр в ответ Sergei про Ventoy 1.0.78 [12-11-2022]

Наверное что-то сам напутал. Программа работает прекрасно! Или руки кривые????‍♀️
13 | 15 | Ответить

Андрей про Ventoy 1.0.36 [18-03-2021]

Как понапишут всякого про эту прогу Ventoy-кто во что горазд.На самом деле очень удобная в пользовании,часто обновляется и,надо понимать,совершенствуется.Спецально напихал в неё (флешка 32Гб) 21 элемент всяких дистрибутивов (ОС,live,WinPE и в т.ч. Strelec и 2k10) и всё прекрасно запускается и работает.Просто супер прога!
19 | 21 | Ответить

Ilgovn про Ventoy 1.0.36 [07-03-2021]

Шикарная программа, позволяющая просто покидать на одну флэшку образы различных BootCD и прочего PЕ.
9 | 15 | Ответить

Ventoy – один из лучших инструментов для создания мультизагрузочных USB флешек с несколькими операционными системами. Ventoy позволяет создать загрузочную USB флешку, на которую нужно скопировать установочные ISO образы с дистрибутивами различных ОС. При загрузке с такой флешке вы можете выбрать, какую операционную систему вы хотите установить на компьютере или с какого LiveCD образа нужно загрузиться.

Ventoy: создать простую загрузочную флешку с несколькими ISO образами

Ventoy это бесплатная open-source утилита, которая доступна как для Windows, так и для Linux (https://github.com/ventoy/Ventoy/releases ).

  1. Скачайте архив с утилитой, распакуйте на диск и запустите Ventoy2Disk.exe с правами администратора;
  2. Выберите USB флешку на которую нужно поместить загрузчик Ventoy и нажмите Install;
  3. USB накопитель будет очищен. По умолчанию Ventoy создает на диске таблицу разделов MBR и два раздела: небольшой FAT32 раздел для EFI загрузчика (на базе grub2) и большой основной exFAT раздел. В такой конфигурации загрузочную флешку можно использовать как на BIOS, так и на UEFI компьютерах c Secure Boot. exFAT раздел будет виден почти в любой операционной системе, и на нем нет ограничения на максимальный размер файла в 4 Гб как в FAT32. Вы можете изменить эти настройки в меню Options.
    разделы на загрузочной флешке ventoy

  4. Теперь скопируйте файлы ISO образов с нужными вам операционными системами на основной раздел USB флешки Ventoy;
    Установочный ISO образы операционных систем на USB флешке ventoy

  5. При загрузке компьютера с USB флешки появится графическое меню Ventoy со списком доступных ISO образов. По умолчаниб ventoy сканирует все каталоги и выводит список найденных ISO, WIM, VHDX, IMG образов. Чтобы исключить какую-то папку из сканирования, создайте в ней файл
    .ventoyignore
    .

    Меню загрузчика Ventoy

  6. Вы можете начать установку любой из доступных операционных систем, или загрузиться с вашего LiveCD.

При загрузке с флешки Ventoy с включенным режимом UEFI Secure Boot может появится ошибка:

Verification failed: 0x1A Security Violation

ventoy: Verification failed: 0x1A Security Violation

Чтобы исправить эту ошибку, нужно добавить ключи Ventoy в MOK (Machine Owner Key) компьютера.

  1. Нажмите OK -> любая клавиша;
  2. Выберите Enroll key from disk;
  3. Выберите раздел VTOYEFI -> файл ENROLL_THIS_KEY_IN_MOKMANAGER.cer
    ENROLL_THIS_KEY_IN_MOKMANAGER.cer

  4. Continue -> Yes -> Yes
  5. Перезагрузите компьютере. Теперь, когда ключи Ventoy добавлены в NVRAM UEFI, компьютер будет считать их доверенными и продолжит загрузку ventoy.

Ventoн может загружать содержимое ISO файлов в RAM несколькими способами:

  • Normal mode — в память загружаются только файлы необходимые для загрузки. Для некоторых дистрибутивов и компьютеров (особенно с Legacy BIOS) может вызвать проблемы с загрузкой
  • Memdisk mode – в память загружается весь ISO образ (нужно достаточное количество памяти на компьютере). Этот режим загрузки более стабилен и надежен.

Winboot mode – позволяет сразу загрузится с WIM образа Windows.

Например, для корректной работы образов на базе WinPE (в том числе Hiren’s BootCD PE), на тестовом компьютере мне пришлось загружать их в режиме Memdisk mode. Для этого нужно нажать клавишу
F1
->
Ctrl + D
. После этого ISO образ WinPE начинает целиком загружаться в память:

Loading ISO file to memory

Загрузка ISO образа в память компьютера ventoy Memdisk mode

Расширение возможностей Ventoy с помощью плагинов

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

Выше я показывал, как вручную загрузить WinPE образ в режиме memdisk. Чтобы автоматически загружать определенные ISO образы в таком режиме, добавьте в файл ventoy.json следующие строки:

{
    "auto_memdisk": [
        "/ISO/HBCD_PE_x64.iso",
        "/ISO/Win10PE.iso"
    ]
}
Теперь все указанные ISO образы будут всегда загружаться в память.

В разделе control можно задать глобальные опции. Например:
    "control":[
        { "VTOY_DEFAULT_SEARCH_ROOT": "/ISO" }
        { "VTOY_WIN11_BYPASS_CHECK": "1" },
        { "VTOY_WIN11_BYPASS_NRO": "1" },
    ]
  • VTOY_DEFAULT_SEARCH_ROOT — указывает каталог, в котором нужно искать образы
  • VTOY_WIN11_BYPASS_CHECK — позволяет игнорировать минимальные требования при установке чистого Windows 11 (установка Windows 11 без TPM, Secure Boot и прочих проверок)
  • VTOY_WIN11_BYPASS_NRO – установить Windows 11 с локальной учетной записью

С помощью плагина Injection можно подключать дополнительный файлы или архивы в среду установки (например драйвера, утилиты).

{
  "injection": [
      {
          "image": "/ISO/win7.iso",
          "archive": "/driver/win-driver.zip"
      } 
  ]
 }

В случае Windows указанный архив будет распакован и доступен в среде установки с буквой диска X:.

Плагин Auto_Install позволяет настроить автоматическую установку образа ОС. Для Windows поддерживаются файл ответов unattended.xml для автоматической установки ОС.

    "auto_install" : [
        {
            "image": "/ISO/windows_server_2022.iso",
            "template": "/windows2022_unattended.xml"
        }
  ]

Для Linux тоже можно создать файлы ответов kickstart8.cfg (RHEL, Rocky, Centos) или preseed.cfg (Debian, Ubuntu).

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

Для настройки параметров плагинов Ventoy из графического интерфейса можно использовать утилиту VentoyPlugson.exe. Утилита позволяет сформировать корректный файл ventoy.json и автоматически сохранить его на раздел с данными Ventoy.

Графический интерфейс для настройки параметров ventoy

Ventoy позволит вам отказаться от использования нескольких флешек с разными установочными образами ОС. Все дистрибутивы теперь можно хранить на одной USB флешке, и чтобы записать на флешку новый образ, достаточно скопировать на нее ISO файл.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Что такое цифровая лицензия windows 11
  • Средство проверки готовности системы к обновлению для windows 2008
  • Best vnc windows client
  • Напишите дату появления ос windows 10
  • Диспетчер лицензий не работает или установлен неправильно autocad 2019 windows 10