First, be aware that Windows 8 uses various tricks to reduce boot time. One of these is to turn shutdown operations into suspend-to-disk actions, which enables faster startup. The problem with this is that filesystems are left in an unclean state; only Windows (indeed, only the specific instance of Windows that was most recently "shut down") can safely access the filesystem. Dual-booting in such a configuration is unsafe, since the EFI System Partition (ESP), which holds boot loaders, is affected. It gets worse if you try to access the Windows partition or any shared data partition from Linux. To safely manage a dual boot of Windows 8 or later and Linux, you must disable this "fast startup" feature, as described here (among many other places).
Second, you can boot a BIOS-mode Linux installation by setting up an EFI-mode boot loader. In the case of your installation on a flash drive, you can either:
- Create an EFI System Partition (ESP) on your flash drive and install whatever EFI boot loader you like on there as
EFI/BOOT/bootx64.efi. You'll then need to use your firmware's built-in boot manager to select the USB flash drive to boot, much as you'd do if you wanted to run an Ubuntu installer.
- Install your EFI boot loader of choice on the hard disk's ESP. You'll have to configure it to boot the kernel from the USB flash drive, or at least to boot a kernel from the hard disk's ESP and use the USB flash drive's root (
The first approach makes your USB flash drive installation easily portable to other systems but may be a little more hassle to use. The second approach means you won't have to monkey with the firmware's boot manager, but you'll be altering your boot path even when you want to boot Windows, which will slightly slow things down.