Pe sistemul meu, am două copii ale CentOS 7 instalate și o copie a Windows 10 Pro. Fiecare sistem este bootabil și funcționează corect și este complet actualizat (kernel-uri, pachete, lucrări).
Când alerg grub2-mkconfig
în oricare dintre copiile CentOS (o gazdă numită pingu
, celălalt pinga
, din motive), este creată o nouă configurație grub. O parte din acesta este generată prin șablonul os-prober.
Intrările generate de grub2-mkconfig
pentru copia de CentOS am pornit și am început grub2-mkconfig de la
sunt corecte. Adică, au intrări de meniu cu linii ca acestea:
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
Cu toate acestea, intrările generate pentru cealaltă copie a CentOS 7 vor arăta astfel:
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
(rețineți că linux
și initrd
în loc de linuxefi
și initrdefi
)
Cred că acest lucru se datorează celor patru rânduri din /etc/grub.d/30_os-prober
ca linux ${LKERNEL} ${LPARAMS}
(etc.) - dar de ce ar fi acesta cazul? De ce os-prober presupune că celelalte copii ale Linux ar trebui să fie întotdeauna începute linux
în loc de linuxefi
?
Îmi lipsește o setare sau o modificare care ar remedia acest lucru?
Deocamdată, pur și simplu am schimbat aceste rânduri 30_os-prober
a avea linuxefi
și initrdefi
, dar asta pare mai mult decât un pic de hack.