¿Por qué el sistema operativo de grub agrega entradas con `linux` en lugar de `linuxefi`?

¿Por qué el sistema operativo de grub agrega entradas con `linux` en lugar de `linuxefi`?

En mi sistema, tengo dos copias de CentOS 7 instaladas y una copia de Windows 10 Pro. Todos los sistemas son arrancables, funcionan correctamente y están completamente actualizados (kernels, paquetes, todo lo demás).

Cuando ejecuto grub2-mkconfigcualquier copia de CentOS (un host se llama pinguy el otro pinga, por motivos), se crea una nueva configuración de grub. Parte de él se genera a través de la plantilla os-prober.

Las entradas generadas por grub2-mkconfigpara la copia de CentOS que inicié e inicié grub2-mkconfig fromson correctas. Es decir, tienen entradas de menú con líneas 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

Sin embargo, las entradas generadas para la otra copia de CentOS 7 se verán así:

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

(tenga en cuenta linuxy initrden lugar de linuxefiy initrdefi)

Creo que esto se debe a cuatro líneas similares /etc/grub.d/30_os-prober( linux ${LKERNEL} ${LPARAMS}etc.), pero ¿por qué sería así? ¿Por qué os-prober supone que las otras copias de Linux siempre deben iniciarse linuxcon linuxefi?

¿Me falta alguna configuración o anulación que solucione este problema?

Por ahora, simplemente cambié estas líneas 30_os-proberpara tener linuxefiy initrdefi, pero eso parece más que un pequeño truco.

información relacionada