O modo ( Legacy BIOS
ou UEFI
) é determinado pelo gerenciador de inicialização instalado nas configurações da USB e do BIOS.
O meio de instalação do Windows 7 deve suportar ambos ( Legacy BIOS
e UEFI
). Para o último, depende das suas configurações. Mas como você pode inicializar a partir de seu UEFI-HDD e de suas inicializações do Win7-USB-Stick no modo Legacy BIOS
, ele deve ser definido como "ambos", o que significa que seu BIOS suporta UEFI
e como um substituto pode inicializar em Legacy BIOS
modo.
Para resolver o problema, aconselho que você instale usando um Win7-Image com suporte a UEFI (nem sei se há um sem) e também deve configurar seu BIOS para o modo UEFI explicitamente ( nenhum modo combinado).
Mas se isso não funcionar e para responder à sua pergunta: Isso deve funcionar:
Posicione o Win7-Image no seu HDD
ou USB-Drive
e escolha os módulos corretos (siga os comentários):
menuentry "Windows 7" --class windows --class os {
# Insert modules needed in order to access the iso-file
# choose the right module for the partition-table-scheme the image lies on
insmod part_gpt
insmod part_msdos
# choose the right module for the filesystem the image lies on
insmod ntfs
insmod fat
insmod ext2
# Insert module needed in order to find partition
insmod search_fs_uuid
# Set UUID of partition with the iso-image
# and let grub2 find the partition
# (save it's identifier to the variable $root)
set uuid="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
search --no-floppy --set=root --fs-uuid $uuid
# Mount the iso image by addressing it with (partition)/path
set iso=/images/Win7_English_x64.iso
loopback loop ($root)$iso
# boot (chain-load) the windows7-image using the bootmgfw.efi file located
# on the Win7-ISO-Image
chainloader (loop)/efi/microsoft/boot/bootmgfw.efi
}
Se você quiser despejar a imagem diretamente no usb-stick, deve deixar de fora as set iso=
- e loopback loop ($root)$iso
-parts necessárias para montar o iso. Seu chainloader é então chainloader ($root)/efi/microsoft/boot/bootmgfw.efi