Building a multi-boot USB with Ventoy and Linux

Creating a Versatile Ventoy USB Drive for Your Homelab

I keep a Ventoy stick around so I do fewer reinstalls and more tinkering. This is the setup I use: the hardware I pick, the commands I run, and how I check the result. The end result is one USB stick with rescue tools, Linux live images, OS installers, and other useful bits.

Getting Started with Ventoy USB Drive

Ventoy is simple. Put a small boot loader on a USB device, then copy ISO files onto it. At boot, pick an ISO from a menu. No repeated reformatting. That makes it a decent fit for rescue media and a pile of installers.

What to buy

  • Size: 32 GB minimum for a few ISOs, 128 GB if you want a larger mix. I use 128 GB for a mixed kit with several Linux live environments and a couple of Windows installers.
  • Speed: USB 3.0 or better. ISOs care more about read speed than random I/O, but a decent flash controller helps when copying a lot of files.
  • Type: A USB-A stick works fine. A small NVMe or SATA SSD in an external enclosure gives you more space and usually better durability.

Prepare your workstation

  • Back up anything on the target drive. Ventoy will normally overwrite partitions.
  • Identify the device name. On Linux, use lsblk or sudo fdisk -l. On macOS, use diskutil list. On Windows, use Disk Management or diskpart.
  • Unmount the drive. On Linux, run:
sudo umount /dev/sdX*

Why this matters

  • Picking the wrong device wipes the wrong disk. A quick lsblk check saves pain.
  • Old BIOS firmware can be awkward with large USB drives. If you need to boot very old hardware, keep one smaller stick back for it.

Creating a Multi-Boot USB with Ventoy

Download and install

  1. Get the latest Ventoy release and extract it. The Linux installer script is Ventoy2Disk.sh. It takes options such as -i to install and -u to update. I use the default secure boot support unless I have a reason not to. Check the official install notes before you run it: https://www.ventoy.net/en/doc_start.html
  2. On Linux, run this after replacing /dev/sdX with the device you confirmed earlier:
sudo bash Ventoy2Disk.sh -i /dev/sdX

If Ventoy is already on the stick and I want a clean overwrite, I use -I.

  1. On Windows, use the Ventoy2Disk.exe GUI and select the drive.

Options worth noting

  • Use -g if you want GPT partitioning instead of MBR.
  • The -s option controls secure boot support. Ventoy supports secure boot, but some custom ISOs or tools need it turned off.
  • There is a non-destructive mode for some installs, but I do a clean install unless I need to keep data.

Copying ISOs

  • Once Ventoy is on the stick, you will see one exFAT partition labelled Ventoy. Copy ISO files onto that partition like normal files.
  • Use clear file names. I prefix them with short tags: rescue-SystemRescue.iso, live-ubuntu-24.04.iso, installer-windows-11.iso.
  • A typical set for me is SystemRescue or Hiren for rescue work, Ubuntu, Fedora and Arch for Linux live environments, and Windows 10/11 ISOs for installers.

Persistence and extras

  • For persistent live sessions, use Ventoy plugins and the ventoy.json configuration file. Create a /ventoy directory and drop a ventoy.json in there for the ISOs that need persistence.
  • For custom menus or scripts, use the ventoy/scripts folder. I keep a small README on the Ventoy partition so I know what is on the stick.
  • If you use Windows installer ISOs, store any driver packs or answer files alongside the ISO. Keep licensing rules in mind for Microsoft installers or activation scripts and follow the software licence terms.

Testing the multi-boot USB drive

  • Test it in a VM first. QEMU can boot a USB device directly. That catches obvious failures before you touch physical hardware.
  • Then test on real kit. Try both UEFI and legacy boot modes if you expect to use both. If a machine refuses to boot, check BIOS settings and the active partition flag for legacy BIOS on older systems.
  • Try a rescue toolkit image and a live Linux image. Check keyboard, network, and disk access inside the live environment.
  • If an ISO fails, check the Ventoy compatibility list and try a workaround. Some older ISOs need one.

Troubleshooting tips

  • If a legacy BIOS refuses to boot a large Ventoy drive, split the images onto a second smaller stick for that machine. Some older firmware has limits around 137 GB.
  • If Secure Boot blocks an image, either disable Secure Boot for testing, or install Ventoy with secure boot support and add the required keys.
  • Old ISOs that only boot in legacy mode sometimes need the first partition marked active. Use parted or diskpart to change the flag.

Practical example: my personal kit

  • On a 128 GB Ventoy USB drive I keep:
    • rescue-SystemRescue-9.06.iso
    • live-ubuntu-24.04-desktop.iso
    • live-debian-12.iso
    • installer-windows-11-english.iso
    • a small utilities folder on the data partition for scripts, notes, and driver packs
  • I name ISOs with clear prefixes and keep a README.txt with versions and checksum sources. That saves time when I need to reinstall something or sort out a server.

Final checks and maintenance

  • Keep Ventoy up to date. The update command replaces the boot binaries without touching your ISOs.
  • Check ISO checksums from time to time, especially for installers and rescue tools.
  • Keep one minimal stick for firmware-level tasks if you support old servers.

Key takeaways

  • Pick a fast, suitably sized stick. 128 GB covers most kits.
  • Use Ventoy2Disk.sh -i /dev/sdX for Linux installs and read the install options first: https://github.com/ventoy/Ventoy
  • Copy ISOs directly, use ventoy.json for persistence, and test in both a VM and real hardware.

That leaves you with a Ventoy USB stick that does useful work instead of sitting in a drawer.

Related posts

Vector | vdev-v0.3.3

Vector vdev v0 3 3: patch release with crash, leak and parsing fixes, connector and tooling improvements, upgrade notes on prechecks, rolling updates, compat

Loki | v3.7.2

Loki v3 7 2: security and CVE fixes, updated S3 client to aws sdk v1 97 3, ruler panic fix for unset validation scheme, S3 Object Lock sends SHA256 checksum

Loki | v3.7.2

Loki v3 7 2: Patch release with CVE fixes, AWS S3 SDK update, ruler panic fix, S3 Object Lock SHA256 checksum support