Chainloading Ventoy

So I wiped my Zorin OS Boot USB and 'burned' the Ventoy .ISO file to it, then downloaded the latest Zorin OS Boot USB .ISO and Windows10 PE .ISO and dropped them onto the partition for the Ventoy Boot USB.

It works, Win10 PE boots up just fine, and I was finally able to use that to update the BIOS / UEFI for my HP machine (HP only provides Windows-specific .EXE files for their BIOS updates, and I couldn't figure out how to set up the files extracted from that .EXE file manually to update BIOS / UEFI natively), and the Zorin OS .ISO boots just fine.

The problem is that I have to press F9 to change the boot order, whereas before I had it set up so the Zorin OS Boot USB showed up in the Grub menu... I'd boot the machine, the Grub menu would come up, I'd a few times to the "Zorin OS Boot USB" entry, and the boot USB would boot.

Now, however, I can't figure out how to get Ventoy to do the same.

Any ideas on how to chainload Ventoy so it shows up as an entry in the Grub menu?

This is what I've got in /etc/grub.d/40_custom right now... it doesn't work, it says "invalid EFI":

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry 'Ventoy Boot USB' {
	insmod part_gpt
	insmod ext2
	insmod fat
	insmod exfat
	insmod ntfs
	insmod chain
	chainloader +1
	search --no-floppy --set=root --fs-uuid 440A-1007 --file /grub/localboot.cfg
}

440A-1007 is the UUID of the Ventoy boot partition, as shown in sudo blkid.

The grub file can be in depending on version and how its deployed/configured. I havn't used ventoy in a bit and forget the exact configuration

/boot/grub/grub.cfg
/grub/grub.cfg
/EFI/BOOT/grub.cfg (various combos of upper and lower case folder names)
/EFI/BOOT/BOOTX64.conf
/EFI/debian/grub.cfg

2 Likes

installed Ventoy
the folder structure is
grub/grub.cfg
EFI/BOOT/
I would use chainloader to add to grub try:

menuentry 'Ventoy Boot USB' {
insmod part_gpt
insmod ext2
insmod fat
insmod exfat
insmod ntfs
insmod chain
search --no-floppy --set=root --fs-uuid 440A-1007
chainloader /EFI/BOOT/BOOTX64.efi
}

or chainloader /EFI/BOOT/grub.efi

2 Likes

Tested it out, chainloader /EFI/BOOT/BOOTX64.efi is working on my machine


1 Like

That's the ticket. Working now. Thank you.

For the backstory on this:

3 Likes

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.