OK, depois de tentar sem sucesso todos os métodos mencionados aqui, eu finalmente consegui trabalhar. Basicamente, a etapa que faltava era escrever um setor de inicialização adequado para o pendrive, que pode ser feito no Linux com ms-sys
ou lilo -M
. Isso funciona com a versão comercial do Windows 7.
Aqui está o resumo completo novamente:
Instale ms-sys - se ele não estiver em seus repositórios, obtenha aqui . Ou, como alternativa, verifique se o lilo está instalado (mas não execute a etapa liloconfig na sua caixa local se, por exemplo, o Grub estiver instalado lá!)
Verifique a qual dispositivo sua mídia USB está atribuída - aqui, vamos supor que é /dev/sdb
. Exclua todas as partições, crie uma nova, ocupe todo o espaço, defina o tipo como NTFS (7) e lembre-se de defini-la como inicializável:
# cfdisk /dev/sdb
ou fdisk /dev/sdb
(partição tipo 7 e inicializável sinalizador
Crie um sistema de arquivos NTFS:
# mkfs.ntfs -f /dev/sdb1
Escreva o Windows 7 MBR no stick USB (também funciona para o windows 8), várias opções aqui:
-
# ms-sys -7 /dev/sdb
- ou (por exemplo, em instalações mais recentes do Ubuntu)
sudo lilo -M /dev/sdb mbr
( info ) - ou (se o syslinux estiver instalado), você pode executar
sudo dd if=/usr/lib/syslinux/mbr/mbr.bin of=/dev/sdb
Montar mídia ISO e USB:
# mount -o loop win7.iso /mnt/iso # mount /dev/sdb1 /mnt/usb
Copie todos os arquivos:
# cp -r /mnt/iso/* /mnt/usb/
... ou use o navegador de arquivos GUI padrão do seu sistema
Chame sync
para ter certeza de que todos os arquivos foram gravados.
Abra o gparted, selecione a unidade USB, clique com o botão direito do mouse no sistema de arquivos e clique em "Gerenciar sinalizadores". Marque a caixa de seleção de inicialização e feche.
... e pronto.
Depois de tudo isso, você provavelmente vai querer fazer backup de sua mídia USB para outras instalações e se livrar do arquivo ISO ... Basta usar o dd:
# dd if=/dev/sdb of=win7.img
Note que isto copia todo o dispositivo! - que geralmente é (muito) maior que os arquivos copiados para ele. Então, em vez disso, proponho
# dd count=[(size of the ISO file in MB plus some extra MB for boot block) divided by default dd blocksize] if=/dev/sdb of=win7.img
Assim, por exemplo, com 8 M de bytes extras:
# dd count=$((('stat -c '%s' win7.iso' + 8*1024*1024) / 512)) if=/dev/sdb of=win7.img status=progress
Como sempre, verifique os nomes dos dispositivos com muito cuidado ao trabalhar com dd
.
O método de criação de um USB inicializável apresentado acima também funciona com o instalador do Win10 iso. Eu tentei executar Ubuntu 16.04 copiando Win10_1703_SingleLang_English_x64.iso (tamanho 4.241.291.264 bytes) em um 8 GB USB-stick - em não-UEFI [não-seguro] apenas a inicialização. Após a execução, os relatórios do dd: 8300156 + 0 registros em 8300156 + 0 registra 4249679872 bytes (4,2 GB, 4,0 GiB) copiados, 412,807 s, 10,3 MB / s
Inverte se / da próxima vez que você quiser colocar o instalador do Windows 7 em USB.