I was having this same problem trying to install a Windows 10 ISO with any of several USB drives (16 and 32GB) on a Surface Pro 4 (which unfortunately has only one USB port, a USB 3 one, ruling out @wei-shi's answer).
The solution in my case was rather than copying the ISO straight to the drive, instead to create a 5GB FAT32 partition on there, mark it bootable, then copy the files from the ISO into that. This booted perfectly and the installer finally made it to the next screen.
On Linux this can be done roughly as follows:
sudo fdisk -l # to figure out which connected drive is which
sudo fdisk /dev/sdb # assuming "/dev/sdb" is the USB drive
# You're now using fdisk, which has its own interactive interface.
# It will create a partition on the USB drive for you to use as a FAT32 filesystem.
# Type the following single-letter commands to go through the process:
(m for help)
o to clear out the partition table for a new empty one
n for new partition
(follow steps, [enter] for default position, size "+5G")
l for see possible types
t for set type
(probably "b" for Win95 NTFS)
a for mark as bootable
w to write the partition table to the drive and quit
q if it does not quit automatically after w
# Now you should be back in your normal command shell with a prompt like "$" rather than "Command (m for help):"
# Format the newly-created partition with a Windows FAT32 filesystem
sudo mkfs.fat -F 32 /dev/sdb1
# Create directories, and mount the ISO and the FAT32 filesystem to them
sudo mkdir /mnt/usb /mnt/iso
sudo mount /dev/sdb1 /mnt/usb
sudo mount -o loop ~/path/to/windows.iso /mnt/iso
# Copy the installer files to the USB drive
cp /mnt/iso/* /mnt/usb # now wait...
# Eject the drive (and the ISO)
sudo umount /mnt/usb /mnt/iso # and wait some more...
# It's safe to unplug the drive when the `umount` command finishes.
There are probably easier tools to do this or ways to achieve it from a Windows installation, but it's hard to know exactly what they'll do whereas this is nice and simple, in that way at least. All I know is when I tried this method on a whim it worked.