# Ventoy для флешки PARAVIS Исходники Ventoy 1.1.18 и изменения Paravis, используемые на мультизагрузочной флешке PARAVIS. На флешке PARAVIS нестандартная разметка, поэтому Ventoy приходится патчить: раздел с данными (ISO) определяется динамически, а не считается первым. | # | Размер | ФС | Метка | Назначение | |---|--------|-----|-------|------------| | 1 | 16 ГБ | FAT32 | `PARAVIS` | основной загрузочный раздел (bootmgr / g4d) | | 2 | 32 МБ | FAT | `VTOYEFI` | раздел Ventoy EFI | | 3 | остальное − 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 ``` ## Применение патчей Скрипты принимают пути явно, поэтому работают из любого каталога. ```sh # 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. Добавьте их локально при развёртывании темы или соберите замену из шрифта, который разрешено использовать: ```sh grub-mkfont -s 20 -o tahoma20.pf2 YourFont.ttf ``` `build-theme-main.py` собирает фон и предпросмотр из многослойного PSD; нужны `psd-tools`, `Pillow` и шрифт Montserrat. ## Лицензия Сам Ventoy распространяется по GPLv3, см. [`Ventoy-src/COPYING`](Ventoy-src/COPYING). Патчи и тема Paravis распространяются на тех же условиях, что и проект, который они изменяют. Подробности — в [`THIRD-PARTY.md`](THIRD-PARTY.md).