Как переустановить ventoy без потери данных
Перейти к содержимому

Как переустановить ventoy без потери данных

  • автор:

Использование Ventoy для создания мультизагрузочной флешки

Как пользоваться Ventoy для создания мультизагрузочной флешки

Ventoy — бесплатная программа с поддержкой русского языка, быстро набирающая популярность у пользователей и позволяющая легко создать мультизагрузочную флешку или внешний USB диск для UEFI и Legacy, MBR и GPT систем путем простого копирования загрузочных файлов ISO на накопитель с широким набором доступных настроек.

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

Сначала о базовом использовании программы, а именно о том, как максимально быстро сделать USB-накопитель в Ventoy. Шаги для создания мультизагрузочной флешки с параметрами по умолчанию, возможностью загрузки в UEFI и Legacy режимах.

Процесс быстрого создания загрузочного накопителя

Необходимые шаги будут следующими:

  1. Скачайте архив с Ventoy последней версии с официальной страницы разработчика https://github.com/ventoy/Ventoy/releases и распакуйте его в удобное расположение.
  2. Из папки запустите файл Ventoy2Disk.exe (в случае предупреждения от SmartScreen нажмите «Подробнее», а затем — «Выполнить в любом случае»).
  3. При необходимости включите русский язык интерфейса в программе: выберите его в пункте Language главного меню.
  4. В окне программы выберите нужную флешку (внимание: по умолчанию все данные с неё будут удалены, но есть возможность работы и без удаления — об этом далее в статье) и нажмите кнопку «Установить» или «Install» для подготовки USB накопителя. Главное окно Ventoy для записи на накопитель
  5. Дважды подтвердите, что вы осознаете тот факт, что все данные с флешки будут удалены. Подтверждение форматирования флешки Ventoy
  6. После короткого промежутка времени вы получите сообщение о том, что Ventoy был успешно установлен на устройство. Нажмите Ок и закройте окно программы. Загрузочная флешка Ventoy успешно создана
  7. В результате накопитель будет разделен на два раздела: один большой в файловой системе ExFAT и другой — FAT, с файлами для загрузки (в проводнике, возможно, будет отображаться только первый из них).
  8. Скопируйте любым способом необходимые загрузочные файлы ISO на первый раздел ExFAT (также поддерживаются WIM, VHD и IMG). При желании вы можете организовать их по папкам так, как это будет удобно вам, на работу загрузки это не повлияет (но не используйте пробелы и кириллицу в именах папок). Для переключения между видом по папкам (Tree View) и «все образы списком» (List View) можно использовать клавишу F3 в меню Ventoy.
  9. Готово, вы можете поставить загрузку с флешки в БИОС или использовать Boot Menu для загрузки с нее как в Legacy, так и в UEFI режиме. Меню загрузки по умолчанию будет выглядеть примерно как на изображении ниже: Загрузка с загрузочной флешки Ventoy по умолчанию

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

Базовые настройки перед записью Ventoy на флешку

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

Опции установки Ventoy

Здесь присутствуют следующие параметры:

  • Поддержка Secure Boot — возможность загрузки без отключения Secure Boot, работает не для всех систем, включено по умолчанию.
  • Стиль разметки разделов — можно выбрать GPT и MBR. Учитывайте: выбор MBR позволяет загружаться и в UEFI и в Legacy режиме. GPT — только в UEFI.
  • Дополнительный раздел — выбор файловой системы дополнительного раздела: того раздела, на который вы копируете образы.
  • Удалить Ventoy — удаляет Ventoy с выбранного накопителя.
  • Показать все устройства — отображение не только съемных, но и локальных накопителей.
  • Создать файл VTSi — создание файла VTSi с Ventoy для последующей записи на флешку с помощью Rufus в ситуации, когда средствами Ventoy2Disk это по какой-либо причине сделать не удалось.
  • Неразрушающая установка — запись Ventoy на флешку без удаления уже имеющихся на ней файлов (раздел сжимается и записывается дополнительный раздел, необходимый для загрузки).

