A menos que você tenha um SETUPLDR.BIN modificado, ele não funcionará diretamente do USB.
Needed:
Modified SETUPLDR.BIN
special stuff in the bootsector of the partition (use ms-sys).
Modified copy of txtsetup.sif copied to the root level
NTDETECT.COM copied to root level
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 o bit-banging do iso no dispositivo com o dd não faz isso.
Rufus faz isso. No entanto, é um utilitário somente do Windows (que não é suportado pelo Wine), então siga o tutorial aqui (o grande post):
Você também pode tentar usar o QEMU ou o VirtualBox onde você realmente faz um dos discos rígidos da VM ser seu disco rígido de destino real, e simplesmente fazer o hipervisor inicializar como um CD (emulação de hardware real, não emulação de disco do BIOS que Grub4DOS sim Sim, um "falso real" em oposição a um "fake falso".). Apenas observe que você precisará criar um segundo perfil de hardware, porque o Windows se configura para uma configuração de hardware específica durante a primeira parte da instalação, e a plataforma de hardware conjurada pelo hipervisor não é igual à sua plataforma de hardware real. Não tenho certeza se isso funcionaria. Eu recomendo imitar Rufus.
O método de carregar todo o iso na memória e inicializar normalmente resulta em uma tela azul em algum momento. Firadisk pára essa tela azul. Se você realmente quiser fazer esse método, veja isto: link
Editar: Experimente o Multisystem (um aplicativo do Linux) para fazer uma unidade USB inicializar no instalador do XP. Ele funciona, no entanto, ele usa o método de carregar o iso inteiro na memória em conjunto com o Firadisk, como o link acima discute.
Pessoalmente, acho que a solução específica do Multisystem para criar um instalador do USB XP é indesejável. Eu tive que instalar o xterm e executar um script de instalação que baixou um monte de coisas. A unidade USB resultante de mim apenas informando ao Multisystem para torná-lo inicializável a partir de uma instalação do XP inclui o Grub2, o Syslinux, o Grub4DOS, um iso inicializável do Grub2, coisas do Plop e várias entradas de menu. Você tem que saber para acertar "Grub4DOS" no primeiro menu, o menu Grub2, para obter a opção de instalar o XP. Você pensaria que se essa é a única coisa que eu quero inicializá-lo, instalação do XP seria no primeiro menu (sim, eu sei, não é possível com o método Grub4DOS, mas como sobre uma nota no menu?). Além disso, ele tem que carregar todo o iso na memória, o que leva a RAM e o tempo. (E se o sistema não tiver RAM suficiente?)
E o Multisystem insiste em instalar o Grub2 toda vez que você o usar com um pen drive (mesmo que já esteja instalado) e até mesmo queira redimensionar a partição do meu pen drive. E coloca um monte de extras lá.
Observação: deve instalar o Firadisk na guia não-livre para que ele possa fazer um instalador do USB XP. Um howto que eu li dizia também para instalar o Plop para criar um instalador do USB XP, mas não vejo como isso é necessário.
Outra Nota: você deve inicializar na segunda fase do instalador do XP com a opção de menu Grub4DOS para carregar novamente o iso na memória, que ainda é necessária na segunda fase. (Ao contrário de apenas iniciar o disco rígido alvo) Ou seja, se você for para o método iso + Firadisk RAM'ed.
Eu recomendo imitar o que Rufus faz. Basta copiar os arquivos e fazer alguns ajustes.
Jake