I already tried to do what op wants to do, but the problem is that uefi systems need a gpt partition table, but bios systems need a msdos partition table, so I decided for uefi boot for my own USB drive because most computers support it, also my old lifebook from 2011 are capable of uefi. You may also add the autodetect hook in the mkinitcpio.conf to achieve the best compatability with all hardware types (not related to boot method). You may also install your grub with the --removable flag, so the bootloader on the stick will be auto recognized on most uefi systems. You can also play around with shim/secureboot, so you don't have to always turn of secureboot, when you try to boot on another pc. (I was not able to get this to work ).