Criar pendrive (ou HD externo) bootável de instalador Windows a partir do Linux
Já passei por várias formas de fazer isso: winusb, unetbootin e outros.
A forma mais consistente que vi até agora foi esta!
UPDATE: escrevi um novo post (em inglês) com uma forma mais consistente de fazer isso. Acesse aqui!
1) Instalar GParted e GRUB:
$ sudo apt-get install gparted grub-pc-bin p7zip-full ntfs-3g
2) Utilize o gparted (ou fdisk se preferir – eu prefiro!) para refazer a tabela de partições do pendrive ou HD externo a ser utilizado. Zere a tabela de partições, criando uma nova do tipo MSDOS, adicione então uma única partição e formate-a como NTFS. Lembre-se de habilitar a flag de “bootable”.
3) Tome nota do UUID da partição que acabou de criar. É possível pegar essa informação pelo gparted. Outra forma é, via terminal, utilizar o comando “blkid”.
Digamos que nosso pendrive, neste tutorial, é o dispositivo /dev/sdc. Assim, a partição que nos interessa (que criamos no passo anterior) é a /dev/sdc1.
EXEMPLO:
$ sudo blkid /dev/sdc1
/dev/sdc1: LABEL="pendrive" UUID="" TYPE="ntfs" PARTUUID="fe10b2bb-01"
É esse valor do UUID que você deve anotar (copie/cole num bloco de notas).
4) Copie todos os arquivos da ISO do instalador Windows para o pendrive. Vou dar uma ajuda para os mais leigos, de como fazer isso no Linux. Novamente, vamos assumir que a partição NTFS de nosso pendrive é /dev/sdc1 e que a nossa ISO do Windows está em /home/ricardo/Downloads/win8.iso.
$ sudo mkdir -p /mnt/{pendrive,iso}
$ sudo mount /dev/sdc1 /mnt/pendrive
$ sudo mount -o loop /home/ricardo/Downloads/win8.iso /mnt/iso
$ sudo rsync -av /mnt/iso/ /mnt/pendrive/ # atenção às "/" após cada pasta!
$ sync
$ sudo umount /mnt/iso
5) Acesse a pasta /mnt/pendrive e veja se existe uma pasta “boot”. Se ela estiver toda em maiúsculas (isto é: “BOOT”), renomeie-a para minúscula.
6) Crie um arquivo de configuração para o GRUB que está instalado no pendrive. Para isso, neste nosso exemplo, crie o seguinte arquivo: /mnt/pendrive/boot/grub.cfg.
É agora que você utilizará aquele UUID que havia salvo no começo deste tutorial. Coloque o seguinte conteúdo no arquivo /mnt/pendrive/boot/grub.cfg:
insmod ntfs
insmod search_fs_uuid
insmod chain
search --no-floppy --fs-uuid 689629814A3C53AA --set root
chainloader +1
boot
7) Instale o GRUB na MBR do dispositivo USB (no caso, seu pendrive ou HD externo). Seguindo nosso exemplo aqui, temos a partição NTFS em /dev/sdc1, consequentemente o dispositivo é /dev/sdc. Considerarei também que o pendrive continua montado no diretório /mnt/pendrive que eu havia criado antes.
Para instalar o GRUB na MBR dele, fazemos o seguinte:
$ sudo grub-install --target=i386-pc --boot-directory="/mnt/pendrive/boot" /dev/sdc
8) Pronto. Salve esse arquivo e desmonte e remova o pendrive:
$ sudo umount /dev/sdc1
$ sudo eject /dev/sdc
Já poderá utilizar esse pendrive ou HD externo para bootar o instalador do Windows em um PC.
Utilizei esse procedimento com sucesso tanto para Windows 7 como Windows 8.1.
Happy hacking!