USB ISO multiboot script – Ventoy (#P26)
Speaking of the GitHubs on the Interwebs: I’ve been using a somewhat selfmade bash script to make bootable USB media for quite some time now. It’s capable of running ISO files directly from the USB drive and also the option for a separate partition for some Windows WIM extraction, in order to offer bootable Windows install media. As I’m the only user and there’s not that much demand for running different Linuxes at the moment, that script is badly maintained and only got an update when like a new Ubuntu LTS hit the market. So basically…every other summer.
It’s now archived here mostly for GRUB config reference.
And the reason for finally abandoning it is Ventoy. While I did nothing to make this happen, I heard about it in some multiboot forum thread and decided to test it and report the results to the developer(s). With all of my stuff. ALL OF IT. Well, mostly, I didn’t run shady images
But there were 160 different ISOs, because I tested all the old versions and also downloaded the most recent ones during the tests. Quite a lot run out of the box, some have minor glitches, some have major glitches, and also quite a lot do not boot at all. Luckily some have improved over time so that the current versions are indeed bootable without extraction and other wizardry. Others like Solaris (for development use only, of course!) still require physical media or at least one USB drive for themselves.
How does it work? Honestly, I do not know in detail. Ventoy requires installation first (Windows/Linux – likely OSX will work with the Linux installer) and will wipe the disk once. It creates two partitions on the USB drive, one 32MiB UEFI FAT32 partition on the very end of the drive, and one exFAT partition that covers the rest. The latter can also be of NTFS, ext2/3/4, FAT, XFS or UFS type with their respective restrictions and advantages. After that, one does simply place entire ISO files on the data partition (subfolders are possible) and the thing is ready to go. All configuration data is hidden on the small UEFI partition and the thing creates a boot menu on the fly that covers all files. It is upgradable without data loss on the main partition.
It says there’s no need to do that for new distribution releases, but since every ISO is different and they list ISO sizes on their compatibility list, I’d say they are running a dual approach – use a known-good configuration for specific releases, and run unknown releases with a best-guess configuration based on the boot structure of the ISO itself. There probably is a compatibility layer in between the GRUB menu and the ISO itself, as scanning dozens of files on every boot would create a significant delay. However, scanning and pattern-matching a file that you’re about to boot is entirely possible within a few seconds.
Ventoy does support e.g. clonezilla, Debian, gparted, Linux Mint, Manjaro (tempted to test that, looks pretty nice!), Ultimate Boot CD and of course Ubuntu, so that’s about all I really need on a multiboot stick. It’s free and properly maintained!