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-mkconfig
cualquier copia de CentOS (un host se llama pingu
y 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-mkconfig
para la copia de CentOS que inicié e inicié grub2-mkconfig from
son 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 linux
y initrd
en lugar de linuxefi
y 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 linux
con linuxefi
?
¿Me falta alguna configuración o anulación que solucione este problema?
Por ahora, simplemente cambié estas líneas 30_os-prober
para tener linuxefi
y initrdefi
, pero eso parece más que un pequeño truco.