Linux ISOs such as Fedora, Ubuntu, Gparted, etc. are designed to boot in either UEFI or legacy mode when burned on a CD or raw-written to a USB flash drive using dd. When you press one of the F-keys (F8 for ASUS MBs), the boot medium appears twice if the hardware is UEFI and once if it is legacy. If the usb is Corsair brand, the screen will show UEFI - Corsair and Corsair for UEFI hardware and just Corsair for legacy.

So how to achieve this without using dd? Easy2boot works very well and has the advantage of also booting windows ISOs. However, easy2boot requires three reboots, one to set up the ISO, another to choose the boot mode, and a third to reset the USB stick. It also requires write access to the stick and works best if the ISO < 4GiB, since it uses VFAT. Some ISOs are around 4.5 GiB. This is not a problem for windows ISOs. They can be split into two. I use easy2boot to install windows 10.

If you are only interested in booting and installing Linux ISOs, the following method should work for you. Only root has write access to the stick.

1. Use gdisk to make a GPT label on the usb. If there is a previous MBR label, delete it. Then make three partitions, the first /dev/sdb1 of type EF02 (bios_boot layer) and size ~ 100 MiB, the second, /dev/sdb2, is an ESP of type EF00 and size ~ 200 MiB. The third, /dev/sdb3, of type 8300 takes up the remaining space. All of this can be done using GParted. But gdisk is faster.

2. Format the ESP
Code:
 mkfs.vfat -F32 /dev/sdb2
3. Format the linux partition
Code:
mke2fs -t ext4 -L "label" /dev/sdb3
4. Mount the ESP and make a boot directory. Make sure nothing else is mounted at /mnt.
Code:
mount /dev/sdb2 /mnt
mkdir -p /mnt/boot
5. Install grub-efi on the usb
Code:
grub2-install --target x86_64-efi  --efi-directory /mnt --boot-directory /mnt/boot --removable
6. You will need a grub.cfg file. This goes in the directory /mnt/EFI/BOOT. I will attach a sample grub.cfg.efi below. You will also need the UUID of /dev/sdb3. Obtain using
Code:
blkid /dev/sdb3
7. Unmount the ESP. Mount the ext4 partition and make a boot directory.
Code:
umount /dev/sdb2
mount /dev/sdb3 /mnt
mkdir -p /mnt/boot
8. Install grub legacy on the USB
Code:
grub2-install --no-floppy --target i386-pc  --boot-directory /mnt/boot /dev/sdb
9. You need a second grub.cfg file. This goes in the ext4 partition under /mnt/boot/grub2.

10. Copy all of your ISO files, Fedora, Ubuntu, Arch, GParted, Slack, etc. at the top level of the ext4 partition. Then unmount the ext4 partition, here, /dev/sdb3.

11. Note that you need two grub.cfg files in separate locations, one for UEFI and the other for legacy. The two cfg files are identical, except for two lines in the preamble. You can use identical files if you wish. However, when you boot in legacy mode, you will get a screen warning, but it will still work.

12. You have to make the grub.cfg files yourself. You can use the ones contained in the ISOs as a guide. You can slso use this link

13. The method I use is /dev/disk/by-uuid, so you will need the UUID of the ext4 partition that contains the ISOs. This web site will not let me upload a sample grub.cfg, so here is a small section of it. You can use similar code blocks to add Ubuntu, Slack, Arch, manjaro, etc. When you boot this stick, you should see two options on the screen if your MB is UEFI and one option if legacy.
Code:
set default="0"

function load_video {
  insmod efi_gop
  insmod efi_uga
  insmod video_bochs
  insmod video_fb
  insmod video_cirrus
  insmod all_video
}

load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2

set timeout=10
### END /etc/grub.d/00_header ###

search --no-floppy --set=root -l 'Fedora-Live-Xfce-x86_64-22-3'

### BEGIN /etc/grub.d/10_linux ###

submenu 'Fedora -->' {
set default="1"
set isolabel="Fedora-Live-Xfce-x86_64-22-3"
set isofile="/$isolabel.iso"
menuentry 'Test this media & start Fedora Live' --class fedora --class gnu-linux --class gnu --class os {
	search --no-floppy --fs-uuid --set=root d44c3b61-8879-412d-bae3-4c937c068db6
	  loopback loop $isofile
	  set root=loop
	  linux /isolinux/vmlinuz0 root=live:LABEL=$isolabel iso-scan/filename=$isofile ro rd.live.image quiet  rhgb rd.live.check
	  initrd /isolinux/initrd0.img
}
menuentry 'Start Fedora Live' --class fedora --class gnu-linux --class gnu --class os {
	search --no-floppy --fs-uuid --set=root d44c3b61-8879-412d-bae3-4c937c068db6
	  loopback loop $isofile
	  set root=loop
	  linux /isolinux/vmlinuz0 root=live:LABEL=$isolabel iso-scan/filename=$isofile ro rd.live.image quiet  rhgb 
	  initrd /isolinux/initrd0.img
}
submenu 'Troubleshooting -->' {
menuentry 'Start Fedora Live in basic graphics mode' --class fedora --class gnu-linux --class gnu --class os {
	search --no-floppy --fs-uuid --set=root d44c3b61-8879-412d-bae3-4c937c068db6
	  loopback loop $isofile
	  set root=loop
	  linux /fedora/vmlinuz0 root=live:LABEL=$isolabel iso-scan/filename=$isofile ro rd.live.image quiet  rhgb nomodeset
	  initrd /fedora/initrd0.img
}
}
}

submenu 'GParted -->' {
set default="1"
set isofile='/gparted-live-0.22.0-2-amd64.iso'
menuentry 'Boot GParted Live to RAM -- medium can be removed' --class gparted --class gnu-linux --class os {
	search --no-floppy --fs-uuid --set=root d44c3b61-8879-412d-bae3-4c937c068db6
	   loopback loop $isofile
	   set root=loop
	   linux /live/vmlinuz boot=live username=user config components quiet noswap noeject  toram=filesystem.squashfs ip=  nosplash findiso=$isofile
	   initrd /live/initrd.img
}
}