Por que o os-prober do grub adiciona entradas com `linux` em vez de `linuxefi`

Por que o os-prober do grub adiciona entradas com `linux` em vez de `linuxefi`

No meu sistema, tenho duas cópias do CentOS 7 instaladas e uma cópia do Windows 10 Pro. Todo sistema é inicializável e funciona corretamente, e está totalmente atualizado (kernels, pacotes, obras).

Quando executo grub2-mkconfigqualquer cópia do CentOS (um host chamado pingue o outro pinga, por motivos), uma nova configuração do grub é criada. Parte dele é gerada através do modelo os-prober.

As entradas geradas grub2-mkconfigpara a cópia do CentOS em que inicializei e iniciei grub2-mkconfig fromestão corretas. Ou seja, eles possuem entradas de menu com linhas como estas:

linuxefi /vmlinuz-5.4.147-1.el7.elrepo.x86_64 root=/dev/mapper/pinga-root ro crashkernel=auto spectre_v2=retpoline
initrdefi /initramfs-5.4.147-1.el7.elrepo.x86_64.img

No entanto, as entradas geradas para a outra cópia do CentOS 7 ficarão assim:

linux /vmlinuz-5.4.147-1.el7.elrepo.x86_64 root=/dev/mapper/pingu-root ro crashkernel=auto spectre_v2=retpoline
initrd /initramfs-5.4.147-1.el7.elrepo.x86_64.img

(observe o linuxe initrdem vez de linuxefie initrdefi)

Acho que isso se deve a quatro linhas semelhantes /etc/grub.d/30_os-prober( linux ${LKERNEL} ${LPARAMS}etc.) - mas por que seria esse o caso? Por que o os-prober assume que as outras cópias do Linux devem sempre ser iniciadas em linuxvez de linuxefi?

Estou faltando alguma configuração ou substituição que resolveria isso?

Por enquanto, simplesmente mudei essas linhas 30_os-proberpara have linuxefie initrdefi, mas isso parece mais do que um truque.

informação relacionada