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: