Der Modus ( Legacy BIOS
oder UEFI
) wird vom Bootloader bestimmt, der auf den USB-Stick- und BIOS-Einstellungen installiert ist.
Das Windows 7-Installationsmedium sollte beide ( Legacy BIOS
und UEFI
) unterstützen. Für letztere hängt es von Ihren Einstellungen ab. Da Sie jedoch von Ihrer UEFI-Festplatte booten können und Ihr Win7-USB-Stick im Legacy BIOS
Modus startet , sollte er auf "beides" eingestellt sein, was bedeutet, dass Ihr BIOS unterstützt UEFI
und als Fallback in den Legacy BIOS
Modus booten kann.
Um das Problem zu lösen, würde ich Ihnen raten, ein Win7-Image mit UEFI-Unterstützung zu installieren (ich weiß nicht einmal, ob es eines ohne gibt), und Sie sollten Ihr BIOS explizit auf den UEFI-Modus einstellen (kein kombinierter Modus ).
Aber wenn dies nicht funktioniert und um Ihre Frage zu beantworten: Dies sollte funktionieren:
Platzieren Sie das Win7-Image auf Ihrem HDD
oder USB-Drive
und wählen Sie die richtigen Module aus (folgen Sie den Kommentaren):
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
}
Wenn Sie das Image direkt auf den USB-Stick kopieren möchten, sollten Sie die set iso=
- und loopback loop ($root)$iso
-Teile weglassen, die zum Mounten der ISO erforderlich sind. Ihr Kettenlader ist dannchainloader ($root)/efi/microsoft/boot/bootmgfw.efi