Конфигурация Ventoy: ventoy.json и VentoyPlugson

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

ventoy\ventoy.json

на разделе с загрузочными образами.

Этот файл можно создать и править вручную, но в последних версиях Ventoy появилась возможность установки параметров в графическом интерфейсе с помощью инструмента VentoyPlugson.exe, находящегося в архиве с программой, что куда удобнее:

  1. Запустите VentoyPlugson из папки с распакованным архивом Ventoy, укажите флешку, на которой уже установлен Ventoy и нажмите Start. Запуск настройки VentoyPlugson
  2. Откроется веб-интерфейс конфигурации параметров — при изменениях, они автоматически будут записаны в файл конфигурации на накопителе.

Конфигурация Ventoy в VentoyPlugson

Доступные параметры включают в себя:

  1. Настройки отображения меню (обычная или древовидная структура, разрешение, цвета и другое)
  2. Изменение отображаемого имени для ISO образов в меню (Menu Alias Plugin)
  3. Настройка темы оформления меню, поддерживаются темы GRUB (папку с темой размещаем в ventoy\themes). Указание тем выполняется в Theme plugin (показано в видео далее), а сами темы я рекомендую не создавать с нуля, а найти готовые для GRUB2 и отредактировать их.
  4. Добавление иконок к ISO файлам и папкам на флешке путем назначения классов для них. Иконки работают только при указании темы оформления в файле конфигурации и размещении иконок в ventoy\themes\имя_темы\icons (Menu Class Plugin).
  5. Настройка файлов автоматической установки unattended.xml
  6. Обход проверки системных требований при установке Windows 11 (пункт VTOY_WIN11_BYPASS_CHECK в Global Control Plugin).
  7. Настройка автоматической установки с помощью unattended.xml и других файлов конфигурации (Auto Install Plugin).
  8. Добавление собственных пунктов меню GRUB (Menu Extension Plugin), например, для запуска локальной ОС.
  9. Настройка постоянного хранилища для образов Linux, запускаемых в Live-режиме.
  10. Установка паролей для загрузки с флешки, использования образов (Password Plugin).

Результат моих 10-минутных экспериментов с темой оформления в меню загрузочной флешки Ventoy:

Тест настройки темы оформления в Ventoy

Дополнительные возможности программы

Такие функции как обход требований Windows 11 при установке, настройку тем оформления и создание загрузочной флешки без удаления уже записанных на неё файлов я уже описал выше. Но Ventoy развивается и от версии к версии обрастает новыми функциями.

Загрузка локальных образов

Начиная с версии 1.0.66 появилась возможность загрузки образов, хранящихся на жестком диске или другом накопителе, а не на самой флешке Ventoy. Возможны два варианта использования:

  • В меню Ventoy нажать клавишу F2 для выбора образа на любом из подключенных к компьютеру накопителей. Стало доступным с версии 1.0.67
  • Использовать утилиту VentoyVlnk.exe из архива с Ventoy: запустите утилиту, нажмите кнопку «Create» и выберите образ на локальном диске. Утилита создаст файл имя_образа.vlnk.iso (или с другим расширением, зависит от выбранного образа) в том же расположении, откуда она была запущена. Уже этот файл располагаем на накопитель с Ventoy и он будет служить ссылкой для загрузки из нужного образа на локальном диске.

Ventoy LiveCD

На некоторых конфигурациях ПК с Windows Ventoy может не устанавливаться на накопитель. В этом случае можно использовать образ Ventoy LiveCD, доступный на той же официальной странице загрузки утилиты: достаточно записать его на флешку, например, с помощью Rufus, загрузиться с неё и использовать утилиту в среде Linux, запущенной в Live-режиме.

Видео инструкция

