Ventoy
Ventoy is an open-source software tool designed to create bootable USB drives that can directly boot multiple ISO, WIM, IMG, VHD(x), and EFI image files without requiring repeated reformatting of the drive.[1] Users simply install Ventoy on a USB drive once, then copy their desired image files to it, after which Ventoy generates a boot menu allowing selection and direct booting of any file from the drive.[2] Released initially in 2020, Ventoy has evolved into a versatile utility supporting a wide range of architectures, including x86 Legacy BIOS, IA32 UEFI, x86_64 UEFI, ARM64 UEFI, and MIPS64EL UEFI, making it compatible with over 1,200 tested image files and more than 90% of Linux distributions listed on DistroWatch.[1] Key features of Ventoy include its ability to boot images without extracting them, support for persistence in certain Linux environments, automated installation templates for streamlined deployments, and compatibility with Secure Boot on UEFI systems.[1] The tool operates by partitioning the USB drive into a small bootable section for Ventoy itself and a larger exFAT or NTFS partition for storing image files, enabling the drive to function as both a multi-boot device and a standard storage medium when not in use.[2] Developed by Longpanda and hosted on GitHub, Ventoy remains actively maintained, with the latest stable release, version 1.1.07, issued on August 18, 2025, emphasizing cross-platform usability across Windows, Linux, and macOS for installation.[1] Its lightweight design and avoidance of proprietary dependencies have made it a popular choice among IT professionals, system administrators, and enthusiasts for tasks such as OS testing, recovery, and deployment.[1]Introduction
Overview
Ventoy is an open-source utility designed to create bootable USB drives capable of supporting multiple ISO, WIM, IMG, VHD(x), and EFI files without the need for repeated reformatting of the drive.[1][2] Its core innovation lies in enabling users to simply copy these image files directly onto the USB drive, where a built-in menu interface allows selection and booting of any file at startup, thereby streamlining the process of testing, installing, or deploying multiple operating systems from a single portable medium.[1][2] Ventoy is free and open-source software, licensed under the GNU General Public License version 3 (GPLv3) or later for its original code components, with additional open-source projects integrated as per their respective licenses.[3] It was initially released on April 5, 2020, by developer Hailong Sun, known by the pseudonym longpanda.[4][5] The tool supports a range of architectures, including x86 Legacy BIOS, IA32 UEFI, x86_64 UEFI, ARM64 UEFI, and MIPS64EL UEFI, facilitating broad compatibility across diverse hardware environments.[1]Development History
Ventoy was created by Hailong Sun, a Chinese software developer known by the GitHub username longpanda, to simplify the process of preparing bootable USB drives by eliminating the need for repeated formatting when switching between multiple ISO images.[5][6] The project debuted with version 1.0.00 on April 5, 2020, released through the official GitHub repository at github.com/ventoy/Ventoy, marking the initial open-source availability of the tool for creating multiboot USB environments.[7] Early development focused on expanding compatibility, with UEFI support integrated from the outset in version 1.0 and enhanced in version 1.0.13 on June 14, 2020.[7] In May 2020, version 1.0.11 introduced persistence functionality for Linux distributions such as Ubuntu, MX Linux, and Linux Mint, allowing data retention across sessions without additional configuration.[7] By September 2021, version 1.0.52 added a native Linux graphical user interface supporting GTK and Qt frameworks across x86_64, i386, ARM64, and MIPS64 architectures.[7][8] In 2024, the project expanded with the launch of iVentoy on May 19 alongside version 1.0.98, introducing a network-based PXE booting variant for simultaneous OS deployment across multiple machines.[7] The most recent major update, version 1.1.07 released on August 18, 2025, fixed an issue with mounting the Ventoy ISO partition after booting Linux distributions, building on Secure Boot support added in version 1.0.07.[7][9] In 2024 and 2025, Ventoy faced community scrutiny over the inclusion of binary blobs and certificates in iVentoy, prompting discussions on security and transparency. The developer addressed concerns by clarifying that all components are from open-source projects and emphasizing the project's 100% open-source nature.[10][3] Ventoy's evolution has been community-driven, hosted on GitHub where over 900 issues have been tracked for bug reports, feature requests, and contributions, fostering ongoing refinements through user feedback and testing of more than 1,200 ISO files.[11][2]Functionality
Core Mechanism
Ventoy prepares a USB drive by partitioning it into two sections to facilitate its multiboot functionality. The installation process creates a small 32 MB FAT-formatted partition labeled VTOYEFI, which stores the EFI boot files, GRUB2 bootloader components, and other essential Ventoy files required for initialization. The remaining space is allocated to a larger data partition, default-formatted as exFAT for optimal cross-platform compatibility across Windows, Linux, and macOS, though it can be reformatted to support FAT32, NTFS, UDF, XFS, Ext2, Ext3, or Ext4 file systems. This setup ensures the bootloader operates independently while providing ample storage for image files without interfering with the boot process.[12] During the booting sequence, Ventoy's GRUB2-based bootloader loads from the VTOYEFI partition upon USB insertion and system startup. It then recursively scans the data partition—and any subdirectories—for compatible image files, such as ISOs, WIMs, IMGs, VHD(x), and EFI files, compiling them into an alphabetical list displayed in the boot menu. Upon user selection of an image, Ventoy mounts it virtually without extraction or modification, employing loopback device mounting for direct access or memdisk mode to load the entire file into RAM for improved boot reliability in challenging scenarios. This approach minimizes overhead and preserves the original image integrity.[13][14][15] The boot menu interface is highly customizable, allowing users to navigate via keyboard shortcuts and view options in tree format for organized file structures. It accommodates both legacy BIOS (x86) and UEFI boot modes, automatically adapting based on the system's firmware. For UEFI environments, Ventoy incorporates secure boot support through Microsoft-signed shim binaries, enabling seamless operation whether secure boot is enabled or disabled in the BIOS settings. This dual-mode compatibility ensures broad hardware support without manual reconfiguration.[16][17] In handling virtual hard disk (VHD) files, Ventoy leverages dedicated plugins, such as the Windows VHD Boot Plugin, to provide built-in emulation that treats the VHD(x) as a physical disk during boot. This supports both fixed-size and dynamic VHD formats containing Windows 7 or later installations, functioning in legacy BIOS or UEFI modes to deliver a native-like experience on physical hardware.[18]Supported Formats and Architectures
Ventoy provides full support for booting ISO, WIM, IMG, VHD, VHDX, and EFI files directly from the storage device without requiring repeated formatting.[1][2] These formats enable the tool to handle a variety of bootable images, including standard optical disc images (ISO), Windows Imaging Format files (WIM), raw disk images (IMG), virtual hard disk files (VHD and VHDX), and EFI executables for firmware-based booting.[1][2] In terms of hardware architectures, Ventoy supports x86 Legacy BIOS mode, IA32 UEFI, x86_64 UEFI, ARM64 UEFI, and MIPS64EL UEFI, ensuring broad applicability across different processor types and boot modes.[1] This multi-architecture compatibility allows Ventoy to function uniformly on x86-based systems in both legacy and modern UEFI environments, as well as on ARM64 devices like certain Raspberry Pi models or servers, and MIPS64EL platforms.[19] Ventoy has been tested with over 1200 ISO images, demonstrating compatibility with more than 90% of Linux distributions listed on DistroWatch, including major ones such as Ubuntu, Fedora, Debian, and Arch Linux.[1][2] It also supports Windows installation media from Windows 7 through Windows 11, along with Windows Server editions and WinPE environments.[20] Additionally, rescue and diagnostic tools like Hiren's BootCD, Ultimate Boot CD, and SystemRescue are fully compatible, enabling Ventoy to serve as a versatile platform for system maintenance and installation tasks.[20] For hardware media, Ventoy can be installed on USB flash drives, external SSDs, SD cards (including microSD via adapters), SATA HDDs, and NVMe drives, with a minimum capacity of 1GB recommended to accommodate the installation and basic ISO storage.[17] For practical multi-ISO usage, capacities of 16GB or larger are advised to handle multiple large image files without performance degradation.[17] The tool maintains compatibility across these media types by supporting filesystems like exFAT, FAT32, and NTFS on the primary partition.[12]Features
Basic Features
Ventoy's basic features provide a straightforward way to create a multi-boot USB drive capable of handling various image files without repeated formatting or complex configurations. A primary capability is its support for multiple image formats, including ISO, WIM, IMG, VHD(x), and EFI files, allowing users to store and boot an unlimited number of such files on a single drive based on available storage space.[21] Upon insertion and boot, Ventoy displays a menu listing all detectable images alphabetically, enabling users to select and launch the desired one directly.[13] Installation on the target drive requires no ongoing reformatting after the initial setup; users can add or remove image files through simple copy-paste operations to the exFAT (or other supported) partition, treating the drive like a standard storage device.[13] This approach eliminates the need for tools like Rufus or Etcher for each new ISO, streamlining the process for frequent updates.[21] The tool offers cross-platform installation options, with a Windows executable (Ventoy2Disk.exe) for graphical or command-line use and a Linux shell script (Ventoy2Disk.sh) for similar functionality.[13] For macOS, installation is achievable via third-party utilities or virtual machines, as native support is not directly provided.[2] Ventoy automatically detects and accommodates both Legacy BIOS and UEFI firmware modes, supporting x86, IA32, x86_64, ARM64, and MIPS64EL UEFI variants, while compatible with MBR and GPT partitioning schemes selected during setup.[21] This dual-mode operation ensures seamless booting across diverse hardware without manual intervention.[13] Files can be placed in the root directory or any subfolders, with Ventoy performing a recursive scan of all directories and subdirectories to compile the boot menu, organizing entries by file name for easy navigation.[13]Advanced Features and Plugins
Ventoy's plugin framework provides a modular system for extending its functionality, with all configurations managed through a singleventoy.[json](/page/JSON) file placed in the /ventoy directory on the USB drive's first partition. This setup allows plugins to load automatically from the USB upon boot, enabling users to customize aspects such as menu navigation and security without altering the core Ventoy installation. The framework supports a variety of plugins that address specific needs, including enhanced menu interfaces and protective measures, all defined in JSON format for easy editing or GUI-based configuration via tools like VentoyPlugson.[22]
One key enhancement is the TreeView menu plugin, which organizes ISO files in a hierarchical tree structure mirroring their directory layout on the USB drive, facilitating efficient browsing for users with large collections of files or subfolders. Activated by pressing F3 during boot, it allows navigation into subdirectories with Enter and return via Escape, contrasting the default flat list mode that sorts files alphabetically. This plugin improves usability for complex setups by reducing scrolling through extensive lists.[23]
Theme customization is another modular feature, leveraging GRUB2-compatible themes to alter the boot menu's visual appearance, including backgrounds, fonts, and layouts sourced from community repositories. Users specify theme files in ventoy.json under a theme object, with options for resolution (e.g., "1920x1080" or "max"), display modes (GUI, CLI, or serial), and random selection from multiple themes. Since version 1.0.62, themes can be switched dynamically via the F5 key, and resolution adjustments are supported from 1.0.86 onward, enhancing aesthetic and accessibility options.[24]
Boot password protection integrates seamlessly into the framework, offering basic security by requiring credentials to access the Ventoy menu or specific ISO files. Configured via the password object in ventoy.json, it supports plain text, MD5, or salted MD5 hashes for boot-wide (bootpwd) or file-type-specific protection (e.g., isopwd for ISOs), with up to three retry attempts before exiting. This simple mechanism, not intended for high-security environments due to GRUB limitations, prioritizes ease of setup over advanced encryption.[25]
Persistence support extends Ventoy's utility for Linux distributions by creating a writable overlay that preserves changes across reboots, eliminating the need for dedicated partitions or boot parameters. This is achieved through a backend data file (e.g., casper-rw.[dat](/page/DAT)) stored in the first partition, configured in the persistence array of ventoy.[json](/page/JSON) to associate it with specific ISOs. The overlay functions as an ext4-formatted image, allowing file modifications, package installations, and settings retention in live sessions for distros like Ubuntu, MX Linux, and Kali Linux.[26]
The size of the persistence file is fully configurable, up to the available space on the USB drive, using scripts like CreatePersistentImg.sh to generate files (e.g., -s 2048 for 2GB) or ExtendPersistentImg.sh to resize them dynamically (e.g., +2048MB to expand or -2048MB to shrink, with ext4-only support for reduction). Multiple persistence files can be defined per ISO for menu-based selection, and pre-created images are available for common distros, though some require specific labels or persistence.conf files for compatibility. Limitations include incompatibility with certain file systems for shrinking and distro-specific setup tweaks.[26]
Auto-installation capabilities enable unattended operating system deployments by integrating scripts or templates directly into the boot process, streamlining installations for scenarios like mass deployments. For Windows, this involves providing an autounattend.xml template in ventoy.json under the auto_install object, where Ventoy copies it to X:\autounattend.xml during boot to automate partitioning, user setup, and licensing without user intervention. Supported distros include those with built-in unattended options, such as various Linux flavors, where users supply custom scripts; multiple templates per ISO allow selection at boot time. This feature requires placing template files in the /ventoy directory and is configured via JSON arrays linking ISOs to their respective automation files.[27]
Secure Boot compatibility ensures Ventoy works on hardware enforcing UEFI Secure Boot policies, with support introduced in version 1.0.07 and enabled by default since 1.0.76. Installation tools like Ventoy2Disk.exe include an "Secure Boot Support" option that generates signed EFI binaries using a shim loader, allowing the first boot to prompt for key enrollment (via hash or certificate) on the host machine. Once enrolled, subsequent boots proceed without interruption, compatible with both enabled and disabled Secure Boot states in BIOS. This one-time setup per computer addresses verification failures common in strict environments, though compatibility varies by hardware and may require disabling if enrollment fails.[16]
Specialized plugins further expand Ventoy's scope, including the vDisk boot plugin for launching virtual hard disk (VHD) images as native boots on physical hardware. Supporting fixed-size VHD, VDI, and raw formats (but not VHDX), it enables running Linux distros like Ubuntu or Fedora from a single file renamed with a .vtoy extension, prepared via tools like VirtualBox and the vtoyboot script for chainloading. This avoids efficiency losses of full virtualization while maintaining BIOS/UEFI dual-boot compatibility, with updates requiring re-running the script post-system changes.[28]
The WebUI plugin, known as VentoyPlugson, offers a browser-based interface for configuring the ventoy.[json](/page/JSON) file, simplifying plugin management without command-line edits. Accessible via a local web server in Linux environments since Ventoy 1.0.62, it provides graphical controls for all plugins, including persistence and themes, making advanced setups more approachable for non-expert users. While primarily for local configuration, it facilitates remote-like management in networked Linux setups by hosting the UI over the loopback interface.[29]
iVentoy integration extends Ventoy to network environments via PXE booting, transforming a server into a lightweight PXE provider that streams ISO files directly to clients without extraction or complex DHCP/TFTP setups. As an enhanced derivative, iVentoy supports over 110 OS types across Legacy BIOS, x86_64 UEFI, IA32 UEFI, and ARM64 UEFI modes, with features like boot passwords and MAC filtering for secure multi-client deployments. Users place ISOs in a designated directory on the iVentoy host (Windows or Linux), and clients select them from a Ventoy-like menu over the network, ideal for installing OS on multiple machines simultaneously.[30]
Installation and Usage
Prerequisites
Before installing Ventoy on a USB drive, ensure the drive has at least 8 GB of capacity to accommodate multiple ISO files effectively, though smaller drives are technically supported for basic use.[2] Administrative privileges are required, such as running as administrator on Windows or using sudo on Linux and macOS. Importantly, the installation process will erase all data on the selected USB drive, so back up any important files beforehand to prevent loss.[13] Identify the correct USB device identifier using tools like Disk Management on Windows orlsblk on Linux/macOS to avoid accidentally targeting the wrong drive.[17]
Windows Setup
Download the latest Ventoy package for Windows, such asventoy-x.x.xx-windows.zip, from the official website and extract it to a folder.[9] Run Ventoy2Disk.exe with administrative rights; the tool will detect connected USB drives in the interface. Select the target USB device from the list—optionally enable "Show all devices" for hidden drives, but exercise caution to prevent data loss on non-removable storage.[13] Choose installation options if desired, such as secure wipe for thorough data erasure or specifying MBR/GPT partitioning scheme (MBR is default for broader compatibility). Click "Install" to format the drive and install Ventoy, which creates an exFAT partition for ISO files and an EFI partition for booting.[31] The process typically completes in under a minute, after which the drive is ready for use.[13]
For command-line installation on Windows, use the CLI mode via Ventoy2Disk.exe VTOYCLI /I /Drive:X: (replacing X: with the target drive letter), though the GUI is recommended for most users.[32]
Linux and macOS Setup
Download the Linux package,ventoy-x.x.xx-linux.tar.gz, which is compatible with both Linux and macOS, and extract it.[9] Open a terminal in the extracted directory and run the installation script with elevated privileges: sudo sh Ventoy2Disk.sh -i /dev/sdX, replacing /dev/sdX with the correct device identifier (e.g., /dev/sdb on Linux, viewed via lsblk; on macOS, use diskutil list to find /dev/diskX).[13] Additional options include -g for GPT partitioning, -s for Secure Boot support, or -r SIZE_MB to reserve space at the end of the drive for custom partitions.[31] The script will prompt for confirmation before formatting and installing, ensuring the drive is prepared with the necessary boot structures.[17]
Graphical interfaces are available for Linux via GTK/QT or WebUI tools in the package, allowing device selection and installation without command-line input, but the script method works across both platforms.
Verification
After installation, verify the setup by checking the drive's partitions: it should show a primary exFAT (or reformattable) partition labeled "VTOYEFI" or similar, approximately 32 MB in size for EFI files, and a larger main partition for data.[12] To confirm functionality, boot the USB drive either on physical hardware by entering the BIOS/UEFI settings to select it or in a virtual machine like VirtualBox or VMware by attaching the USB image—upon booting, the Ventoy menu should appear, listing any copied ISO files or prompting for selection.[13] If the menu loads successfully, the installation is complete and operational.[2]Uninstallation
To remove Ventoy from the USB drive, use the Ventoy2Disk GUI tool: on Windows and Linux (via GTK/QT interface), select the device, go to "Option" > "Clear Ventoy," and confirm to remove Ventoy's boot structures while attempting to preserve the main data partition if possible.[33] For a full restore or if the GUI option is unavailable, manually repartition the drive using tools like Disk Management on Windows, GParted on Linux, or Disk Utility on macOS: delete all partitions, create a new MBR or GPT table, and format a single FAT32 or exFAT partition spanning the entire drive.[34] This process erases Ventoy's bootloaders and returns the USB to standard storage use.[35]Managing ISO Files
To add bootable files to a Ventoy USB drive, users simply copy ISO, WIM, IMG, VHD(x), or EFI files directly to the exFAT-formatted data partition (or its root directory and subfolders) without needing to extract, rename, or perform any special preparation.[13] Ventoy automatically detects and scans these files recursively upon boot, populating the menu with all compatible images found in the partition.[17] For organization, files can be placed in folders to categorize collections, such as /Linux/ for Linux distributions or /Windows/ for Windows installers, as Ventoy searches all subdirectories without restrictions by default.[13] If the TreeView mode is enabled via configuration (e.g., through ventoy.json settings), the boot menu displays a hierarchical tree structure reflecting the actual folder layout, facilitating navigation for large libraries.[23] To update or remove files, safely eject the USB drive, then delete unwanted images or replace them with newer versions; Ventoy rescans the partition automatically on the next boot, requiring no manual refresh.[17] Complete deletion is essential to prevent residual entries in the menu, and avoiding the recycle bin ensures files are fully removed.[17] Best practices include restricting additions to Ventoy-supported formats to avoid detection issues, opting for drives of 64 GB or larger (ideally 256 GB for extensive collections) to accommodate multiple large ISOs, and periodically testing boots to verify file usability.[17][36] For troubleshooting, if an added file does not appear in the boot menu, verify its integrity using checksum tools like SHA-256 to check for corruption during transfer, and ensure no exclusion files (e.g., .ventoyignore) are blocking the directory.[17]Compatibility and Limitations
Hardware and Software Compatibility
Ventoy operates reliably on a wide range of hardware, including personal computers and laptops equipped with USB 2.0 or higher ports, as these enable standard USB booting capabilities. It is compatible with x86 and ARM architectures, extending to servers in both categories, and has been verified to function on various storage media such as USB drives, removable hard drives, SD cards (via adapters), SATA HDDs, SSDs, and NVMe drives.[17] In terms of software environments, Ventoy supports booting installers for Windows versions from 7 through 11, including Windows Server editions, as well as major Linux distributions such as Debian and Arch Linux. It also accommodates BSD variants such as FreeBSD, and can boot ISOs for hypervisors like VMware ESXi and Xen-based systems, with VHD file support for environments like VirtualBox.[20][37][38][18] For file system interactions, Ventoy defaults to exFAT on its main partition, which provides optimal cross-platform accessibility across Windows, Linux, and macOS systems. Users can reformat this partition to NTFS for environments focused on Windows compatibility or to Ext4 for enhanced Linux persistence features, with additional support for FAT32, UDF, XFS, Ext2, and Ext3.[12][39][17] Performance-wise, Ventoy maintains boot times comparable to traditional single-ISO boot tools, with no significant degradation when handling over 100 ISO files on SSD-based drives, allowing efficient menu navigation and selection.[40]Known Issues
One known issue involves boot failures with large ISO files exceeding 4 GB on partitions formatted as FAT32, as older BIOS firmware may ignore such files due to the file system's inherent 4 GB limit per file.[12] To address this, users should format the ISO storage partition as exFAT, which supports larger files without restrictions, or split oversized ISOs into smaller parts compatible with FAT32.[12] Secure Boot compatibility presents quirks, particularly with certain OEM-specific keys that prevent Ventoy from booting properly, resulting in errors such as "Linpus Lite" or failure to load the menu.[16] Workarounds include disabling Secure Boot in the system BIOS or enabling Ventoy's signed mode during installation, which involves a one-time enrollment of Ventoy's key or hash via the blue setup screen on first boot.[16] Persistence functionality has limitations, with writable space restricted to the size of the backend image file (default 1 GB, extendable via scripts such as ExtendPersistentImg.sh to larger sizes). The/ventoy/ventoy.json file is used to associate specific persistence files with particular ISO images.[26] Frequent writes to the persistence backend on USB flash drives carry a risk of corruption due to flash memory wear; for intensive use involving repeated modifications, an external SSD is recommended over traditional USB sticks to minimize degradation.[26]
Historical bugs include ARM boot loops in early versions prior to 1.0.94, where synchronous exceptions caused infinite loops on certain ARM CPUs, resolved in subsequent updates.[7]
General limitations encompass no native support for booting on Android or iOS devices, as Ventoy is optimized for x86/ARM PC architectures via USB. It is not intended for internal disk booting or installation, restricting use to external removable drives. Additionally, interrupting USB operations during writes, such as ejecting the drive prematurely, can result in data loss or filesystem corruption.[17]