Se você estiver usando o MBR, o GRUB poderá chamar os-prober para varrer todas as partições para sistemas inicializáveis. os-prober (e seu primo, linux-boot-prober , que é chamado por os-prober ) pesquisará todos os discos conhecidos e suas partições por sistemas inicializáveis. Para sistemas Linux, ele procurará por partições que contenham ./vmlinuz* e ./initrd* / ./initramfs* ou partições contendo um diretório chamado /boot e os arquivos antigos.
grub-mkconfig tentará usar os-prober se conseguir encontrá-lo e imprimirá grub.cfg , incluindo todos os sistemas encontrados.
Pessoalmente, acho que isso é menos trabalho do que usar UEFI, mas continue lendo.
Para UEFI, primeiro de tudo você definitivamente pode ter várias partições EFI. No entanto, não é uma boa ideia ter várias partições EFI em um sistema multi-inicializador. Esta resposta SU entra em muitos detalhes por que , principalmente porque você pode ter subdiretórios dentro de uma única partição EFI e ter um diferente sistemas em cada subdiretório. Você simplesmente faz uma montagem de ligação em um local diferente da partição EFI para ser o diretório /boot em cada sistema.
Por exemplo, você pode criar dois carregadores diferentes, por exemplo:
\loader\entries\mint.conf
title Mint Linux
linux \mint\vmlinuz
initrd \mint\initrd.img
options root=PARTUUID=14420948-2cea-4de7-b042-40f67c618660 rw
\loader\entries\centos.conf
title CentOS
linux \centos\vmlinuz-linux
initrd \centos\initramfs-linux.img
options root=PARTUUID=14420948-2cea-4de7-b042-40f67c618661 rw
Você precisa do UUID para o gerenciador de inicialização saber qual sistema de arquivos raiz deve ser usado. Agora você pode colocar o kernel e os ramfs iniciais de cada instalação em seu próprio diretório na partição EFI (um em mint e outro em centos ).
Em cada sistema, você cria um /etc/fstab com uma montagem de ligação para usar a parte direita da partição EFI como o diretório /boot . Por exemplo:
<EFI part> /efi vfat defaults 0 0
/efi/EFI/mint /boot none defaults,bind 0 0
e
<EFI part> /efi vfat defaults 0 0
/efi/EFI/centos /boot none defaults,bind 0 0
Cada sistema agora poderá colocar seu kernel no lugar certo na atualização, e a inicialização acontece por meio do UEFI.
Links: