Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124

Ventoy has revolutionized how IT professionals and system administrators approach operating system deployment. While most users know Ventoy as a bootable USB solution that supports multiple ISO files, its auto-installation plugin transforms it into a powerful tool for unattended OS deployment. This comprehensive guide walks you through setting up Ventoy’s auto-installation feature, enabling you to deploy operating systems across multiple machines without manual intervention.
Ventoy’s auto-installation feature allows you to configure automated responses to installation prompts, effectively creating an unattended installation environment. Instead of manually clicking through setup screens, language selections, partition configurations, and user account creation, Ventoy can inject predefined answers into the installation process.
This capability proves invaluable for IT departments managing fleet deployments, system administrators rebuilding multiple workstations, or anyone who regularly installs operating systems across different machines.
Before diving into the setup process, ensure you have the following components ready:
Hardware Requirements:
Software Components:
Knowledge Prerequisites:
Download the latest Ventoy release from the official GitHub repository or the Ventoy website. The installation process differs slightly between Windows and Linux environments.
For Windows: Extract the Ventoy package and run Ventoy2Disk.exe as administrator. Select your target USB drive carefully, as the installation process will format the drive and erase all existing data. Choose between MBR or GPT partition style based on your deployment needs. GPT works with modern UEFI systems, while MBR provides broader compatibility with older hardware. Click the Install button and wait for the process to complete.
For Linux: Extract the package and navigate to the directory in your terminal. Run the installation script with sudo privileges, specifying your USB device. The command typically looks like: sudo sh Ventoy2Disk.sh -i /dev/sdX where sdX represents your USB drive. Double-check the device identifier to avoid overwriting the wrong drive.
After installation, Ventoy creates two partitions on your USB drive. The first partition uses exFAT or FAT32 formatting and serves as your main storage area for ISO files and configuration files. The second partition contains Ventoy’s boot files and remains hidden during normal operation.
Ventoy’s flexibility stems from its simple yet powerful directory structure. The main partition accepts ISO files placed anywhere within it, allowing you to organize your deployment images however you prefer. However, the auto-installation feature requires specific directory placement.
Create a directory named ventoy in the root of your Ventoy USB drive. Inside this directory, Ventoy looks for various configuration files and plugins. The auto-installation configuration specifically requires a file named ventoy.json within this ventoy directory.
The ventoy.json file serves as the central configuration hub for Ventoy plugins, including auto-installation. This JSON-formatted file defines which ISO files should use automated installation and points to their respective answer files.
The basic structure follows this pattern:
json
{
"auto_install": [
{
"image": "/path/to/your.iso",
"template": "/ventoy/scripts/answer_file"
}
]
}
The “image” field specifies the path to your ISO file relative to the Ventoy USB root. The “template” field points to your answer file location. Ventoy injects this answer file into the installation process, providing automated responses to setup prompts.
Windows auto-installation relies on an answer file named unattend.xml. This XML-based file contains responses to every question the Windows installer might ask during setup.
Creating an Unattend.xml File:
Microsoft provides the Windows System Image Manager (Windows SIM) tool as part of the Windows Assessment and Deployment Kit (ADK) for creating answer files. However, you can also create basic unattend.xml files manually or use online generators for simpler deployments.
A minimal unattend.xml for Windows 10/11 includes these essential components:
The windowsPE configuration pass handles pre-installation settings like language, locale, and disk configuration. The specialize pass configures computer-specific settings. The oobeSystem pass handles the out-of-box experience, including user account creation and privacy settings.
Here’s a simplified example structure for your ventoy.json:
json
{
"auto_install": [
{
"image": "/ISOs/Windows11.iso",
"template": "/ventoy/scripts/windows11_unattend.xml"
}
]
}
Place your unattend.xml file in the /ventoy/scripts/ directory on your USB drive. When Ventoy boots the Windows installer, it automatically injects this answer file, enabling unattended installation.
Key Unattend.xml Sections:
The disk configuration section proves particularly important. You can specify automatic partition creation and formatting, eliminating manual disk setup. Include product key information if you’re deploying licensed copies across an organization. Configure user accounts, computer names, and network settings to match your deployment requirements.
For automated partition setup, define the disk layout in the DiskConfiguration section. Specify whether to wipe existing partitions, create new ones, and which partition receives the OS installation. Exercise caution with disk configuration settings, as they can result in data loss if applied to the wrong machine.
Linux distributions use different answer file formats depending on their family. Debian-based distributions like Ubuntu use preseed files, while Red Hat-based systems like CentOS, RHEL, and Fedora use kickstart files.
Ubuntu Preseed Configuration:
Preseed files use a question-and-answer format that corresponds to the questions asked during Ubuntu installation. Create a file with a .cfg extension containing your preseed directives.
Essential preseed sections include locale and keyboard configuration, network setup, user account creation, partition configuration, and package selection. The partition configuration requires careful attention, as incorrect settings can destroy existing data.
Your ventoy.json entry for Ubuntu looks like this:
json
{
"auto_install": [
{
"image": "/ISOs/ubuntu-22.04-desktop-amd64.iso",
"template": "/ventoy/scripts/ubuntu_preseed.cfg"
}
]
}
The preseed file should include commands like d-i debian-installer/locale string en_US for locale settings, d-i keyboard-configuration/xkb-keymap select us for keyboard layout, and detailed partitioning commands for disk setup.
Red Hat Kickstart Configuration:
Kickstart files provide a more straightforward syntax compared to preseed files. They use direct commands rather than question-response pairs, making them easier to read and modify.
A kickstart file begins with installation method specification, followed by language and keyboard settings, network configuration, timezone settings, root password, and partition layout. The package section lists software to install, and post-installation scripts can perform additional configuration.
Your ventoy.json entry for a Red Hat-based system:
json
{
"auto_install": [
{
"image": "/ISOs/Rocky-9.3-x86_64-minimal.iso",
"template": "/ventoy/scripts/rocky_kickstart.cfg"
}
]
}
Kickstart syntax includes commands like lang en_US.UTF-8 for language, keyboard us for keyboard layout, timezone America/New_York for time zone, and autopart for automatic partitioning or detailed partition commands for custom layouts.
Ventoy’s true power emerges when deploying multiple operating systems from a single USB drive. Your ventoy.json file can include multiple auto-installation configurations, each targeting a different ISO file.
Structure your configuration like this:
json
{
"auto_install": [
{
"image": "/ISOs/Windows11.iso",
"template": "/ventoy/scripts/win11_unattend.xml"
},
{
"image": "/ISOs/ubuntu-22.04.iso",
"template": "/ventoy/scripts/ubuntu_preseed.cfg"
},
{
"image": "/ISOs/Rocky-9.3.iso",
"template": "/ventoy/scripts/rocky_kickstart.cfg"
}
]
}
Organize your ISO files and scripts logically within the directory structure. Consider creating subdirectories for different OS families or use cases. This organization becomes increasingly important as your deployment USB grows to include dozens of different images.
Advanced users can leverage Ventoy’s flexibility to create environment-specific configurations. While Ventoy doesn’t natively support conditional logic in ventoy.json, you can prepare multiple USB drives or multiple ventoy.json configurations for different scenarios.
Some administrators maintain separate script directories for different deployment types—one for workstations, another for servers, and another for testing environments. By modifying the template path in ventoy.json, you can quickly switch between deployment profiles.
Unattended installations often require post-installation configuration. Windows answer files support RunSynchronous and FirstLogonCommands sections that execute scripts after installation completes. Linux kickstart and preseed files include post-installation script sections.
Use these post-installation hooks to install additional software, join domain controllers, configure security policies, or apply organization-specific settings. Place any required scripts or installers on the Ventoy USB drive where the answer file can access them, or configure the installed system to download them from a network location.
Ventoy receives regular updates that add features, improve compatibility, and fix bugs. Check the official Ventoy website or GitHub repository periodically for new releases. The update process preserves your existing ISO files and configuration, though always maintain backups before updating.
To update Ventoy, run the Ventoy2Disk application and select the Update option rather than Install. This preserves your ventoy directory and all configuration files while upgrading the boot components.
As new operating system versions release, update your ISO files and corresponding answer files. Windows updates often require minor changes to unattend.xml files, particularly around feature selections and privacy settings. Linux distribution updates may introduce new installer questions requiring additional answer file directives.
Maintain version control for your answer files. Store them in a Git repository or similar version control system alongside documentation explaining each configuration’s purpose and target use case. This practice proves invaluable when troubleshooting issues or onboarding new team members.
Ventoy’s auto-installation feature transforms a useful multi-boot USB tool into a powerful unattended deployment solution. By combining ISO files with properly configured answer files, you can deploy operating systems across multiple machines with minimal manual intervention. The flexibility to support multiple operating systems from a single USB drive makes Ventoy particularly valuable for diverse IT environments.