Почему os-prober grub добавляет записи с `linux` вместо `linuxefi`

Почему os-prober grub добавляет записи с `linux` вместо `linuxefi`

В моей системе установлены две копии CentOS 7 и одна копия Windows 10 Pro. Каждая система загружается, работает правильно и полностью обновлена ​​(ядра, пакеты, все остальное).

При запуске grub2-mkconfigв любой из копий CentOS (один хост называется pingu, другой pinga, по разным причинам), создается новая конфигурация grub. Часть ее генерируется через шаблон os-prober.

Записи, сгенерированные grub2-mkconfigдля копии CentOS, в которую я загрузился и которую запустил, grub2-mkconfig fromверны. То есть, у них есть пункты меню со строками вроде этих:

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

Однако записи, сгенерированные для другой копии CentOS 7, будут выглядеть следующим образом:

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

(обратите внимание на linuxand initrdвместо linuxefiand initrdefi)

Я думаю, это из-за четырех строк в /etc/grub.d/30_os-proberlike linux ${LKERNEL} ${LPARAMS}(etc.) - но почему это так? Почему os-prober предполагает, что другие копии Linux всегда должны запускаться с помощью linuxвместо linuxefi?

Может быть, я упускаю какую-то настройку или переопределение, которые могли бы это исправить?

На данный момент я просто изменил эти строки на 30_os-proberhave linuxefiи initrdefi, но это больше похоже на хак.

Связанный контент