Я не пробовал, но что если разбить флешку на несколько логических дисков, на каждый поставить ОС со своим загрузчиком, а в MBR общий загрузчик, из которого и выбирать, что запускать будем?
Думаю стоит погуглить в яндексе по слову "мультизагрузка" и сделать аналогично, как будто флешка это винт. Хотя, могу ошибаться, и возможно это не заработает.
З.Ы. И от ОСи к ОСи принцип не меняется по большому счету. Хоть ты форточки разводить будешь, хоть пингвинов, хоть и то и то вместе. Общий принцип не меняется.
Я так делал с винтами, с флешкой не было необходимости.