Ventoy is a fairly new open source tool for creating bootable USB drives using Linux or Microsoft Windows ISO files.

You install this tool on a USB stick, then just copy the ISO images to the USB stick and you can boot from it without any other changes (so there is no need to reformat the USB stick every time you want to create a bootable USB stick, and without having to extract the contents of the ISO file).

The application is available for Microsoft Windows and Linux. It has a graphical user interface only on Windows; on Linux, you will need to use it from the command line.

When copying multiple ISO images to a USB drive, Ventoy provides a boot menu from where you can choose which ISO to boot from. You can even create a multiboot USB drive by adding the ISO files of several Linux and Windows distributions to one USB, as shown in the screenshot at the top of this page.

It is worth noting that you can continue to use the USB drive for other purposes. Once Ventoy is installed on a USB stick, this USB drive can be used to download the ISO files that you copy to it, but you can also copy other files to it, and this will not affect the operation of Ventoy.

To use the entire USB drive for other purposes, you do not need to format it. Delete all ISO files from it and use it as a regular USB drive (Ventoy takes up only a few MB of space and is not visible when the USB drive is connected). If you want to use the same USB drive to download the ISO, all you have to do is copy the ISO file (or several ISOs) to USB and boot from it.

Ventoy comes with legacy UEFI Secure Boot support and has been tested with over 260 ISO files, including Debian, Ubuntu (and its variants), CentOS, RHEL, Deepin, Fedora, SLES, openSUSE, MX Linux, Manjaro, Linux Mint, Elementary OS, Pop! _OS, Solus OS, Zorin OS, Arch Linux, Puppy Linux, Tails, Slax, Kali Linux, Mageia, Slackware, Gentoo, NixOS, ALT Linux, KDE Neon and many other Linux distributions, as well as Windows 7, Windows 8 / 8.1, Windows 10 and Windows Server

Other features of Ventoy:

  • Continuous support for Ubuntu, MX Linux, Linux Mint, Elementary OS, and Zorin OS
  • Silent installation – the program should work with Windows and any Linux distribution that supports silent installation, but it was tested only with RHEL7 / CentOS7 / Fedora, Debian / Ubuntu Server and SUSE
  • Support for loading .wim files (Legacy + UEFI)
  • Supports ISO files larger than 4 GB

How to install ventoy on a flash drive

Click the button below to download the program for Linux or Windows.

Download Ventoy

On Windows, Ventoy comes with a graphical user interface, so using it is pretty simple. To use it, unzip the downloaded Ventoy ZIP file, then run the Ventoy2Disk executable file.

Ventoy Windows GUI

Select the USB drive in the list of devices, if necessary, enable Secure Boot support (from the Option menu), then click the Install button to install Ventoy to the USB drive. Now that Ventoy is installed on your USB stick, you can create a bootable USB stick by simply copying the ISO images to USB, regardless of whether they are Linux ISO distributions or Windows 10/8/7 ISO files.

On Linux, extract the Ventoy.tar.gz file and you will find 3 folders, as well as 2 scripts, Ventoy2Disk.sh for installing Ventoy on a USB drive and CreatePersistentImg.sh for creating a permanent image for use with Ventoy.

ventoy

But before installing Ventoy on a USB drive and creating a bootable USB drive, you need to find out the name of the device on this USB drive and unmount it if it is connected. To do this, follow these steps

1. Find out the name of the USB device and available partitions

Connect USB to the computer, then run the command below (you can also use lsblk or sudo fdisk -l instead, or use Gparted if you prefer a graphical interface) in the terminal:

sudo parted -l

This command should list the disks and partitions connected to your computer, including a USB drive. You need to find out which of the listed devices will be your USB drive, based on the model name, disk size, etc.

Example with the parted -l command showing a USB drive connected to my computer:

parted -l

In the output of this example, you can find the name of the USB device in the “Disk” section, so in my case it is /dev/sdc.

2. Unmount all connected sections of the USB drive.

If partitions are mounted on the USB drive, disconnect them before proceeding (otherwise you cannot install Ventoy on USB, and this is necessary to create a bootable USB drive):

sudo umount /dev/sdXN

Replace /dev/sdXN with your name. Be sure to unmount all mounted partitions.

3. Install Ventoy to the USB drive

