I have been using a rooted Android phone with DriveDroid which mounts images as a USB drive for a PC. It works pretty well too. (Except for Windows setup ISOs. Those does not support direct booting from a USB drive and I had to mount a blank image and use Rufus to properly write it as a bootable non-optical disk.)
This seems to be a fine alternative that I will have to try. The problem is that I don't really have large USB sticks for this anymore...
You can't dd them. Format a USB drive, make a fat32 or ntfs[1] partition. Extract all the files from the ISO (mount -o loop to an intermediate directory and copy the files out, 7z can also do it) onto said partition. Set the bootable and ESP (EFI System Partition flag) flags. Works like a charm every time.
(You can also try the woeusb[2] tool, but it's not doing anything fundamentally different to or better than that.)
1. Fat may be problematic; iirc install.wim is >4gb lately. But ntfs-3g is adequate if lacklustre.
I think it would only work if your UEFI firmware happen to contain a driver for reading NTFS partitions. UEFI firmwares are only required to read FAT12/FAT16/FAT32. Rufus solves this by making an extra FAT partition with a UEFI:NTFS [1] binary which loads its own NTFS driver to boot the Windows `bootmgfw` EFI binary.
That's why after all these years I am still interested in the Firmware or the hypervisor level emulation of the optical drive.
Maybe by even including the whole virtual storage controller (like Adaptec 29160N SCSI Card), OpROM on which could support boot seamlessly for most BIOS or UEFI firmwares.
And which would be supported by most PC OSes including some more obscure like MS-DOS, OpenBSD, Solaris 10, BeOS, MorphOS.
(Or maybe by trying to integrate the emulated ODD subsystem into physical USB stack. Which I guess would be a lot more difficult)
This seems to be a fine alternative that I will have to try. The problem is that I don't really have large USB sticks for this anymore...