I find the variety of ISO-to-USB "burning" tools a bit baffling. Each seems to have its own slightly different approach to the problem, which vary from more of a DD-style direct copy (which wipes any existing contents and results in read only iso9660-formatted USB media) to mounting the ISO on loopback, copying the files, and doing bootloader installation as a post-copy step.
So far I've played with Etcher, UNetbootin, Rufus, and Ubuntu's Startup Disk Creator. I'm really looking for a solution that's consistent and cross-platform, and it's been particularly frustrating that both Etcher and UNetbootin seem to be able to create bootable media in their Mac versions but then not from Linux (either in a VM or a native machine)— like, they'll appear to succeed, but the end result simply won't boot.
In any case, to back the discussion up a little bit, this is my current method for creating the supposedly bootable ISO file:
- Download and unpack latest syslinux from
- Download netboot
mkisofs -D -V "My App" -r -quiet -o path/to/result.iso -J -l -b syslinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table file1.txt file2.txt file3.txt ...
- The resulting ISO file (including without the final
isohybrid.plstep) can be mounted and booted as a CD-ROM under Parallels.
- If I burn it to physical USB with Etcher, the result is mountable as iso9660, but does not seem to be bootable on my target AMD64 systems (yes, in "legacy" mode).
- Without the
isohybrid.plstep, Etcher refused to try burning to physical USB.
- If I burn it to physical USB with UNetbootin under Mac OS, I get a bootable result, but if I do it with the same version of UNetbootin under Linux, the result is non-bootable.
- The only tool that consistently works is Rufus, but it is Windows-only and so inconvenient for many of my users.
I'm hopeful that some others out there have run into these issues and have ideas for what is going wrong or a workable method— if it ends up having to be a command line or Linux-only solution, that is acceptable to me, although obviously not ideal. I'm also open to moving on from Syslinux to Grub or some other solution with EFI support, if that will make things easier.
With tools like Etcher out there, it seems certain that there's a way to create a bootable ISO that can be conveniently burned from any of the supported OSes.