Files
Ventoy/README.md
T

4.7 KiB
Raw Blame History

Ventoy для флешки PARAVIS

Исходники Ventoy 1.1.18 и изменения Paravis, используемые на мультизагрузочной флешке PARAVIS.

На флешке PARAVIS нестандартная разметка, поэтому Ventoy приходится патчить: раздел с данными (ISO) определяется динамически, а не считается первым.

# Размер ФС Метка Назначение
1 16 ГБ FAT32 PARAVIS основной загрузочный раздел (bootmgr / g4d)
2 32 МБ FAT VTOYEFI раздел Ventoy EFI
3 оставшийся объём exFAT DATA образы и данные

Раздел с данными определяется по файлу-маркеру /ISO/Ventoy/NOT.DEL.

Структура репозитория

Ventoy-src/                 исходники Ventoy 1.1.18 (GPLv3)
paravis/
  patch_ventoy_layout.py    патчи исходников GRUB2 под нестандартную разметку
  patch_ventoy_grubcfg.py   патч grub.cfg (поиск раздела данных по маркеру)
  patch_ventoy_hook.py      патч initramfs hook для раздела данных не 1
  patch_vtoyjump.py         обход проверки MBR в vtoyjump32/64
  patch_ventoy_paravis_return.py  пункт «Возврат в главное меню Paravis Flash»
  patch-ventoy-lang.sh      язык меню по умолчанию → ru_RU
  build-theme-main.py       сборка темы GRUB из PSD-макета
  theme/                    ресурсы темы GRUB и ventoy.json
  ventoy_grub.cfg           пункт «возврат в главное меню»
  ventoy_grub-f7.cfg        пункт F7 — возврат в главное меню Paravis

Применение патчей

Скрипты принимают пути явно, поэтому работают из любого каталога.

# 1. Исходники GRUB2 (в дереве сборки Ventoy)
python3 paravis/patch_ventoy_layout.py GRUB2/SRC/grub-2.04/grub-core/ventoy

# 2. grub.cfg в VTOYEFI
python3 paravis/patch_ventoy_grubcfg.py vtoyefi/grub/grub.cfg

# 3. initramfs hook
python3 paravis/patch_ventoy_hook.py ventoy.cpio ventoy.cpio

# 4. vtoyjump32.exe / vtoyjump64.exe
python3 paravis/patch_vtoyjump.py <каталог-с-бинарниками-vtoyjump>

# 5. язык меню по умолчанию
./paravis/patch-ventoy-lang.sh vtoyefi/grub/grub.cfg

# 6. пункт «Возврат в главное меню Paravis Flash» (legacy + UEFI)
python3 paravis/patch_ventoy_paravis_return.py vtoyefi/grub/grub.cfg

patch_ventoy_paravis_return.py добавляет в grub.cfg функцию paravis_return и пункт меню, который возвращает в главное меню Paravis: в UEFI — через grubx64.efi, в BIOS — через MBR диска (chainloader (${vtoydev})+1). Результат копируется в grbp.cfg — его загружает UEFI-сборка grubx64_parv.efi, которую запускает меню Paravis; legacy core.img загружает обычный grub.cfg.

patch_vtoyjump.py патчит скомпилированные бинарники; его можно запускать повторно — уже пропатченные файлы пропускаются.

Тема

В paravis/theme/ лежат theme.txt, ventoy.json, фон, PNG-элементы интерфейса и paravis.pf2 (Montserrat в формате GRUB).

ventoy.json ссылается на tahoma20.pf2, tahoma16.pf2, tahoma-bold16.pf2 и tahoma-bold14.pf2. Этих файлов нет в репозитории, потому что они являются производными шрифтов Microsoft. Добавьте их локально при развёртывании темы или соберите замену из шрифта, который разрешено использовать:

grub-mkfont -s 20 -o tahoma20.pf2 YourFont.ttf

build-theme-main.py собирает фон и предпросмотр из многослойного PSD; нужны psd-tools, Pillow и шрифт Montserrat.

Лицензия

Сам Ventoy распространяется по GPLv3, см. Ventoy-src/COPYING. Патчи и тема Paravis распространяются на тех же условиях, что и проект, который они изменяют. Подробности — в THIRD-PARTY.md.