Create A Bootable USB Drive By Simply Copying The ISO To The USB With Ventoy (Linux And Windows)
Ventoy is a fairly new open source tool to create bootable USB drives using Linux or Microsoft Windows ISO files. You install this tool to a USB drive, then simply copy some ISO files to the USB drive and you can boot from it with no other changes (so without having to reformat the USB drive every time you want to create a bootable USB drive, and without having to extract the ISO file contents).
The application is available for Microsoft Windows and Linux.
When copying multiple ISO files to the USB drive, Ventoy provides a menu on boot from where you can choose which ISO to boot. You can even create a multiboot USB drive by adding ISO files for some Linux distributions and Windows ISO files on the same USB, as seen in the screenshot at the top of this page.
It's worth noting that you can continue to use the USB stick for other purposes. Once Ventoy is installed on an USB drive, that USB drive can be used to boot ISO files that you copy to it, but you can also copy other files to it, and that won't affect the operation of Ventoy.
To take advantage of the whole USB drive for other purposes, you don't have to format it. Delete all ISO files from it and use it as a regular USB drive (Ventoy only takes a few MB of space and is not visible when mounting the USB drive). When you want to use this same USB drive to boot an ISO, all you have to do is copy the ISO file (or multiple ISOs) to the USB and boot from it.
Ventoy comes with both legacy and UEFI Secure Boot support, and it has been tested with more than 260 ISO files, including Debian, Ubuntu (and its flavors), 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 2012 / 2012 RS, 2016 and 2019.
Other Ventoy features:
- Persistence support for Ubuntu, MX Linux, Linux Mint, Elementary OS and Zorin OS
- Auto installation - this should work with Windows and any Linux distribution that support automatic installation, but it has only been tested with RHEL7/CentOS7/Fedora, Debian/Ubuntu Server and SUSE
- WIM files boot supported (Legacy + UEFI)
- Supports ISO files larger than 4 GB
- Upgrade the Ventoy installation on the USB drive without formatting the USB
Read on to see how to install Ventoy on an USB drive (from Microsoft Windows or Linux) and how to create a bootable USB drive with persistence using Ventoy.
Bootable USB drive-related:
- bootiso: Easy ISO To Bootable USB Drive From The Command Line
- How To Make a Bootable Windows 10 USB On Linux Using WoeUSB
- Create A Persistent Storage Live USB With Ubuntu, Linux Mint Or Debian (UEFI, >4GB Persistence Support)
- Rufus: Creating A Persistent Storage Live USB With Ubuntu Or Debian From Windows
Download and install Ventoy on an USB drive
The download button above links to Ventoy binaries for Microsoft Windows and Linux. If you wish to build it from source instead, see this page.
Install Venty on a USB drive using a GUI (Windows & Linux)
On Windows, Ventoy comes with a graphical user interface so using it is pretty straight-forward. To use it, extract the downloaded Ventoy .zip file, then launch the Ventoy2Disk executable.
Choose the USB drive from the Device list, optionally enable Secure Boot support (from the
Option
menu), then click the Install
button to install Ventoy to the USB stick. Now that Ventoy is installed on your USB drive, you can create a bootable USB drive by simply copying some ISO files onto the USB, no matter if they are Linux distribution ISOs or Windows 10 / 8 / 7 ISO files.On Linux, extract the Ventoy .tar.gz file and you'll find some scripts and executables. To run the Ventoy GUI for Linux (added with Ventoy 1.0.52), all you have to do is double-click the VentoyGUI executable corresponding to your OS architecture (if you're a desktop user, chances are you're using an x86_64 architecture, so double click
VentoyGUI.x86_64
).In case double-clicking the executable doesn't work, open a terminal, navigate to the folder where you've extracted Ventoy and run it using, e.g. for the x86_64 architecture:
./VentoyGUI.x86_64
To install Ventoy on an USB stick, choose the USB drive from the Device
list, optionally enable the Secure Boot
support (from the Option
menu), then click the Install
button.
Install Ventoy on a USB drive using the command line (Linux)
Before installing Ventoy on an USB drive and creating a bootable USB drive, you need to find out the device name of this USB drive, and unmount it if it's mounted. Follow the steps below to do this, and then install Ventoy on an USB drive on Linux.
1. Find out the USB drive device name and available partitions
Plug-in the USB into your computer, then run the following command (you can also use
lsblk
or sudo fdisk -l
instead; or use Gparted if you prefer a GUI) in a terminal:sudo parted -l
This should output the disks and partitions attached to your computer, including the USB drive. You'll need to figure out which one of the devices listed is your USB drive, based on the model name, disk size, etc.
Example with the
parted -l
command showing an USB drive attached to my computer:sudo parted -l
..........................
Model: USB DISK 3.0 Pro (scsi)
Disk /dev/sdd: 31.0GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 31.0GB 30.9GB primary boot
2 31.0GB 31.0GB 33.6MB primary fat16 esp
In this example output you can find the USB device name by looking under Disk, so in my case, it's
/dev/sdd
. The partitions are listed below the Disk Flags, so in this example there are 2 partitions: 1 and 2 (since the device name is
/dev/sdd
, the partitions are /dev/sdd1
and /dev/sdd2
).2. Unmount any mounted USB drive partitions
In case the USB drive has mounted partitions, unmount them before proceeding (or else you won't be able to install Ventoy on the USB, and this is required for creating a bootable USB drive) by opening a terminal and using this command:
sudo umount /dev/sdXN
Replace
/dev/sdXN
with the USB device partitions. Make sure to unmount all mounted disk partitions.In my example, the USB drive device name is
/dev/sdd
, and its partitions are /dev/sdd1
and /dev/sdd2
, so in that case the commands to unmount them would be:sudo umount /dev/sdd1
sudo umount /dev/sdd2
3. Install Ventoy on the USB disk
It's important to note that all the data on the disk where you install Ventoy will be lost! Make sure the USB device name is correct so you don't accidentally lose the data from a hard drive.
To be able to create bootable USB drives by simply copying the ISO files onto the USB, you'll need to install Ventoy on the USB drive. Open a terminal and navigate to the folder where you've extracted Ventoy (the folder which contains the
Ventoy2Disk.sh
script). Then to install Ventoy on the USB disk without Secure Boot support, use:
sudo ./Ventoy2Disk.sh -i /dev/sdX
Or, to install Ventoy on the USB disk with Secure Boot support, use:
sudo ./Ventoy2Disk.sh -i -s /dev/sdX
In both of these commands you need to replace
/dev/sdX
with the USB device name that you found out in step 1. You will be asked to confirm if USB device name is correct twice - type
y
and press the Enter
key to continue.Example:
sudo ./Ventoy2Disk.sh -i -s /dev/sdd
***********************************************************
* Ventoy2Disk Script *
* longpanda admin@ventoy.net *
***********************************************************
Disk : /dev/sdd
Model: USB3.0 DISK (scsi)
Size : 31 GB
Attention:
You will install Ventoy to /dev/sdd.
All the data on the disk /dev/sdd will be lost!!!
Continue? (y/n)y
All the data on the disk /dev/sdd will be lost!!!
Double-check. Continue? (y/n)y
Create partitions on /dev/sdd by parted ...
Done
mkfs on disk partitions ...
create efi fat fs /dev/sdd2 ...
mkfs.fat 4.1 (2017-01-24)
success
mkexfatfs 1.3.0
Creating... done.
Flushing... done.
File system created successfully.
writing data to disk ...
sync data ...
esp partition processing ...
Install Ventoy to /dev/sdd successfully finished.
Now that Ventoy is installed on your USB drive, you can create a bootable USB drive by simply copying some ISO files onto the USB, no matter if they are Linux distribution ISOs or Windows 10 / 8 / 7 ISO files.
Boot from this USB drive and you'll see a list of ISO files that are available on it - click any of them and you'll boot the selected ISO file with the possibility of installing the Linux distribution or Windows version you've copied to the USB drive.
How to create a bootable USB drive with persistence using Ventoy
When you create a regular Linux live USB, you can install software, download files, make changes to the system, and so on, but all of these changes are lost after a reboot. A persistent live USB allows saving any changes you make to the live system, so they are still present the next time you boot to it.
Ventoy supports creating bootable USB drive with persistence support. Among the Linux distributions for which Ventoy supports persistence are Ubuntu, MX Linux, Linux Mint, Elementary OS and Zorin OS, although more probably work, but haven't been tested. Generally, any Linux distribution based on Ubuntu should work.
The following instructions assume you've already downloaded, extracted and installed Ventoy on an USB device (see the instructions above). It's worth noting that this requires the CreatePersistentImg.sh script, only available with the Ventoy Linux download (there's no similar solution available with Ventoy for Windows).
1. Create a persistent image file
To create a persistent bootable USB drive, the first step is to create the backend image file. This is a simple disk image with a label. You can use the
CreatePersistentImg.sh
script, available in the folder where you've extracted Ventoy for Linux, to create this image file.Open a terminal, navigate to the folder where you've extracted Ventoy (which should contain the CreatePersistentImg.sh script), and run this command to create an image file with the size of 4 GB:
- For Ubuntu and Ubuntu-based Linux distributions:
sudo ./CreatePersistentImg.sh -s 4096
- For Arch Linux or Fedora:
sudo ./CreatePersistentImg.sh -s 4096 -l vtoycow
This creates a 4 GB EXT4 image. 4096 represents the size of the image file in MB, if you want to increase or descrease the size, change this number.
The commands are different for Ubuntu and Fedora / Arch because by default, the persistence label is
You can see all the available options by running:
casper-rw
, and this is OK for Ubuntu-based Linux distributions, but not for Arch / Fedora, which need to use vtoycow
as the label.You can see all the available options by running:
./CreatePersistentImg.sh --help
With Debian, Kali, CloneZilla (and maybe others), you'll need to create a file called
persistence.conf
inside the persistence image which contains / union
. This can be done when creating the persistence image, by adding -c persistence.conf
. So to create a persistence.dat
file with the size of 4GB and add this file to it, use:sudo ./CreatePersistentImg.sh -s 4096 -c persistence.conf
2. Copy the persistent image file to the USB drive
The created image file is called
The created image file is called
persistence.dat
, and it should be available in the Ventoy folder (next to the CreatePersistentImg.sh
script). Plug-in the USB stick on which you've installed Ventoy, and copy this persistence.dat
file to the USB drive.[[Edit]] The persistance file was initially called "persistance.img", but it was renamed to "persistence.dat" recently. That's why in the screenshot further down this port, you'll see that the option is called "Boot with /persistance.img", instead of "Boot with /persistance.dat".
3. Create a Ventoy json configuration file containing the paths to the ISO and persistence files
On the USB drive on which you've installed Ventoy, create a folder called
Inside the file, paste this:
Replace
For example, if you have an ISO called
You can add multiple ISO files with persistence if you wish, for example:
Make sure the paths and syntax are 100% correct. If you miss (or have an extra) comma for example, or if the paths are not correct, the persistence won't work.
For more on this, see the Ventoy persistence documentation.
When you're done, save the file and boot from this USB drive. After clicking on the ISO for which you've added persistence, you'll see a menu that lets you boot with or without persistence, like shown in the screenshot above.
h/t: conductor on HN
3. Create a Ventoy json configuration file containing the paths to the ISO and persistence files
On the USB drive on which you've installed Ventoy, create a folder called
ventoy
. Inside this folder create a file called ventoy.json
, and open this file with a text editor.Inside the file, paste this:
{
"persistence" : [
{
"image": "/ISO-file-name.iso",
"backend": "/persistence.dat"
}
]
}
Replace
ISO-file-name.iso
with the ISO filename (and path if it's not in the root of the USB), and persistence.dat
with the persistence image filename and path (in case you've changed the name and didn't place it in the root of the USB).For example, if you have an ISO called
ubuntu-20.04-desktop-amd64.iso
and a persistence image file called persistence.dat
, both placed in the root of the USB drive (in the lowest-level directory, the one that opens when you click on the USB drive icon), the ventoy.json
file would look like this:{
"persistence" : [
{
"image": "/ISO-file-name.iso",
"backend": "/persistence.dat"
}
]
}
You can add multiple ISO files with persistence if you wish, for example:
{
"persistence" : [
{
"image": "/ISO-file-name.iso",
"backend": "/persistence-ubuntu-20.04.dat"
},
{
"image": "/linuxmint-19.3-xfce-64bit.iso",
"backend": "/persistence-linux-mint-19.3.dat"
}
]
}
Make sure the paths and syntax are 100% correct. If you miss (or have an extra) comma for example, or if the paths are not correct, the persistence won't work.
For more on this, see the Ventoy persistence documentation.
When you're done, save the file and boot from this USB drive. After clicking on the ISO for which you've added persistence, you'll see a menu that lets you boot with or without persistence, like shown in the screenshot above.
h/t: conductor on HN