Como afirmei na minha pergunta, quero colocar o Windows XP ISO em uma das partições do meu pendrive USB para executá-lo na inicialização para instalar o XP apenas por precaução. Depois de procurar por um tempo na net eu aprendi que não é assim tão fácil. Eu precisava extrair o XP ISO para a pasta, em seguida, aplicar o driver winvblock e editar alguns arquivos na pasta extraída e, em seguida, empacotar a pasta no ISO inicializável do XP novamente
Para inicializar a partir de CDs, é necessário que os setores de inicialização sejam detectados pelo BIOS. Um CDROM inicializável na verdade contém uma imagem de disquete. link
Quando você extrai um arquivo ISO inicializável em uma pasta, não é possível apenas agrupá-lo em um arquivo ISO ( like mkisofs -o /tmp/cd.iso /tmp/directory/
) e preservar a funcionalidade de inicialização, a menos que aplique uma correção do setor de inicialização.
mkisofs
ajuda a aplicar esse patch enquanto cria "Imagem ISO inicializável" da pasta. É possível tanto para o Windows como para o Linux.
Para o Windows XP, você precisa colocar o bootsect.bin na raiz da pasta e depois na raiz da pasta na execução do terminal:
mkisofs -b bootsect.bin -no-emul-boot -boot-load-seg 1984 -boot-load-size 4 -iso-level 2 -J -l -D -N -joliet-long -relaxed-filenames -V "WINSP" -o ../winsp.iso .
Isso é tudo. Você tem um XP.ISO inicializável
Para Linux, você precisa de isolinux.bin
e boot.cat
e emitir o comando:
mkisofs -o output.iso -b isolinux isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table CD_root
Algum tempo atrás, um cara fez uma pergunta semelhante para o Ubuntu aqui Como posso criar um iso inicializável a partir de uma iso extraída do Ubuntu 13.04?
É possível com o link
do syslinuxEu testei meu ISO XP modificado no Virtualbox, ele roda bem.