Basicamente, as entradas do menu grub são criadas pelos seus respectivos sistemas operacionais. Você pode usar coisas como os-prober
ou escrever no script personalizado, mas provavelmente a maneira mais fácil de obter o que você deseja seria carregar o GRUB em cadeia com outro GRUB que carrega antes com sua própria configuração contendo algo como isso em seu grub.cfg
:
insmod part_gpt
insmod search_fs_uuid
insmod chain
menuentry "Debian" {
search --fs-uuid --no-floppy --set=root 1234-abcd
chainloader ($root)/EFI/debian/grubx64.efi
}
menuentry "Ubuntu" {
search --fs-uuid --no-floppy --set=root 1234-abcd
chainloader ($root)/EFI/ubuntu/grubx64.efi
}
menuentry "Windows" {
search --fs-uuid --no-floppy --set=root 1234-abcd
chainloader ($root)/EFI/MICROSOFT/BOOT/bootmgfw.efi
}
Onde set root é o UUID do ESP para cada gerenciador de inicialização. Eles provavelmente são todos iguais.
Isso também significa que cada carregador de inicialização tem suas próprias configurações e tema, além de entradas avançadas, etc.