I've never tried ventoy, but if the PXE/netboot features work, I want to strongly urge anyone thinking of experimenting with PXE/netboot to use ventoy or any other similar helper instead of trying to set up PXE/netboot yourself. I can confidently say that PXE was the single most difficult project/aspect of computing I've ever worked on in the 20 years of working with Linux machines as a hobby and a job. 3-4 times I attempted to mess with it, got it working about 2. Wasted/spent an absolutely enormous amount of time.
PXE is one of those things that used to be dead simple to set up. Just add an entry to the DHCP record and set up a TFTP server for the kernel and NFS root drive and you were golden.
UEFI threw a huge moneywrench in the process, and SystemD doesn't help. Last time I made it work I had to track down a mailing list entry where someone discussed an otherwise undocumented kernel option that needed to be set to make it work. One of the key glue techs that made it work last time (rom-o-matic) went out of development and is gone.
Otherwise, your going to get the wrong arch/filename.
It is similar to HTTPS, but the arch = 00:10 for x64 and it needs:
option vendor-class-identifier "HTTPClient";
Then put the URL in the filename field.
Finally just put the usual bios/pxe stub in the last "else"
Of course, your distro should provide a PXE capable grub/kernel/initrd, which you then toss on the TFTP/HTTPS (or HTTP then you don't have to deal with certs) server in the path provided.
UEFI seems hard, because there's no standardized way to boot ISO files, and memdisk from syslinux doesn't work in UEFI. With memdisk, the OS kernel could (if properly written) hook into the loaded image, and mount that as well.
Without that support, you have to take apart ISO files to netboot them, and your PXE environment needs to understand the various kernels and how to boot them, and how to provide modules / filesystem images.
Either Dell or Lenovo (can't remember which, I own both laptops) has some new-generation HTTPS boot, tried it (I wanted to dual boot FreeBSD/Linux without messing with UEFI, disabling secure boot, or repartitioning, just pressing F12 and net-booting), wasted another 2-3 hours rebooting each time, got absolutely nowhere again. Man, this stuff is cursed.
Just commenting an adjacent UEFI problem solved: My workaround at work with some old test robots that I still use, but don't have UEFI... Put iPXE on a flash drive, and use that to chain-boot into the uefi-only PXE setup. (there's still a few that this doesn't work for, but it's a minority and I'm going to scrap those...)
iPXE makes the client-side part of it manageable; the only drawback is having to walk through the open pull-requests on github for the patches you need to get it working, and possibly having to fight some buggy uefi drivers (usually solved with snponly). Also has the advantage of making it possible to do everything secureboot + over TLS with your own certificates, rather than classical PXE which is all plaintext.
For the serverside, there are several python projects on github which provide everything you need in one package, for example pybootd.
But I get a good bit of satisfaction of having gleaned a pretty functional understanding of setting up PXE/netboot (Ubuntu installs; with a Ubuntu PXE server via DNSMasq + nfs + tftp).
I even did some grub menu user input (and ascii art while I was at it) prompts/trickery to allow choosing the machine name shortly after boot, before the long slow Ubuntu install.
The list of things I've failed at (memtest) or not tried (Windows) is surely long, though.
Ventoy is fantastic for any lower-volume imaging needs I have, of course.
I tried iVnetoy on both Windows and Linux, on Windows I couldn't get it working (don't know why, maybe a firewall issue?), but on Linux it worked flawlessly, and the injection features are also great
Ventoy and iVentoy are separate products. I have not tried iVentoy -- I have no real need for it -- but I can attest to the USB-key tool's simplicity and utility. I suspect the netboot one will be comparably good.
> Deepin is a distribution developed in Wuhan, China by Deepin Technology. Its homepage proclaims it "the top Linux distribution from China" ... The extensive EULA is uncommon for the Linux space, and the privacy policy goes into some detail about the types of information they collect – not just browser history, but information on when you use your computer and the applications installed on your system.
> Deepin Technology said today it is now a wholly-owned subsidiary of Union Tech ... developed a new UOS product ... The UOS preparatory group was voluntarily initiated by a number of domestic operating system core companies. Its members include China Electronics Group (CEC), Wuhan Shenzhidu Technology Co., Ltd., Nanjing Chengmai Technology, and ZTE New Fulcrum ... It has set up a headquarters in Beijing and established branches in Shanghai, Guangzhou, Wuhan, Nanjing, Xi'an, Chengdu and other places.
> It supports hundreds of distros and dozens of OSes.
Indeed, so why is Deepin the only distro worthy of a "Friendly Link" on the Ventoy home page? Are they a sponsor of the project? Code contributor? Preferred demo platform?
It is one of the major distros, with millions of users, and yet there is very little knowledge of it in the West. Its commercial upstream claims to have over 3 million paid users:
I suspect that in plain old user numbers it is up there with Debian, Ubuntu and CentOS, and yet you rarely even hear it mentioned in the same breath. Nor is its desktop, DDE, which is FOSS and is supported in Fedora, openSUSE and has its own Ubuntu remix.
Having a single thumb drive with multiple ISOs on it means you don't have to keep juggling thumb drives ("now where did I put my Debian 12 XFCE installer") or overwriting them over and over ("oh no, this has the 64-bit ISO, but now I need the 32-bit installer").
There is dedicated hardware to emulate optical drives, e.g. Korean IODD sells SSD enclosures to emulate up to 4 virtual optical drives in parallel, mapped to ISOs or VHDs. As a standalone device, this keeps untrusted emulation code away from the system CPU. The output of that untrusted code could be verified, e.g. by hashing the emulated ISO.
Indeed, many of Ventoy's magic come from GRUB2, Ventoy just wins in ease of use by autodetecting whatever's tossed onto the drive without manually editing the boot menu.
I have an external nvme with many iso's running ventoy and it's become an absolute staple. I even engraved 'ventoy' on it with a hand engraver so there's never any doubt.
Useful for more than installs too, I have live distros with things like memtest, gparted and clonezilla, which really simplifies little one-off fixes.
There are Thunderbolt based drive enclosures, but the reasonably priced ones are all based on one of a handful of USB to NVMe bridge chips. You usually get a 10Gbps link, so nowhere near the speed the NVMe drive inside is capable of, but about twice the performance of SATA-based USB drives or the fastest that use a USB-native SSD controller. Compared to a typical USB thumb drive, performance is night and day, especially for writes and random access.
Something like this tool-less Sabrent NVMe enclosure ($30 https://a.co/d/2JOZsHn) paired with an inexpensive M.2 SSD.
Not sure how gracefully the enclosure downgrades to USB 2.0 speeds, but it's very handy and very fast.
The SSD doesn't need to be fancy. It's overall bigger than a typical thumb drive, but much more reliable and the SSD can be easily swapped out. The detachable USB C cable on the enclosure is also very convenient.
Nvme to usb enclosures can work great, but can also be dodgy to work with. I personally find SATA enclosures more reliable overall, as they are less demanding
There are a few issues at play:
1. Power supply issues: the power demands of your mix of enclosure and drive may not be satisfied by your USB port(s), which can vary wildly in capability, and over time.
2. The controller within the enclosure can overheat under load. This seems to happen across many enclosures I’ve tried. Larger enclosures may allow for attaching a tiny heatsink.
3. NVMe drives may not gracefully handle sudden disconnections. USB connections are inherently unreliable interfaces prone to physical disruption and loss of power, which will multiply against any normally hidden non-resiliance in the nvme drive.
If your drive decides to stop showing up, first try loading up the boot device selection screen in the UEFI, and then insert the drive. It may take several seconds to show up. If trying that a few times doesn’t work, the drive may be stuck in some kind of bad state. You may be able to recover from this with the unfortunately poorly known power cycle technique https://dfarq.homeip.net/fix-dead-ssd/
The technique summarized is:
1. Connect to power (not data) only. Alternatively letting the drive sit at bios setup screen also seems to work. Turn on the power and leave the power on for 30 minutes.
2. After 30 minutes, power down or pull the power cable.
3. Wait 30 seconds, then restore power.
4. Let the drive sit powered on for another 30 minutes.
5. Power down again, then wait 30 seconds.
Always set up automatic backups if you actually have non-replaceable data on the drive. They can and will just suddenly die forever with loss of all data, just like thumb drives. You have been warned.
All that said, there are generally less issues if you are simply putting ventoy on it to just install an OS from an iso.
I have a dual raid1 sata enclosure that I use to boot a windows to go install created with Rufus (https://github.com/pbatard/rufus), which makes testing and benchmarking so much nicer to deal with. I’ve even stuck games on it, and other than relative filesystem slowness it works pretty great, once I added a heatsink to the enclosure controller.
Mine is a cheapy NVME->USBC external. You do have to be a little careful with the cheap ones, USBC is a somewhat safer bet. Some of them list what chip they're using, which is what I went off of, as I wanted to be able to get full USB3 speed out of it at least.
The reason I went this route is simple really, I wanted something faster/more reliable than a flash drive. Ventoy runs fine off a cheap flash drive, but, it is faster when your device is faster.
It's one of those tools that you don't know exists and then you wonder how you did without. The ingenuity of FLOSS developers never ceases to amaze me.
This is a great tool for those of us who might have a bit of a distro hopping problem. You no longer need to do the whole song and dance with `dd` and can just copy a bunch of ISOs to a single USB drive
This is absolutely amazing. Having to clear out a usb just to boot a live image is really annoying (still need to format the usbs with it at the beginning though)
You can put whatever you want on the VENTOY drive: I made one for a friend a that had Kubuntu and Tails ISOs along with Yuzu (Nintendo Switch emulator) and a bunch of Switch games.
I didn't test Tails much (I was just trying to encourage learning linux through fun... tools) but I could boot into Kubuntu and play the included Switch games. It even worked with a cheap/generic Switch Pro-like controller without any extra setup required other than to tell Yuzu to use it.
Essentially it was an instant boot-on-anything Nintendo Switch emulator thumb drive (it was one of the tinier varieties too). Tape that drive to the back of a $20 Switch Pro-like controller and it's a fantastic Christmas gift
Yes- it formats the USB when you install Ventoy (to add an EFI partition) but after that you can put other files on it in addition to the ISOs. It will only show the ISOs in the boot menu and ignore the other files.
Is there any option to set a default ISO to boot? Without having to select a file manually. I keep juggling between different OSes on raspberry pies and it’s a pain to reformat drive again and again. But sometimes i do want it to boot headless.
You can also have it leave extra space at the end of the device. I create a new partition there and format it with ab EXT4 filesystem. At one time (I think) Windows could not deal with the extra partition but Linux does just fine.
Good to know! I haven't looked into the configuration at all, just been using it as-installed since hearing about it a little over a year ago. (Thanks, Late Night Linux!)
Why not dual boot any Linux for that? If you use Windows. Coz if it run Linux, you’re fine, you can just load another kernel of your is happened to break after the update.
The goal is to have full ISOs, for Ubuntu, Windows 11 etc with the minimal number of partitions and files, for easy maintenance and imaging to other computers
A few ISO + a UEFI entry to select them is much simpler: the ISO file will never change. It can not be rended unbootable by mistake
Sounds like not a bad idea for the tool, but very niche.
Theoretically, something similar can be achieved with a read-only partition, or a read-only installation (e.g. Fedora Silverblue). I won’t argue that may include more competency than just throwing some ISOs at the partition. But for me, that feels like a more comfortable way of having a rescue system at hand. I have an Arch installation USB for the same reasons, to save my Arch installation if anything happens. I had been thinking of creating a separate USB with Arch installed, but I’m not sure it’s needed. As in reality all of my maintenances were to boot, chroot and update or downgrade some things. In case I need a GUI, I use a Fedora installation. I assume your scenario is more like that.
I recently needed to install Linux onto two new systems, and the process has somehow gotten even more infuriating since I last purchased hardware about five years ago. Between Secure Boot, UEFI, the Windows Boot Loader, "self-healing BIOS" (aka, "huh, you tried to boot something other than Windows, lemme just revert all those BIOS settings for you..."), and either crippled or inscrutably complex BIOS, I was dead in the water with the install process for several hours on each device.
Ventoy saved my bacon. One of the problems I was encountering turned out to be that one of the BIOSes wasn't recognizing the standard Debian ISO (any of them) as bootable, but it did recognize Ventoy. The other device ultimately refused to boot anything other than either Windows or Ubuntu (hard-locking on kernel load), but Ventoy at least made it easier to trial-and-error my way to that conclusion.
I flatly refuse to purchase a mass-market computer ever again. Everything from this point forward is either going to be custom built or purchased from a vendor with explicit Linux support.
Just FYI, Windows Boot Manager (and also its predecessor NTLDR) can chainload into any other bootloader including GRUB. Originally intended to support dualbooting Windows NT with Windows 9x, it's actually quite handy and reliable.
>I flatly refuse to purchase a mass-market computer ever again.
There's your problem. "Big box" store-bought computers have motherboards that are locked down and devoid of most advanced features.
The TL;DR is you dump a bootloader (eg: the 446 bytes of GRUB that would reside in a Master Boot Record) into a Windows-accessible file and then add a selection to Windows Boot Manager (or NTLDR) that points to that file. It will then happily execute whatever is there, such as GRUB or the Windows 9x bootloader, and hand over control.
Yes, this means if GRUB subsequently has its own selection for Windows Boot Manager you can go and dance between the two forever. :P
Seeing as the system is booting into Windows Boot Manager first, I think it should satisfy any SecureBoot demands if you want to actually boot GRUB or something afterwards.
This works on BIOS PC's or many times on UEFI machines which Have CSM enabled.
But still have not found a way to boot Linux from Windows boot loader in plain UEFI. Where those exact 446 bytes are completely ignored.
OTOH, booting Windows from a linux UEFI bootloader is still fundamentally as easy as it was a few years ago once the Linux community had legitimately acquired microsoft-signed bootloader shims. Except since then these specific Microsoft-signed keys "became" compromised, and are presently in the process of being blacklisted[0].
"Early-adopters" were expected to manually update their motherboards along the lines published here:
Take a close look at the FAQ and Troubleshooting sections at the bottom of this article. And these are focused on potential problems with Windows itself. For Linux you need to interpret this information yourself.
Which is also the article where the expected deployment staging schedule shows that the blacklisting process will eventually be complete no sooner than October 8, 2024.
As time draws near, anyone who has not manually taken action will have their original keys be corrected in stages by being silently autoreplaced by spares. This autoreplacement seems to be occurring recently while running updated Windows 10 & 11 installs.
Looks like a new executable, SecureBootEncodeUEFI.exe, was downloaded during an update, and has been reaching the designated spawning date for many users:
I saw the CMD popup while I was running an updated W10 on an especially slow PC.
According to the calendar, this is a really drawn-out process, and until it's over[1] we will remain in a transition period where you never know which keys you need to have on your media in order for it to boot on any one particular motherboard.
>Fix will eventually render all kinds of older Windows boot media unbootable.
Not only "old" Windows boot media, Linux boot media is a target that can not be considered merely "collateral damage".
[1] It will only be completely over once all UEFI PC motherboards in existence have been updated to perfection. Well, really after that only once all UEFI-bootable media has been corrected to match perfectly as well. Haven't seen any articles on how this is supposed to be accomplished though . . .
Could very well be some subtle encouragement to discard all old media for some reason.
> But still have not found a way to boot Linux from Windows boot loader in plain UEFI. Where those exact 446 bytes are completely ignored.
That's exactly what I'm looking for: chainloading from bootmgfw by adding entries with bcdedit: this is because winload.exe loads the kernel (ntoskrnl) by reading the BCD, so maybe it's possible to make it load a linux kernel, or to replace winload.exe by something that will (you can revert that with `bcdedit /set {default} path \windows\system32\boot\winload.exe`)
while I don't have any of those machines readily available, i am curious if this USB image [1] would work. It's a lightly customized Alpine which can be written to a flashdrive using either Rufus, usbimager, or this command: xz -dkc <asm.usb.xz >/dev/sdi
the image was built using this repo [2] and this command: ./build.sh -i dl/alpine-standard-3.19.0-x86_64.iso -p min -s 0.3
Would've been happy to try this, but this device has already been shipped to the recipient. FWIW the consensus was that Secure Boot on the Inspiron was still partially active, even after disabling it in BIOS. If this image is capable of running with Secure Boot enabled, then it should work. If it requires disabling Secure Boot, then it probably wouldn't.
In that case we probably have the answer already :) The next question then would have been whether secureboot-signing it yourself and replacing the PK/DB in the BIOS would have made it work, but it's really unfortunate that we've gotten to this point.
Yeah. I was genuinely surprised at how hostile the process has become. These were the most difficult installs I've ever had by far, and for entirely different reasons than in the past. Contrary to past installs, once I finally got the OS on there, everything else worked better than expected.
Here we go again: Leave that damn windows bootloader alone. Create new partition for the new bootloader, set it as default boot partition. When booting choose "Windows boot mgr" in GRUB (may need to run osprober), it'll work fine. This way windows can keep it's bootloader healthy, and you can boot to both OSes.
Appreciate the advice, but I have no interest in booting Windows and would rather not keep its boot loader. On the exceedingly rare occasion that I need Windows for something, a VM is far more convenient than a reboot.
I do, but that requires either successfully booting something else or pulling the drive. Manufacturers are making it incrementally harder to successfully boot something else. Pulling the drive is still an option, but it turned out that I didn't have the right NVME adapter and one wasn't available locally, and in any case, if you do that and still can't get it to boot, then you have to have a backup image of the drive or you're really SOL. If the device still boots Windows in any condition, I can still return it to the retailer as a plan Z.
I'm afraid I'm totally lost. Do you not just plug in a USB drive with a Linux ISO, hit the key combo for the boot menu, and boot off the USB? Maybe you need to disable secure boot in the BIOS/UEFI, but that's about it, no?
I know Ventoy has been around for a while, but I'm still glad we have a good FOSS solution for this. Back in the day, I used to run a proprietary (I think) tool called SARDU for the job, which worked fine, but wasn't terrific.
Very practical for IT work or if you just want to put all of your useful ISOs somewhere like a large USB stick. You can have your Win/AV/Rescue/Linux/Memory testing and other tools together and just boot whatever you need without struggling with writing images and repeating the boot process while smashing your keys. The only machines that this didn't work for me were from the Windows XP era. Didn't have any compatibility issues with ISOs!
This is what I use most often these days for loading any system with a Linux install (or to test drive distros it's an awesome tool).
I have found some hardware seems to have weird issues with drives of a certain size (I tried using a 256GB external SSD and have encountered a laptop that will not boot from it, and will only boot from USB storage if it's like 32GB or lower or something weird like that). But that appears to be a particular quirk of that laptop and nothing to do with Ventoy in particular.
Echoing the praise here. I just install this on all the USB storage devices I have. If I have ISOs on it, now I can boot. Otherwise I can use them as regular USB storage.
1. I have servers in the basement with a KVM switch and Idrac. I always keep a usb stick with Easy2boot and Ventoy on it plugged into my servers, and often my desktops, so I can fix stuff offline, or even totally wipe the OS. Plop a live CD (Sergei Strelec) on there, and you can copy isos on there from the network. It's awesome.
It may have evolved since I last used it. But when I tried, it was a bit of a "bag of spanners", thrown together shell scripts which made some incorrect assumptions. Back then it didn't even make a bootable device. Everyone seems to rave about it now though, so may be worth another look.
I had an old version of ventoy and it worked flawlessly for a long time. Recently it had some problems with booting an EndeavourOS iso, I updated it and that fixed the issue. Updating was just downloading fresh installer and clicking a button. For me it has always been solid, the UX of just copying over the iso and still being able to store random crap is perfect.
As an alternative, I've been using an IODD 2541 for making virtual ISOs and USB sticks bootable. Put any SSD into the box, copy ISOs or other formats to the drive. Selection is from a small LCD panel on the front.
I'd say it's one of my most essential pieces of kit that I take with me.
Unsure about the model 2541 which seems overly complicated. I have been using an iODD 2531 for 10+ years for bare metal & physical boxes. It's a USB hardware based virtual optical media drive enclosure for a 2.5" SATA drive that just works. Also, iodd's website isn't reachable by me so I can't see if there have been any recent firmware updates.[0]
Is source code available yet? I ask because I suggested using Ventoy at $WORK and the Security folks shot me down because it's apparently from an a$ian country so we wanna be able to convince ourselves it's not gonna end up just being an extremely flexible trojan...
Also, look at iVentoy. It's not free but it's not expensive, and it is "Ventoy over PXE boot". It takes a bit to set up, but I have it running on a Linux box and I can boot any machine from any image.
I miss pxe. Feels like all of our tools got more complicated for managing servers but for very little gain. Pxe is one of those good simple tools that we need to get back to.
switched to using only one large pen drive with all my ISO with ventoy and never looked back. worked well even with windows.
there were some challenges, especiall with UEFI with some devices. but there are workarounds documented in the tool's website. it is like a one-time thing per device, but you do have to trust random keys off the internet.
it is well worth the hassle of extra keystrokes to get to the boot menu. i just wish there was a way to bypass grub menu for every iso where it applies.
I'm blown away by how easy this makes having a boot drive for multiple operating systems while also letting the thumb drive work normally as a data storage medium
Another plus is Ventoy can install Windows 11 without secure boot, TPM from an official MS ISO. Some Linux distros cannot install with those features enabled.
There are hardware disk enclosures that emulate an optical drive over USB and booting works on hardware level with "physical" optical drive.
But how ventoy achieve systems booting and detecting the iso programmatically? I know that initially, there seems to be grub2 reading usb file list and then it reads iso eltorito boot image and boots from it, but how exactly the OS itself know about the virtual drive? Is there an interface in uefi or bios that allow emulate optical drive, or some other standard is at play and operating systems just happens to support it? Window 10/11 pe / installer, for example, reports the iso in diskpart as virtual disk. Not an optical drive. Windows kernel actually mounts the iso somehow automatically.
Can someone point me on how this actually works, please.
I have the Gandalf rescue ISO[0] on this, among many other ISOs I use incase I need to repair/rescue or install stuff. My Ventoy setup is a veritable 'Swiss army knife' for general IT related things. The Gandalf Windows preinstalled environment has all this bundled with it, if anyone's interested:
Tools/Utilities included on this Windows PE:
AoMei Partition Assistant: Partitioning solution
WinRAR: Powerful archiver and archive manager
7-Zip: Archiver and archive manager
Defraggler: Disk Defragmenter
MS Paint and Wordpad: Microsoft’s basic image and text editors
Macrium Reflect: Backup and disk imaging solution
CCleaner: System optimization, privacy and cleaning tool
Media Player Classic: Classic Windows media player
HWiNFO: Hardware information and diagnostic tool
Snipping Tool: Screen capture application.
Windows Defender: Microsoft’s excellent antivirus app
TeamViewer: Remote control solution
Double Drive: Driver backup application
Winmerge: File comparison tool
Opera: Web Browser, Fast, simple and safe way to get around on the web
GetRight: Download manager
Ntpwedit: Change or remove passwords for local system accounts
Partition Wizard
Virtual Keyboard
Virtual Magnifying Glass
DiskCryptor: Disk encryption application similar to Bitlocker
Bitlocker: Microsoft’s disk encryption application
Powershell: Powerful automation tool is both a shell and a scripting language
UltraISO: Directly edit ISO files, make images from CD/DVD-ROM
Unlocker: Unlocker helps delete locked files with error messages
Gimagex: A graphical user interface for the ImageX tool
SuperAntiSpyWare: Free Malware Remover
Magic Jelly Bean Key Finder: A utility that retrieves your Product Keys
HiJackThis: Spot home page hijackers and startup programs
Ghost: The classic imaging tool
Skype: Provides video chat and voice calls
VNC Viewer: Remote Control Software
Sysinternal Suite Troubleshooting Utilities
VLC Media Player: Open-source cross-platform multimedia player
IrfanView Image Viewer
FastStone Image Viewer: User-friendly image browser, converter and editor
Mozilla FireFox: Another great browser
Easy BCD: Boot management tool and bcd editor
Snipping Tool: Take snapshots
Drive Snapshot: Disk imaging solution
MyLan Viewer: Network/IP Scanner
Rufus: Utility to format and create bootable USB flash drives
Wise Data Recovery: Recovery program to get back deleted photos, documents, etc.
WinToolkit: Customize Your Windows Installation
ImgBurn: CD burning tool
Treesize: Quickly Scan Directory Sizes and Find Space Hogs
Klite Codec Pack Basic
RecoverKeys: Retrieves your Product Keys
Remote Desktop: Latest version of Windows remote desktop
DismGui: Dism with a graphical interface
Klite Codec Pack Basic
Google Chrome: Great Browser
Powershell: Automation scripting
I wrote about it here: https://www.theregister.com/2021/12/10/friday_foss_fest/
Now there's a PXE network-boot version too.
https://www.iventoy.com/en/index.html