Archive

Archive for the ‘Tools’ Category

What is Ventoy, and why you should always have one!

24/09/2021 Leave a comment

TL;DR;

Before I get to ranting, here is the quick answer:

Ventoy is a Free Software multi-platform tool that lets you boot ISO files from a USB drive.

Key features that make it different from other tools like Etcher or Unetbootin are:

  • You don’t need to “flash” the ISO to the drive – just copy like a regular file!
  • You can still use your drive normally to carry other files around!
  • You can put as many ISO files as will fit on the same USB stick and choose which to boot!
  • It supports GNU/Linux, BSD, and even Windows ISO files!

The rant:

One thing I hate the most about GNOME project is the fact that starting with version 3, they been systematically destroying their utility apps.
Calculator button layout has become a ridiculous mess, setting Alt + Shift to switch keyboard layout requires a 3rd party tweak tool, and my biggest gripe: the “startup disk creator” has been completely boarked!

Back in 2007 I was able to use GNOME 2’s built in tool to create a persistent live USB stick for a friend in need with just a couple of clicks, while simultaneously preserving the files he already had on that USB drive!
Fast forward to 2021 and all I get is a thin GUI wrapper for dd command, which not only does not allow creating a persistent installation, but also converts any USB drive in to a 2GB DVD messing up partitioning and even sector size!
Sure, it boots, but it is unusable for anything else, even flashing a different image, unless I clean it up with GParted first.

It is almost like the GNOME project intentionally tries to sabotage it self by becoming more and more useless!

My current predicament:

Even as I type this post my home desktop computer still runs Ubuntu 16.04.
One of the major reasons I am running a 5 year old version of Ubuntu despite their regular release schedule is the rant above – I did not want to update many of the GNOME components Ubuntu relies on to their newer, more decrepit versions. (And no, I don’t want to switch to KDE, thank you.)

But now the time has come where I can’t put it off any longer:
Arduino Studio 2.0 requires newer glibc, many of the Python scripts I write use 3.9 features, and some free software projects I really want to build require higher versions of cmake than that wich comes with my current distribution.

Plus, even though this is an LTS version, it will be nearing its end of life soon…

So I tried to run dist-upgrade only to find out that all the messing around with repositories and packages I did over the years messed up my setup so much, it can no longer upgrade.
After trying to solve the issue for a few days with no success, I decided the simplest way forward was to just install a newer version over the old one.

Though my home and my boot partitions are separate, I still took the time to image both with Clonezilla to a backup removable drive.
And a good thing too, as I got careless and managed to destroy both partitions during the upgrade attempt, even though they are on separate physical drives!

Fortunately, the full disk image backup worked like a charm, and I did not loose anything other than a few hours of my life.

But the problem was this:
First, I needed a bootable USB stick with Clonezilla, then one with latest version of Ubuntu, then Clonezilla again, then one with older version of Ubuntu to try again (because I suspected the installation failed because my system does not support UEFI).

I don’t have a bunch of USB drives lying around, and reflashing the same drive with my laptop was a pain in the ass.

Today I went to get a few things from my local computer store and was going to get another 32GB Sandisk stick to avoid this hassle in the future.
They didn’t have one on display, but they did have a Kingston 128GB stick, so before sending the nice clerk to fish one out of the storage room I asked how much the 128GB USB stick cost.
Turns out it was less then a ribs serving at my favorite restaurant.

So I got the bigger stick instead, and remembering hearing about this “Ventoy” thing somewhere decided to give it a try.

The experience:

Though they do not have repositories, not even snap, they do provide a statically linked binary which can be run after unpacking from the tar file without installation.
The interface is super simple, though I have not tried their persistence feature yet, which requires running a separate script.

The tool warned me (twice!) that all the data will be deleted from my USB drive, but when it was done I still had a clean 127GB drive with no garbage files on it, and no messed up partitions.

Then I dropped a few ISO files on it.
I have a tendency to keep all the ISOs I try out, and I tried out a bunch of OS’s from Puppy Linux to PC BSD back in the day, so it was a matter of a few minutes to copy them over USB 3 port.

And…

It worked just as advertised!
I got a pretty graphical menu letting me select any of the ISOs I put on the drive, and then the selected one just booted.

PC BSD couldn’t get in to a GUI and dropped me to console, but I suspect this has to do with my new nVidia card. This ISO is very old, I don’t remember when I got it, and it seems PC BSD has been deprecated for years (I don’t really follow the BSD world).

I will try out Midnight BSD 2.1.0 later on, as I am curious both about how well BSD is supported by Ventoy and what modern desktop BSD looks like.

Ubuntu 21.04 booted without issue.

Conclusion:

Instead of a handful of thumb drive strung around my desk I now have one drive that serves all my needs:
I can use to to back up my files and whole disks, I can use it to install old and new Ubuntu distros, I can use it to try out new OSs, and I will probably add the Rescue CD image to it later just in case.
I even have a DBAN ISO on there, though I am not planning on nuking any drives any time soon.

And after all that I still have 117.9 GB free on the drive, and only 5 distinct ISO files in the root directory, so I can freely use this drive to carry around other stuff without it mixing in with the OS install files and folders.

And I can add more ISOs any time, in minutes, without any special tool (Ventoy is not needed after installing the bootloader).
There is no configuration, nothing!

Which is why I highly recommend this tool!
It lets you keep a single USB stick as a multitool for all your external booting needs, from installing new OS to fixing and backing up.
And its super easy!

After trying out several different “flashers” in the past, I found this particular tool so useful and convenient that I donated 20$ to the developer to show my support.

Heck, it may even be good for the environment by reducing e-waste through reducing the number of USB sticks people like me will need.
Those things do break pretty easily, especially ones with full plastic casing, even from reputable manufacturers (which is why I now only buy ones with metal casings, though that still does not guarantee survivability of the chips inside).

Disclaimer:

I don’t really know anything about the developer behind this project, or the project it self beyond what I experienced using it.
I have not audited the code.
So don’t rely solely on my excitement in this post and check it out for your self!

The code is available here and here, it is under GPL v3+ which is an excellent choice that shows the developer really cares about freedom of users down the line.

Update:

I should have read the fine print on MidnightBSD. It is not a LiveCD, it is just an installer.
And it does not like my system at all…
Trying to run it directly from a USB drive (using dd) didn’t even get past initial bootloader, while via Ventoy it scanned all my hardware, switched to graphical mode momentarily, then prompted me for “boot device”, which I didn’t know so I could not continue.
Guess they really need to work on their user friendliness, or be less picky about who they befriend 😛
Maybe I will give them a try on VirtualBox after I am done with my system upgrade…

%d bloggers like this: