A menos que você tenha um SETUPLDR.BIN modificado, ele não funcionará no USB.
Necessário:
SETUPLDR.BIN modificado
coisas especiais no setor de inicialização da partição (use ms-sys).
Cópia modificada de txtsetup.sif copiada para o nível raiz
NTDETECT.COM copiado para o nível raiz
O WinUSB não faz isso, o UNetBootin não faz isso, o tutorial do diskpart não faz isso, o WinToFlash não faz isso e a troca de bits iso no dispositivo com o dd não faz isso.
Rufus faz isso. No entanto, é um utilitário somente para Windows (que não é suportado pelo Wine), portanto, siga o tutorial aqui (o post principal):
/superuser/99478/make-a-bootable-usb-to-install-windows-xp-from-linux
Embora eu suponha que você possa compartilhar sua unidade de destino com o VirtualBox, passe pela primeira parte do instalador e, em vez de reiniciar, desligue a VM. Em seguida, desligue o computador e efetue o boot no disco rígido.
Eu acho que funcionaria porque o Windows não se torna específico para uma determinada configuração de hardware até a segunda fase, acredito.
Veja bem, se você fizesse toda a instalação do VirtualBox, o Windows seria configurado para a plataforma de hardware emulado do VirtualBox, não para o seu hardware real.
O método de carregar o iso inteiro na memória e inicializá-lo geralmente resulta em uma tela azul em algum momento. Se você realmente deseja fazer esse método, consulte o seguinte: http://diddy.boot-land.net/firadisk/files/win_iso_install.htm