Hello. I have multiboot usb drive based on this version of grub2: https://github.com/a1ive/grub/releases. For better "managment" of config files i separated submenus for various files like that:
/grub/grub.cfg
/grub/inne.cfg
/grub/linux.cfg
/grub/win_efi.cfg
/grub/win_legacy.cfg
In main file:
menuentry "Windows" { if [ "grub_platform" = "efi"]; then configfile /grub/win_efi.cfg else configfile /grub/win_legacy.cfg fi } if [ "$grub_platform" = "pc"]; then menuentry "Windows1" { configfile /grub/win_efi.cfg } fi if [ "$grub_platform" = "efi"]; then menuentry "Windows2" { configfile /grub/win_efi.cfg } fi
In legacy booting doesn't show "Windows1". In efi mode doesn't show "Windows2" and always in "Windows" sets win_legacy.cfg. Both .cfg files are prepared correctly.