How To Create A Multiboot USB With Ventoy Using Linux¶
These example instructions will show how you can create a multiboot USB flash drive using Ventoy that will allow the ability to install Microsoft Windows 10 or Windows 11 and Arch Linux by using a Linux terminal and desired web browser.
Environment¶
Tested using the following.
- Arch Linux x86_64
- Debian v12 (bookworm)
- Fish v3.6.4
- GNU bash v5.2.21
- Ventoy v1.0.97
- Windows 10
- Windows 11
Assumptions¶
- General understanding of using a Linux terminal or CLI (command-line interface)
- Have a USB flash drive that can be cleared of data
- Steps prefixed with a "$" (dollar sign) represents the CLI (command-line interface) prompt
- Steps prefixed with a "#" (number sign) represents the CLI prompt with elevated user permissions (e.g. root)
- The text after the "$" or "#" is to be entered at the CLI
Preparation¶
-
Download Microsoft Windows.
-
Browse to Windows 10 or Windows 11 download page.
-
Select the applicable edition.
- Windows 10 (multi-edition ISO)
- Windows 11 (multi-edition ISO)
-
Click the "Download" or "Confirm" button.
- Select the product language.
- Click the "Confirm" button.
-
Download the ISO.
Click on the applicable download button, "32-bit Download" or "64-bit Download".
-
Click on the "Verify your download".
Make note of the SHA256 hash under for the applicable downloaded ISO file in order to verify the data integrity and authenticity of the downloaded file.
-
-
Download Arch Linux.
- Browse to Arch Linux - Downloads page.
-
Select an applicable HTTP Direct Download mirror.
Generally it is best to select a mirror that is closest to where you are located in the world.
-
Download the ISO (e.g. archlinux-2024.02.01-x86_64.iso).
-
Download one of the file integrity checksums.
- b2susm.txt
- sha256sums.txt
-
Verify Windows Download.
$ sha256sum ~/Downloads/Win11_23H2_English_x64v2.iso
36DE5ECB7A0DAA58DCE68C03B9465A543ED0F5498AA8AE60AB45FB7C8C4AE402 Win11_23H2_English_x64v2.iso
Note
Visually compare the outputted hash above to the hash located on the download page under "Verify your download". If hashes match then the download was successful.
-
Verify Arch Linux Download.
Use one of the following methods to verify data integrity.
$ b2sum -c b2sums.txt
archlinux-2024.02.01-x86_64.iso: OK b2sum: archlinux-x86_64.iso: No such file or directory archlinux-x86_64.iso: FAILED open or read b2sum: archlinux-bootstrap-2024.02.01-x86_64.tar.gz: No such file or directory archlinux-bootstrap-2024.02.01-x86_64.tar.gz: FAILED open or read b2sum: archlinux-bootstrap-x86_64.tar.gz: No such file or directory archlinux-bootstrap-x86_64.tar.gz: FAILED open or read b2sum: WARNING: 3 listed files could not be read
$ sha256sum -c ~/Downloads/sha256sum.txt
archlinux-2024.02.01-x86_64.iso: OK sha256sum: archlinux-x86_64.iso: No such file or directory archlinux-x86_64.iso: FAILED open or read sha256sum: archlinux-bootstrap-2024.02.01-x86_64.tar.gz: No such file or directory archlinux-bootstrap-2024.02.01-x86_64.tar.gz: FAILED open or read sha256sum: archlinux-bootstrap-x86_64.tar.gz: No such file or directory archlinux-bootstrap-x86_64.tar.gz: FAILED open or read sha256sum: WARNING: 3 listed files could not be read
Note
A successful download will return "archlinux-2024.02.01-x86_64.iso: OK". The errors shown in the example are for the files that were not downloaded.
Instructions¶
Arch Linux¶
-
Install Ventoy.
$ pikaur -Sy ventoy-bin
Note
AUR helper required per these instructions.
-
Plug-in the USB flash drive.
-
Locate device name of USB flash drive using one of the following commands.
$ mount
... /dev/sde1 on /run/media/adam/4359-41A0 type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS ... sde 8:64 0 14.9G 0 disk └─sde1 8:65 0 14.9G 0 part /run/media/adam/4359-41A0 ...
Note
In these instructions the USB flash drive device name is assumed to be "/dev/sde".
-
Install Ventoy to USB.
# ventoy -i /dev/sde
********************************************** Ventoy: 1.0.97 x86_64 longpanda admin@ventoy.net https://www.ventoy.net ********************************************** Disk : /dev/sde Model: SanDisk Cruzer Glide 3.0 (scsi) Size : 57 GB Style: MBR Attention: You will install Ventoy to /dev/sde. All the data on the disk /dev/sde will be lost!!! Continue? (y/n) y
- Continue with installation.
All the data on the disk /dev/sde will be lost!!! Double-check. Continue? (y/n) y
Create partitions on /dev/sde by parted in MBR style ... Done Wait for partitions ... partition exist OK create efi fat fs /dev/sde2 ... mkfs.fat 4.2 (2021-01-31) success Wait for partitions ... Wait for /dev/sde1//dev/sde2 ... /dev/sde1 exist OK /dev/sde2 exist OK partition exist OK Format partition 1 /dev/sde1 ... mkexfatfs 1.3.0 Creating... done. Flushing... done. File system created successfully. mkexfatfs success writing data to disk ... sync data ... esp partition processing ... Install Ventoy to /dev/sde successfully finished.
- Unplug and then plug-in the USB flash drive.
-
Move ISOs to the USB flash drive.
$ mv ~/Downloads/Win11_23H2_English_x64v2.iso /run/media/adam/Ventoy/ $ mv ~/Downloads/archlinux-2024.02.01-x86_64.iso /run/media/adam/Ventoy/
Note
The destination of the USB flash drive mount point "/run/media/adam/Ventoy/" may vary.
Debian¶
- Download Ventoy (e.g. ventoy-1.0.97-linux.tar.gz).
- Download the file integrity checksums, sha256.txt.
-
Verify Ventoy download.
$ sha256sum -c ~/Downloads/sha256.txt
ventoy-1.0.97-linux.tar.gz: OK sha256sum: ventoy-1.0.97-livecd.iso: No such file or directory ventoy-1.0.97-livecd.iso: FAILED open or read sha256sum: ventoy-1.0.97-windows.zip: No such file or directory ventoy-1.0.97-windows.zip: FAILED open or read sha256sum: WARNING: 2 listed files could not be read
Note
A successful download will return "ventoy-1.0.97-linux.tar.gz: OK". The errors shown in the example are for the files that were not downloaded.
-
Decompress downloaded archive.
$ tar -zxvf ventoy-1.0.97-linux.tar.gz
... ./ventoy-1.0.97/plugin/ventoy/theme/menu_w.png ./ventoy-1.0.97/plugin/ventoy/ventoy_grub.cfg ./ventoy-1.0.97/plugin/ventoy/ventoy.json
-
Change directory.
$ cd ventoy-1.0.97/
- Plug-in the USB flash drive.
-
Locate device name of USB flash drive using one of the following commands.
$ mount
... /dev/sde1 on /run/media/adam/4359-41A0 type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS ... sde 8:64 0 14.9G 0 disk └─sde1 8:65 0 14.9G 0 part /run/media/adam/4359-41A0 ...
Note
In these instructions the USB flash drive device name is assumed to be "/dev/sde".
-
Install Ventoy to USB.
# ./Ventoy2Disk.sh -i /dev/sde
********************************************** Ventoy: 1.0.97 x86_64 longpanda admin@ventoy.net https://www.ventoy.net ********************************************** Disk : /dev/sde Model: SanDisk Cruzer Glide 3.0 (scsi) Size : 57 GB Style: MBR Attention: You will install Ventoy to /dev/sde. All the data on the disk /dev/sde will be lost!!! Continue? (y/n) y
- Continue with Installation.
All the data on the disk /dev/sde will be lost!!! Double-check. Continue? (y/n) y
Create partitions on /dev/sde by parted in MBR style ... Done Wait for partitions ... partition exist OK create efi fat fs /dev/sde2 ... mkfs.fat 4.2 (2021-01-31) success Wait for partitions ... Wait for /dev/sde1//dev/sde2 ... /dev/sde1 exist OK /dev/sde2 exist OK partition exist OK Format partition 1 /dev/sde1 ... mkexfatfs 1.3.0 Creating... done. Flushing... done. File system created successfully. mkexfatfs success writing data to disk ... sync data ... esp partition processing ... Install Ventoy to /dev/sde successfully finished.
- Unplug and then plug-in the USB flash drive.
-
Move ISOs to the USB flash drive.
$ mv ~/Downloads/Win11_23H2_English_x64v2.iso /run/media/adam/Ventoy/ $ mv ~/Downloads/archlinux-2024.02.01-x86_64.iso /run/media/adam/Ventoy/
Note
The destination of the USB flash drive mount point "/run/media/adam/Ventoy/" may vary.