136 – UEFI-BOOT DIRECTLY FROM UBUNTU-BASED ISO FILES

Ubuntu-based ISOs and those that contain a \boot\grub\loopback.cfg file can be easily UEFI-booted to just by copying some files, no menu is needed!

1. Format a FAT32 USB flash drive (e.g. using RMPrepUSB)

2. Make a \efi\boot directory on the flash drive

3. Copy your Ubuntu-based ISO file (must be <4GB) to the \efi\boot directory and rename it as boot.iso

4. Extract the .efi files from the UEFI_boot_from_ISO.zip file and copy them to the \efi\boot directory (see bottom of page)

FAT32 volume

  • \efi\boot\bootX64.efi
  • \efi\boot\bootIA32.efi
  • \efi\boot\boot.iso

Note: \efi\boot is lowercase and boot.iso is lowercase.

That’s it!

Now you should be able to UEFI-boot (32-bit and 64-bit) from the USB flash drive (disable Secure Boot in the BIOS options first).

To use a different Ubuntu-based ISO which should contain a \boot\grub\loopback.cfg file, simply replace the boot.iso file.

A 64-bit version of Ubuntu will not boot on a 32-bit UEFI system. Use a 32-bit Ubuntu ISO on a 32-bit UEFI system and a 64-bit UEFI ISO on a 64-bit UEFI system.

This tutorial is based on an article here, but the.efi files in my download have been patched by me to load the loopback.cfg file and so ensure reliable booting.

IN DEPTH

The .efi file contains a version of grub2 with an embedded grub menu

The grub2 variable iso_path must be set before loopback.cfg is called (and exported).

An example of a simple embedded menu which boots to the loopback.cfg file inside the boot.iso is:

  • set efi_machtype=’x86_64′
  • export efi_machtype
  • set efi_arch=’EFI64′
  • export efi_arch
  • fix_video
  • set grub2efi_intel_gma_patch=’enabled’
  • export grub2efi_intel_gma_patch
  • fakebios
  • set grub2efi_fakebios=’generic’
  • export grub2efi_fakebios
  • set boot_iso=’/efi/boot/boot.iso
  • export boot_iso
  • set iso_path=${boot_iso}
  • export iso_path
  • set real_root=${root}
  • export real_root
  • set real_prefix=${prefix}
  • export real_prefix
  • loopback loop (${real_root})${boot_iso}
  • set root=(loop)
  • set gfxpayload=keep
  • configfile /boot/grub/loopback.cfg
  • boot

A typical Ubuntu menu entry inside loopback.cfg inside boot.iso looks like this:

  • menuentry “Try Ubuntu without installing” {
  • set gfxpayload=keep
  • linux /casper/vmlinuz.efi file=/cdrom/preseed/ubuntu.seed boot=casper iso-scan/filename=${iso_path} quiet splash —
  • initrd /casper/initrd.lz
  • }

Note that no persistent parameter is specified in the loopback.cfg, so it prevents us from booting with persistence…:-(

https://drive.google.com/embeddedfolderview?id=1kE6WQW3nDOTNxPrp3jSThefueZXpwtBo

Easy2Boot (E2B) is popular multiboot USB solution that also contains agFM and Ventoy. It supports both Legacy and UEFI.
Simply copy on your bootable ISO files to the E2B USB drive and boot! Boot to DOS, Linux, Windows Install ISOs (XP>Win11),
automate Windows installs, WIM files, VHD files, images of flash drives, Linux ISO+persistence, etc.

eBooks

The following eBooks (in PDF format) are available from the developer (rated 4.5/5 stars).

Also visit Easy2Boot.xyz and the my blog – please subscribe for the latest news, tips, USB boot articles and news of free eBook updates.