Question: I have a bunch of live ISO files like [GParted](https://gparted.org/livecd.php), [CloneZilla](https://clonezilla.org/downloads.php), [Boot-Repair](https://sourceforge.net/projects/boot-repair-cd/files/), [Ubuntu 14.04 32 bit](http://releases.ubuntu.com/16.04/ubuntu-16.04.4-desktop-i386.iso), ... downloaded in `/opt` and on my old BIOS machine, I used to be able to just add them to the grub menu and boot them. **:-)**

I now have an UEFI machine and all the information I can find are for BIOS machines.

*What are the steps to boot these ISO files from grub?* 

I'm just I'm sick and tired of "burning" these to a USB stick all the time as I can never find the stick I need whereas my computer itself if much harder to loose in the total chaos around me here...) **:-(**

Answer: 
An alternative is to just add a configfile to 40\_custom like this:

```
menuentry 'Live ISOs on SSD' {
configfile (hd0,3)/ISO/livecdimage.cfg
} 

menuentry 'Live ISOs on HDD (boot on SSD)' {
configfile (hd1,3)/ISO/livecdimage.cfg
} 

```

I do this as when I update an ISO, I invariably forget to run `sudo update-grub`. The above entries never have to change and I can just edit livecdimage.cfg which has the same format as any 40\_custom but without header lines, and is in my /ISO folder in my ISO partition.

I do add toram as another boot parameter and on the system with Nvidia add nomodeset boot parameter. But still often have to unmount the /isodevice.

Unable to umount isodevice unmount ISO
<https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1155216>

```
sudo umount -l -r -f /isodevice

```

And this is part of my livecdimage.cfg file

```
# livecdimage.cfg
# Add this to 40_custom to load this file:
# menuentry 'Live ISOs' {
# configfile (hd1,3)/iso/livecdimage.cfg
#} 
# Add iso names to livecdimage.cfg
#for i in `ls *.iso`;do echo "# "$i>>livecdimage.cfg; done;

menuentry "Ubuntu 16.04.4 xenial amd64" {
    set isofile="/ISO/ubuntu-16.04.4-desktop-amd64.iso"
    loopback loop (hd0,3)$isofile 
    linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile toram
    initrd (loop)/casper/initrd.lz
}

menuentry "Ubuntu 18.04 Bionic amd64" {
    set isofile="/ISO/bionic-desktop-amd64.iso"
    loopback loop (hd0,3)$isofile 
    linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile toram
    initrd (loop)/casper/initrd.lz
}

# spacer line
menuentry " " {
set root= 
}

menuentry "Reboot" {
    reboot
}

menuentry "Halt" {
    halt
}

```
This may be the multiboot solution that you need.

<https://www.ventoy.net/en/index.html>

This bootable USB maker creates two partitions in a USB drive. One is 32MB FAT 32 EFI partition. Another one is exfat partition that is equal in size to the rest of the USB drive. You can copy any number of ISOs including Windows to either the root folder or any subfolder. You can also use this partition for normal storage.

Select this USB in the boot menu and it will show all the supported ISOs as a list to choose from. In my experience it worked for Ubuntu, Kubuntu, Mint, Clonezilla and Windows.

[![Ventoy](https://i.stack.imgur.com/DDuF2.png)](https://i.stack.imgur.com/DDuF2.png)