PowerShell automation and reference docs for building a polished Ventoy multiboot USB drive — the kind you carry on a keychain for IT/repair/recovery work.
This isn't a replacement for Ventoy. It's the layer on top of Ventoy that:
- Tells you which persistence label each Linux distro requires (this is the most common silent failure in multiboot builds — wrong label, persistence gets discarded)
- Builds a categorized USB layout from a curated ISO source directory
- Merges your own persistence-array configuration into
ventoy.jsonwithout breaking the rest of the file - Verifies ISOs against published SHA256 hashes
PERSISTENCE_LABELS.md — the label-to-distro map. If you're only here for that, you can leave now. The labels are:
| Label | Distros |
|---|---|
casper-rw |
Ubuntu, Mint, antiX, MX (Ubuntu-derived) |
persistence |
Kali, Parrot, Debian Live (+ persistence.conf inside!) |
MX-Persist |
MX Linux (Debian-derived) |
vtoycow |
BlackArch, Manjaro, EndeavourOS |
H:\
├── ISO\
│ ├── Recovery\ ← Hiren's, SystemRescue, GParted, CloneZilla, ShredOS, RescueZilla, Memtest86+
│ ├── AV\ ← Dr.Web LiveDisk, Kaspersky Rescue
│ ├── Privacy\ ← Tails OS
│ ├── PenTest\ ← Kali Live, Parrot Security, BlackArch Slim
│ ├── Desktop\ ← Linux Mint, MX Linux, Ubuntu, Manjaro GNOME
│ ├── Lightweight\ ← antiX (rescue old hardware)
│ └── Windows\ ← Windows 11/10 install (build via MCT)
├── persistence\ ← *.dat files for distros with persistence
├── Files\
│ ├── Tools\ ← Portable Windows tools (Sysinternals, CPU-Z, etc.)
│ └── Scripts\ ← Persistence helper scripts
└── ventoy\
└── ventoy.json ← The persistence array + theme config
| Script | Purpose |
|---|---|
Build-VentoyUSB.ps1 |
Copies your curated ISO library into the categorized layout above |
Merge-VentoyJson.ps1 |
Replaces the persistence array in ventoy.json. UTF-8 without BOM (Ventoy requirement). |
Get-WindowsISO.ps1 |
Helper for downloading Windows ISOs via Fido / Media Creation Tool |
format_usb.ps1 |
Quick FAT32/exFAT prep before installing Ventoy |
check_isos.ps1 |
Hashes ISOs and compares against known-good SHA256 list |
# 1. Install Ventoy on the USB (one-time)
# Download from https://www.ventoy.net and run Ventoy2Disk.exe, install to your drive.
# 2. Lay out source ISOs by category in a folder
mkdir D:\ISOs\{Recovery,AV,Privacy,PenTest,Desktop,Lightweight,Windows}
# ...drop your ISOs into the right subfolder...
# 3. Copy onto USB
.\Build-VentoyUSB.ps1 -SourceRoot D:\ISOs -ToolsRoot D:\PortableTools -Target H:
# 4. Create persistence .dat files (use Ventoy's CreatePersistentImg.cmd
# on Windows or .sh on Linux — see PERSISTENCE_LABELS.md for label per distro)
# 5. Wire persistence into ventoy.json
.\Merge-VentoyJson.ps1 -BasePath H:\ventoy\ventoy.json -PersistenceMapPath .\persistence-map.example.json- Sysinternals Suite, Process Hacker, Autoruns
- CPU-Z, GPU-Z, HWiNFO64
- CrystalDiskInfo, h2testw, Victoria
- TreeSize Free, WizTree, BleachBit portable
- Rufus, Ventoy2Disk, balenaEtcher portable
- 7-Zip portable, Notepad++ portable
- CyberChef (extracted ZIP)
- Nmap, Wireshark portable
- Cinebench, Heaven, Valley (benchmarks)
MIT