How to create uefi bootable iso?

31,808

Solution 1

You could use xorriso. I don't remember why but I think this is not possible with mkisofs.

Try:

xorriso -as mkisofs \
  -isohybrid-mbr /usr/lib/syslinux/mbr/isohdpfx.bin \
  -c isolinux/boot.cat \
  -b isolinux/isolinux.bin \
  -no-emul-boot \
  -boot-load-size 4 \
  -boot-info-table \
  -eltorito-alt-boot \
  -e boot/grub/efi.img \
  -no-emul-boot \
  -isohybrid-gpt-basdat \
  -o /path/to/tmp.iso \
  /path/to/tmp

This will produce an hybrid MBR/EFI iso

http://www.syslinux.org/wiki/index.php/Isohybrid

Solution 2

You can create a small (2,8 MB floppy) UEFI disc with:

mkfs.msdos -C /tmp/uefi.iso 2880
sudo mount /tmp/uefi.iso /mnt
sudo cp /tmp/your_uefi_files/* /mnt/
sudo umount /mnt

Then reboot your system, press ESC or F10 or F11 and choose UEFI shell. To switch to the UEFI filesystem type:

fs0:
Share:
31,808

Related videos on Youtube

muktupavels
Author by

muktupavels

Updated on September 18, 2022

Comments

  • muktupavels
    muktupavels almost 2 years

    I am trying to customize ubuntu-14.04.2-server-amd64.iso, but I am unable to make it uefi bootable.

    First I tried with original iso file:

    dd if=/path/to/iso/ubuntu-14.04.2-server-amd64.iso of=/dev/sdc bs=16M
    

    Everything is good at this point - I can boot flash in UEFI.

    I have extracted iso content to /path/to/tmp folder and then I am trying to re-create iso (right now unmodified), but new iso does not work with uefi.

    I am re-creating iso with this command:

    mkisofs -r -V "Custom Ubuntu Install CD" -cache-inodes \
            -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat \
            -no-emul-boot -boot-load-size 4 -boot-info-table \
            -eltorito-alt-boot -e boot/grub/efi.img -no-emul-boot \
            -o /path/to/tmp.iso /path/to/tmp
    

    Then I am using same dd command to put new iso on usb. What is right command to make it uefi bootable?

    • oldfred
      oldfred about 9 years
      Someone posted in another thread. If UEFI only, then can just extract ISO with 7-zip (or any extraction tool) to FAT32 formatted drive. Will not boot in BIOS mode
    • lucidbrot
      lucidbrot about 4 years
      Is it me or does the -e flag not exist?
    • lucidbrot
      lucidbrot about 4 years
      It seems like the -e flag stands for -eltorito-boot on fedora. Source: Syslinux Wiki
  • muktupavels
    muktupavels about 9 years
    I had to install isolinux package to get isohdpfx.bin and it was under different path - /usr/lib/ISOLINUX/isohdpfx.bin. Thanks!
  • solsTiCe
    solsTiCe about 9 years
    yeah. I used that when running 14.10. You use 15.04.
  • Thomas Schmitt
    Thomas Schmitt about 9 years
    Thank you for flying xorriso. From the SYSLINUX point of view it is safer to re-use the first 512 bytes of the ISO image as long as you do not replace the ISOLINUX files inside the ISO by files from the SYSLINUX installation. Obtain MBR template by: dd if=ubuntu-14.04.2-server-amd64.iso bs=512 count=1 of=my_isohdpfx.bin Mention it in xorriso run by: -isohybrid-mbr my_isohdpfx.bin
  • t-bltg
    t-bltg about 7 years
    thanks, this solved the issue when the iso (output of mkisofs) was booting with EFI on virtualbox, but couldn't boot on a regular flash usb with dd. using xorriso was the trick, solve the headache :)