en pt

Criar pendrive (ou HD externo) bootável de instalador Windows a partir do Linux

2015-11-02 3 min read Howto Portuguese Ricardo

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!