If you have one of the new flash drives that appear as a hard drive and not as a removable drive it is still possible to boot from the drive if you use Linux. Below is how I made a bootable Sandisk flash drive showing as a hard drive in Ubuntu.
Download and install Unetbootin.
Plug in the flash drive and go to Disk Utility.
Format the drive as Ext4 (only recognized by linux)
Still in Disk Utility, Mount the drive
Open Unetbootin and open or download the version of Linux you want to install on the flash drive. Be sure to select “USB Drive” and check that the drive is listed, mine was /dev/sdc1.
Copy the iso to the flash drive.
Reboot and in the bios select the Sandisk drive (In my case Sandisk Cruzer) you want to boot from. That’s it, your computer should boot from the usb flash drive.
This should work with any Linux iso but I have only used it with Linux Mint so far. As for Windows you will have to ask someone else since I do not use Microsoft products.