OK, depois de tentar sem sucesso todos os métodos mencionados aqui, finalmente consegui funcionar. Basicamente, a etapa que faltava era escrever um setor de inicialização adequado no pendrive, o que pode ser feito no Linux com ms-sysou lilo -M. Isso funciona com a versão de varejo do Windows 7.
Aqui está o resumo completo novamente:
Instale o ms-sys - se não estiver em seus repositórios, obtenha-o aqui . Ou, alternativamente, verifique se o lilo está instalado (mas não execute a etapa liloconfig em 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 seja /dev/sdb. Exclua todas as partições, crie uma nova ocupando todo o espaço, defina o tipo para NTFS (7) e lembre-se de configurá-la inicializável:
# cfdisk /dev/sdboufdisk /dev/sdb (tipo de partição 7 e sinalizador inicializável )
Crie um sistema de arquivos NTFS:
# mkfs.ntfs -f /dev/sdb1
Escreva o Windows 7 MBR no pendrive (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 executarsudo dd if=/usr/lib/syslinux/mbr/mbr.bin of=/dev/sdb
Monte mídia ISO e USB:
# mount -o loop win7.iso /mnt/iso
# monta /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
Ligue syncpara certificar-se 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 deseja fazer backup de sua mídia USB para outras instalações e se livrar do arquivo ISO... Basta usar dd:
# dd if=/dev/sdb of=win7.img
Observe que isso copia todo o dispositivo! — que geralmente é (muito) maior do 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
Como sempre, verifique os nomes dos dispositivos com muito cuidado ao trabalhar com arquivos 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 o Ubuntu 16.04 copiando Win10_1703_SingleLang_English_x64.iso (tamanho 4.241.291.264 bytes) em um pendrive de 8 GB - apenas em inicialização não UEFI [não segura]. Após a execução, os relatórios dd: 8300156+0 registros em 8300156+0 registros em 4249679872 bytes (4,2 GB, 4,0 GiB) copiados, 412,807 s, 10,3 MB/s
Inverta se/da próxima vez que você quiser colocar o instalador do Windows 7 no USB.
Você pode fazer isso com dd, se o seu PC suportar UEFI e, por extensão, discos GPT.
Abra um terminal, você vai precisar descobrir qual dispositivo é o seu pendrive. Se você tiver a unidade montada, poderá encontrar o nome do dispositivo digitando "mount" e observando sua entrada. Algo como o seguinte:
/dev/sdb1 on /media/USBDISK type vfat (rw,nosuid,nodev,uhelper=hal,uid=1000,utf8,shortname=mixed)
Neste caso, a primeira parte de /dev/sdb é montada em /media/USBDISK. Abra um shell raiz e desmonte a unidade.
umount /dev/sdb1
Vá para o diretório onde seu ISO está armazenado em um shell raiz e digite o seguinte: (Substitua windows7.iso por qualquer que seja o nome do iso e /dev/sdb pelo id do dispositivo do seu pendrive).
dd if=windows7.iso of=/dev/sdb
Se a sua placa-mãe suporta a inicialização de um pendrive, ela deve ser capaz de inicializá-la. Isso colocará o instalador no pendrive e não no próprio sistema operacional.
OK, depois de tentar sem sucesso todos os métodos mencionados aqui, finalmente consegui funcionar. Basicamente, a etapa que faltava era escrever um setor de inicialização adequado no pendrive, o que pode ser feito no Linux com
ms-sys
oulilo -M
. Isso funciona com a versão de varejo do Windows 7.Aqui está o resumo completo novamente:
Instale o ms-sys - se não estiver em seus repositórios, obtenha-o aqui . Ou, alternativamente, verifique se o lilo está instalado (mas não execute a etapa liloconfig em 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 seja
/dev/sdb
. Exclua todas as partições, crie uma nova ocupando todo o espaço, defina o tipo para NTFS (7) e lembre-se de configurá-la inicializável:# cfdisk /dev/sdb
oufdisk /dev/sdb
(tipo de partição 7 e sinalizador inicializável )Crie um sistema de arquivos NTFS:
# mkfs.ntfs -f /dev/sdb1
Escreva o Windows 7 MBR no pendrive (também funciona para o Windows 8), várias opções aqui:
# ms-sys -7 /dev/sdb
sudo lilo -M /dev/sdb mbr
( info )sudo dd if=/usr/lib/syslinux/mbr/mbr.bin of=/dev/sdb
Monte mídia ISO e USB:
Copie todos os arquivos:
# cp -r /mnt/iso/* /mnt/usb/
...ou use o navegador de arquivos GUI padrão do seu sistemaLigue
sync
para certificar-se 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 deseja fazer backup de sua mídia USB para outras instalações e se livrar do arquivo ISO... Basta usar dd:
# dd if=/dev/sdb of=win7.img
Observe que isso copia todo o dispositivo! — que geralmente é (muito) maior do que os arquivos copiados para ele. Então, em vez disso, proponho
Assim, por exemplo, com 8 M bytes extras:
Como sempre, verifique os nomes dos dispositivos com muito cuidado ao trabalhar com arquivos
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 o Ubuntu 16.04 copiando Win10_1703_SingleLang_English_x64.iso (tamanho 4.241.291.264 bytes) em um pendrive de 8 GB - apenas em inicialização não UEFI [não segura]. Após a execução, os relatórios dd: 8300156+0 registros em 8300156+0 registros em 4249679872 bytes (4,2 GB, 4,0 GiB) copiados, 412,807 s, 10,3 MB/s
Inverta se/da próxima vez que você quiser colocar o instalador do Windows 7 no USB.
Você pode fazer isso com dd, se o seu PC suportar UEFI e, por extensão, discos GPT.
Abra um terminal, você vai precisar descobrir qual dispositivo é o seu pendrive. Se você tiver a unidade montada, poderá encontrar o nome do dispositivo digitando "mount" e observando sua entrada. Algo como o seguinte:
Neste caso, a primeira parte de /dev/sdb é montada em /media/USBDISK. Abra um shell raiz e desmonte a unidade.
Vá para o diretório onde seu ISO está armazenado em um shell raiz e digite o seguinte: (Substitua windows7.iso por qualquer que seja o nome do iso e /dev/sdb pelo id do dispositivo do seu pendrive).
Se a sua placa-mãe suporta a inicialização de um pendrive, ela deve ser capaz de inicializá-la. Isso colocará o instalador no pendrive e não no próprio sistema operacional.
A sugestão do PCambell é boa, mas você também vai querer limpar o MBR, o equivalente linux está abaixo
Eu tentei isso e funcionou (não sei por que o método dd falhou, mas parece que a partição tinha que ser ntfs?):
Ao invés de
você escreve
root
como(ADD 1 no final ou onde quer que sua unidade USB esteja colocada.)