Quero fazer isso porque quero instalar o Windows 7 e o menu do BIOS não aparece; pula para o menu grub2 no início, mas isso é outra história ... Existe uma maneira de inicializar o iso de instalação do Windows 7 diretamente do grub2?
Quero fazer isso porque quero instalar o Windows 7 e o menu do BIOS não aparece; pula para o menu grub2 no início, mas isso é outra história ... Existe uma maneira de inicializar o iso de instalação do Windows 7 diretamente do grub2?
Respostas:
A inicialização do ISO real com o grub legacy ou grub2 não funcionará, mas nas versões mais antigas do Windows (por exemplo, XP) é possível descompactar a pasta i386 do ISO para o pendrive e, em seguida, usar o grub4dos para chamar o gerenciador de inicialização:
title windows installer via setupldr.bin
find --set-root /i386/setupldr.bin
chainloader /i386/setupldr.bin
ou
title windows installer via /bootsect.bin
find --set-root /i386/setupldr.bin
chainloader /bootsect.bin
Isso pode não funcionar com versões mais recentes do Windows ou com hardware mais recente, mas também existe a opção de ..
Com o grub2, aparentemente algo assim poderia funcionar no Windows 7 :
menuentry "Windows 7 (bootmgr)" --class windows --class os {
insmod part_msdos
insmod ntfs
insmod ntldr
### A: either use this line or the next one, but not both
set root='(hd0,msdos1)'
### B:
### search --no-floppy --fs-uuid --set=root ____INSERT_PARTITION_UUID_HERE___
ntldr ($root)/bootmgr
}
A opção A assume que o seu dispositivo USB inicializável / HDD é o primeiro dispositivo e possui uma tabela de partições no estilo msdos. Ajuste para corresponder à sua configuração. Se o seu dispositivo de inicialização tiver uma tabela de partição GPT, provavelmente será necessário usá-lo (hd0,gpt1)
(em geral, é mais complicado configurar o GPT).
A opção B usa o UUID exclusivo da unidade, que pode ser visto no Linux com sudo blkid
ou no OSX com, por exemplo diskutil info disk0s1
(ou Utilitário de Disco> Informações).
A entrada final pode parecer, por exemplo, com isto:
menuentry "Windows 7 installer" --class windows --class os {
insmod part_msdos
insmod ntfs
insmod ntldr
search --no-floppy --fs-uuid --set=root 0E239BC6-F960-3107-89CF-1C97F78BB46B
ntldr /bootmgr
}
Sim, você pensaria que algo assim funcionaria:
menuentry "Boot Windoze" {
search -f "--set-root /Winblows.iso"
drivemap "/Winblows.iso" '(hd32)'
drivemap '--hook' ''
set root='(hd32)'
chainloader +1
}
Mas o Windows não aceita nada disso.
Se você tiver pelo menos 4 GB de RAM, poderá optar por carregar o DVD inteiro no memdisk e inicializá-lo. Para fazer isso, baixe o SysLinux e extraia o memdisk
arquivo em seu boot
diretório. Então você precisa adicionar código ao Grub2 algo assim
menuentry "Boot Windoze" {
search -f "--set-root /Winblows.iso"
insmod memdisk
linux16 /boot/memdisk iso
initrd16 /Winblows.iso
}
No entanto, nem vou testar o código, pois colocar mais de 3 GB de dados na RAM está completamente errado (do ponto de vista idealógico). Não, eu realmente queria o que você quer, mas no final, instalei a instalação do Windows em uma partição em um USB usando a ferramenta de download de USB / DVD do Windows 7 e carreguei em cadeia para isso. Desculpe, não parece haver outra maneira que eu possa ver.
Tecnicamente, a instalação a partir do .iso
arquivo do Windows não pode ser possível. Você pode inicializar a partir do .iso
grub usando, mas depois disso o Windows perderá o contato com o local montado ou ele não será capaz. Portanto, tanto o grub
Windows como o Windows devem saber montar e inicializar. Atualmente, o Windows não suporta.
Portanto, você precisa extrair / copiar o conteúdo da .iso
raiz de uma partição e carregá-la em cadeia usando grub
.