Virtualbox can modified to boot from usb or external hdd usb with OS system in it.
Here is the command
VBoxManage internalcommands createrawvmdk -filename usb.vmdk -rawdisk /dev/sdbx
We can replace /dev/sdbx according to the mounting point of the external usb.