А вдруг и это будет интересно:

  • Лучшие бесплатные программы для Windows
  • Fontdrvhost.exe — что это за процесс и решение возможных проблем
  • У вас нет разрешения на подключение файла ISO в Windows — как исправить?
  • Настройка безопасности препятствует загрузке этого драйвера — решение
  • Microsoft PC Manager — программа для оптимизации и очистки Windows 11 и 10
  • Microsoft account requires JavaScript to sign in — как исправить?
  • Windows 11
  • Windows 10
  • Android
  • Загрузочная флешка
  • Лечение вирусов
  • Восстановление данных
  • Установка с флешки
  • Настройка роутера
  • Всё про Windows
  • В контакте
  • Одноклассники

    Иван 12.08.2023 в 00:09

  • Dmitry 12.08.2023 в 12:23
  • Dmitry 10.09.2023 в 17:11

Заметки эникейщика

Статьи и заметки об установке и настройке Windows, Linux, маршрутизаторов и т.д.

GPT в MBR без потери данных

Чтобы преобразовать разметку жесткого диска из GPT в MBR без потери данных нам понадобится загрузочный диск или загрузочная флешка с Linux. Как легко создать загрузочную флешку, я уже писал ранее.

Грузимся с загрузочного диска (или флешки) Linux, заходим в терминал и выполняем следующую команду:

sudo gdisk /dev/sdX

где X — буква диска, на котором надо произвести преобразование разметки жесткого диска из GPT в MBR без потери данных.

Нажимаем:
r
Enter
g
Enter
w
Enter
y
Enter

Готово! Перезагружаем компьютер.

MBR в GPT без потери данных

Для того чтобы преобразовать разметку жесткого диска из MBR в GPT без потери данных выполняем команду:

sudo gdisk /dev/sdX

где X — буква диска, на котором надо произвести преобразование разметки жесткого диска из GPT в MBR без потери данных.

Нажимаем:
w
Enter
y
Enter

Готово! Перезагружаем компьютер.

P.S. Если на этом жестком диске был установлен GRUB, его придется переустановить.

Обновление Ventoy: Удаление данных на USB-носителе больше не требуется

Ventoy — популярный инструмент с открытым исходным кодом для создания загрузочных носителей. Основное отличие Ventoy от других популярных утилит, таких как Rufus, Universal USB Installer или Universal MediaCreationTool, заключается в том, что он поддерживает создание мультизагрузочных носителей и принимает образы различных типов, например ISO, WIM, IMG, VHD(x), EFI.

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

Теперь вы можете использовать Ventoy, не удаляя данные с USB-накопителя

До сих пор, когда вы выбирали опцию Установить в интерфейсе приложения, Ventoy удалял все данные на USB-устройстве. В последней версии программы данное поведение было изменено, и теперь у вас есть возможность сохранить свои данные на устройстве. Эта функция называется non-destructive install (установка без удаления), и ее можно выбрать в меню Опции.

Для использования новой функции потребуется Ventoy 1.0.59 или выше. Скачайте версию Ventoy для Linux или Windows на нашем сайте. Затем распакуйте архив и запустите исполняемый файл.

Поддержка этой функции пока является экспериментальной. На этом этапе рекомендуется сделать резервную копию данных перед ее использованием