It is important to note that all data on the disk where you install Ventoy will be lost! Make sure that the USB device name is spelled correctly so that you do not accidentally lose data from the hard drive.

To be able to create bootable USB drives by simply copying the ISO files to USB, you need to install Ventoy on the USB drive. Open a terminal and navigate to the folder where you unpacked Ventoy (the folder containing the Ventoy2Disk.sh script).

To install Ventoy onto a USB drive without Secure Boot support, use:

sudo ./Ventoy2Disk.sh -i /dev/sdX

To install Ventoy on a Secure Boot-enabled USB drive, use:

sudo ./Ventoy2Disk.sh -i -s /dev/sdX

In both of these commands, you need to replace / dev / sdX with the name of the USB device that you learned in step 1.

You will be prompted to double-check the correctness of the data.

Example:

install ventoy

Now that Ventoy is installed on your USB stick, you can create a bootable USB stick by simply copying the ISO files to USB, regardless of whether they are Linux ISO distributions or Windows 10/8/7 ISO files.

copy iso ventoy

Boot from this USB drive and you will see a list of ISO files that are available on it – click on any of them and you will download the selected ISO file with the option to install the Linux distribution or the version of Windows to which you copied the USB drive.

How to create a bootable USB drive with constant use Ventoy

When you create a regular Linux live USB, you can install software, download files, make changes to the system, etc., but all these changes are lost after a reboot. Permanent USB allows you to save any changes that you make to an existing system, so they are saved the next time you boot.

Ventoy supports the creation of a permanent bootable USB drive. Among Linux distributions for which Ventoy maintains persistence, there are Ubuntu, MX Linux, Linux Mint, Elementary OS, and Zorin OS.

The following instructions assume that you have already downloaded, removed, and installed Ventoy to your USB device (see instructions above). It is worth noting that this requires the CreatePersistentImg.sh script, which is available only when Ventoy Linux is loaded (a similar Ventoy solution for Windows does not exist).

1. Create a persistent image file.

To create a permanent bootable USB drive, the first thing you need to do is create an internal image file. This is a simple disk image with a label. You can use the CreatePersistentImg.sh script, which is located in the folder where you unpacked Ventoy for Linux, to create this image file.

Open a terminal, go to the folder where you unpacked Ventoy (which should contain the CreatePersistentImg.sh script), and run this command to create a 4 GB image file:

sudo ./CreatePersistentImg.sh -s 4096

This command will create a 4 GB EXT4 image file with the default label casper-rw. 4096 represents the image file size in megabytes, if you want to increase or decrease the size, change this number.

You can see all available options by running:

./CreatePersistentImg.sh --help

2. Copy the persistent image file to a USB drive

The created image file is called persistence.img and should be available in the Ventoy folder (next to the CreatePersistentImg.sh script). Plug in the USB drive on which you installed Ventoy and copy persistence.img to the USB drive.

3. Create a Ventoy json configuration file containing paths to the ISO files.

On the USB drive where you installed Ventoy, create a folder named ventoy. Inside this folder, create a file called ventoy.json and open this file in a text editor.

Insert the following lines inside the file:

{
"persistence": [
{
"image": "/ISO-file-name.iso",
"backend": "/persistence.img"
}
]
}

Replace ISO-file-name.iso with the name of the ISO file (and the path if it is not in the USB root), and persistence.img also with the file name and the path of the permanent image (if you changed the name and did not put it in the USB root) .

For example, if you have ISO ubuntu-20.04-desktop-amd64.iso and a persistence.img permanent image file that are located in the root directory of a USB drive, ventoy.json will look like this:

{
"persistence": [
{
"image": "/ISO-file-name.iso",
"backend": "/persistence.img"
}
]
}

You can add multiple ISO files if you want, for example:

{
"persistence": [
{
"image": "/ISO-file-name.iso",
"backend": "/persistence-ubuntu-20.04.img"
},
{
"image": "/linuxmint-19.3-xfce-64bit.iso",
"backend": "/persistence-linux-mint-19.3.img"
}
]
}

Make sure the paths and syntax are 100% correct, otherwise it will not work.

When you’re done, save the file and boot from this USB stick.

That’s all.

Have you tried to create a bootable USB flash drive using the Ventoy program? Share your thoughts in the comments below.