# Ventoy for PARAVIS Flash Ventoy 1.1.18 sources and Paravis changes used on the PARAVIS multiboot USB flash. The PARAVIS flash uses a non-standard partition layout, so Ventoy has to be patched to find the data (ISO) partition dynamically instead of assuming partition 1: | # | Size | File system | Label | Purpose | |---|------|-------------|-------|---------| | 1 | 16 GB | FAT32 | `PARAVIS` | main boot partition (bootmgr / g4d) | | 2 | 32 MB | FAT | `VTOYEFI` | Ventoy EFI partition | | 3 | rest − 3 MB | exFAT | `DATA` | images and data | The data partition is detected by the marker file `/ISO/Ventoy/NOT.DEL`. ## Repository layout ``` Ventoy-src/ upstream Ventoy 1.1.18 source tree (GPLv3) paravis/ patch_ventoy_layout.py GRUB2 source patches for the custom layout patch_ventoy_grubcfg.py grub.cfg patch (marker-based data partition) patch_ventoy_hook.py initramfs hook patch for non-partition-1 data patch_vtoyjump.py vtoyjump32/64 MBr marker check bypass patch-ventoy-lang.sh default menu language -> ru_RU build-theme-main.py builds the GRUB theme from a PSD layout theme/ GRUB theme assets and ventoy.json ventoy_grub.cfg "return to main menu" entry ventoy_grub-f7.cfg F7 entry back to the main Paravis GRUB menu ``` ## Applying the patches The scripts take explicit paths, so they can be run from any checkout. ```sh # 1. GRUB2 sources (run inside the Ventoy build tree) python3 paravis/patch_ventoy_layout.py GRUB2/SRC/grub-2.04/grub-core/ventoy # 2. VTOYEFI grub.cfg 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 # 5. default menu language ./paravis/patch-ventoy-lang.sh vtoyefi/grub/grub.cfg ``` `patch_vtoyjump.py` patches compiled binaries; it is safe to re-run and skips files that are already patched. ## Theme `paravis/theme/` contains `theme.txt`, `ventoy.json`, the background and widget PNGs and `paravis.pf2` (Montserrat converted to GRUB format). `ventoy.json` refers to `tahoma20.pf2`, `tahoma16.pf2`, `tahoma-bold16.pf2` and `tahoma-bold14.pf2`. Those files are **not** part of this repository because they are derived from Microsoft fonts. Provide them locally when deploying the theme, or generate replacements from a font you are allowed to use: ```sh grub-mkfont -s 20 -o tahoma20.pf2 YourFont.ttf ``` `build-theme-main.py` renders the background and a preview from a layered PSD file; it needs `psd-tools`, `Pillow` and the Montserrat font. ## What is not included This is a source-only repository. It does not contain: - private keys, certificates or signed EFI binaries (`keys/`, `*.signed`); - Microsoft-derived font files (`tahoma*.pf2`, `segoeui18.pf2`); - built Ventoy releases and bootable images (`*.iso`, `*.img`, `*.wim`, `*.esd`, `Data.pf`); - `bootice.exe`, Total Commander and other third-party binaries; - build output, logs or local machine paths. ## License Ventoy itself is licensed under GPLv3; see [`Ventoy-src/COPYING`](Ventoy-src/COPYING). The Paravis patches and theme are released under the same terms as the project they modify. See [`THIRD-PARTY.md`](THIRD-PARTY.md) for details.