Разработчик Ventoy описывает процесс в документации на официальном сайте:

  • На USB-устройстве должно быть достаточно места для нового раздела, который требуется Ventoy
    • Для разделов MBR, если на вашем диске уже существует 4 раздела, использовать non-destructive install не получится.
    • Для разделов GPT, если на вашем диске уже существует 128 разделов, использовать non-destructive install не получится.
    • И MBR, и GPT должны соответствовать этому требованию, чтобы соответствовать разметке диска Ventoy. В Windows первый раздел по умолчанию начинается с 1 МБ.
    • Это связано с тем, что API-интерфейсы Windows поддерживают только сжатие NTFS. Разделы FAT32 нужно сначала безопасно преобразовать в NTFS.
    • Для работы функции потребуется некоторое свободное пространство. Подойдет вариант, когда у вас уже есть достаточно неиспользуемого пространства (32 МБ +) после 1-го раздела (тогда нам больше не нужно сжимать 1-й раздел).

    Выберите Опции > Non-destructive Install, чтобы установить Ventoy на устройство без удаления существующих данных.

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

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

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

    Существует несколько программ с графическим интерфейсом, предназначенных для создания 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 .

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

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

    ▍ 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 /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. Только здесь его функцию выполняет * . Например:

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

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

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

    ▍ Global control plugin

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

    Параметры

    Ключ Тип Описание
    VTOY_DEFAULT_MENU_MODE string Стиль меню: 0 — Список; 1 — Дерево
    VTOY_TREE_VIEW_MENU_STYLE string Вид древообразного стиля меню: 0 — показывать каталоги и файлы с размером; 1 — не показывать
    VTOY_FILT_DOT_UNDERSCORE_FILE string Фильтровать файлы с префиксом ._ (генерируются MacOS): 0 — не фильтровать; 1 — фильтровать
    VTOY_SORT_CASE_SENSITIVE string Учитывать регистр при сортировке: 0 — не учитывать; 1 — учитывать
    VTOY_DEFAULT_SEARCH_ROOT string Путь поиска *.iso и прочих файлов образов. При загрузке ventoy будет искать файлы только в этом каталоге и его подкаталогах.
    VTOY_MAX_SEARCH_LEVEL string На сколько уровней опускаться по поддереву каталогов (от корня, если не указан предыдущий параметр или от каталога указанного в предыдущем параметре): 0 — не обходить рекурсивно; max — обходить все дерево; 1 .. n уровни дерева
    VTOY_MENU_TIMEOUT string Таймаут, в секундах, после которого выполнится VTOY_DEFAULT_IMAGE
    VTOY_DEFAULT_IMAGE string Пункт меню, по умолчанию. Кроме имиджей умеет в специальные пункты меню (cм [1])
    VTOY_VHD_NO_WARNING string Предупреждать если раздел на VHD образе не отформатирован под NTFS: 0 — предупреждать (по умолчанию); 1 — не предупреждать
    VTOY_DEFAULT_KBD_LAYOUT string Раскладка клавиатуры (по умолчанию QWERTY_USA ) полный список раскладок см. в [2]
    VTOY_FILE_FLT_type string Фильтровать в списке образов файлы определённого type [3] например VTOY_FILE_FLT_ISO : 0 — не фильтровать; 1 — фильтровать
    VTOY_WIN11_BYPASS_CHECK string Пропускать проверку железа, при установке Windows 11, с оригинального образа. Работает через прописывание ключей реестра [4], «на лету»: 0 — проверять железо; 1 — пропускать проверку.

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

    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_blacklist ) или белый ( image_list ) список. Может быть только либо один, либо другой. В примере выше, будут отображаться только имиджи из этого списка. Ещё в любой каталог можно поместить пустой файл .ventoyignore и тогда этот каталог и все его подкаталоги будут проигнорированы.

    ▍ Theme plugin

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

    Параметры

    Ключ Тип Описание
    file string/string array Полный путь к файлу или файлам темы (как в примере выше). Если это массив путей, то ventoy рандомно выбирает файл темы из этого списка
    gfxmode string Графический режим вида Width x Height . По умолчанию «1024×768»
    display_mode string В консольном — CLI , графическом — GUI , через последовательный порт — serial или serial_console (serial при наличии видеокарты) запускаться при старте. По умолчаню GUI
    serial_param string Параметры последовательного порта в формате описанном в документации к GRUB2
    ventoy_left string Надпись с версией Ventoy. Отступ слева, в %. По умолчанию «5%»
    ventoy_top string Та же надпись, отступ сверху. По умолчанию «95%»
    ventoy_color string Цвет надписи с версией Ventoy. По умолчанию «#0000ff»
    fonts string array Массив полных путей к используемым шрифтам.

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

    + hbox < left = 30% top = 95% width = 10% height = 25 + label > + hbox < left = 90% top = 5 width = 10% height = 25 + label > + hbox < left = 30%+200 top = 95%-25 width = 10% height = 25 + label > 

    ▍ Menu class plugin

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

    Class icons

    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 например).

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

    ▍ Menu alias plugin

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

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

    ▍ Menu tip plugin

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

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

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

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

    Ключ Тип Описание
    left string Позиция по X, в процентах
    top string Позиция по Y (сверху), в процентах
    color string Цвет (Можно в формате #rrggbb )
    tips array Массив с обЪектами image , tip
    image string Полный путь к имиджу
    tip string Подсказка

    ▍ 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 ' > menuentry '

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

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

    ▍ 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 Пароль

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

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

    ▍ Auto memdisk plugin

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

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

    ▍ WIMboot plugin

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

    wget -c https://github.com/ventoy/wimiso/releases/download/v1.0/ventoy_wimboot.img 

    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

    Фича, поддерживаемая дистрибутивами 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

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

    Ключ Тип Описание
    image string Полный путь до ISO
    parent string Полный путь до каталога, без концевого слеша. Ко всем образам будут применены соответствующие темплейты
    template string/array Полный путь или массив с путями до шаблона(ов). В меню можно будет выбрать нужный шаблон
    autosel integer Номер автовыбираемого шаблона 0 — без шаблона. 1..n — шаблоны по списку, сверху вниз. ВНИМАНИЕ! При корректном наличии этого параметра меню выбора шаблонов не показывается !

    ▍ Boot conf replace plugin

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

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

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

    ▍ Injection plugin

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

    Ключ Тип Описание
    image string Полный путь до образа
    parent string Или путь к образам, без концевого слеша
    archive string Архив с файлами, которые хотим синжектить. Для Windows это могут быть .7z или .zip . Для Linux архивы форматов .zip , .tar.gz , .tar.bz2 , .tar.xz , .tar.lzma

    ▍ Persistence plugin

    Параметры

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

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

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

    Дистрибутив Протестированная версия Метка раздела Примечание
    Arch Linux archlinux-2021.03.01-x86_64.iso vtoycow ArchMan/ArchBang/ArchLabs/BlackArch также поддерживаются
    Ubuntu ubuntu-20.04-desktop-amd64.iso casper-rw
    MX Linux MX-19.1_x64.iso MX-Persist
    LinuxMint linuxmint-19.3-xfce-64bit.iso casper-rw
    elementaryOS elementaryos-5.1-stable.20200405.iso casper-rw
    Zorin Zorin-OS-15.1-Core-64-bit-r2.iso casper-rw
    Kaspersky R.D, krd18.iso casper-rw
    Kali kali-linux-2020.2-live-amd64.iso persistence Требуется ключик -c persistence.conf , при создани персистенса и Live USB Persistence в параметры ядра
    CloneZilla clonezilla-live-20200703-focal-amd64.iso persistence Требуется ключик -c persistence.conf , при создани персистенса
    Fedora Fedora-Workstation-Live-x86_64-33-1.2.iso vtoycow Нужно отключить selinux добавлением в параметры ядра selinux=0

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

    $ ./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 скрипта из репозитория, распакуйте и запустите:

    sudo sh vtoyboot.sh

    ВНИМАНИЕ! Данный скрипт также нужно запускать при каждом обновлении ядра и/или обновления 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

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

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

    Дистрибутив 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
    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 дистрибутивы).

    GitHub Дистрибутив
    Ventoy2Disk.sh ventoy
    VentoyGUI.ARCH ventoygui
    VentoyWeb.sh ventoyweb
    CreatePersistentImg.sh ventoy-persistent
    ExtendPesistentImg.sh ventoy-extend-persistent

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *