How to create uefi bootable iso?
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:
Related videos on Youtube
muktupavels
Updated on September 18, 2022Comments
-
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 about 9 yearsSomeone 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 about 4 yearsIs it me or does the
-e
flag not exist? -
lucidbrot about 4 years
-
-
muktupavels about 9 yearsI had to install isolinux package to get isohdpfx.bin and it was under different path - /usr/lib/ISOLINUX/isohdpfx.bin. Thanks!
-
solsTiCe about 9 yearsyeah. I used that when running 14.10. You use 15.04.
-
Thomas Schmitt about 9 yearsThank 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 about 7 yearsthanks, 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 :)