Here is the contents of the entire
cat /etc/default.grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=0
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto
rd.md.uuid=066ffecb:69137a0b:4e579b4f:dfbf1696
rd.md.uuid=bd87f682:e6df10e2:d2a6e247:834133f7 rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
I have only changed GRUB_DEFAULT from "saved" to "0"
I have also run
/usr/sbin/grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
and seen the grub.cfg and grubenv updated in /boot/efi/EFI/centos
At this point I think I have grub doing its stuff in the correct folder
/ destination used by UEFI for booting.
When I look at grub.cfg there is some stuff I cannot understand
there are five menuentry in this file, like:
menuentry 'CentOS Linux (3.10.0-1160.88.1.el7.x86_64) 7 (Core)' --class
centos --class gnu-linux --class gnu --class os --unrestricted
$menuentry_id_option
'gnulinux-3.10.0-1160.81.1.el7.x86_64-advanced-7276336b-d2f2-4b94-b491-ad8c5662acb3'
{
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod part_gpt
insmod diskfilter
insmod mdraid1x
insmod xfs
set root='mduuid/bd87f682e6df10e2d2a6e247834133f7'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root
--hint='mduuid/bd87f682e6df10e2d2a6e247834133f7'
f12be7f3-a6c6-4b90-8c51-286c32d11d12
else
search --no-floppy --fs-uuid --set=root
f12be7f3-a6c6-4b90-8c51-286c32d11d12
fi
linuxefi /vmlinuz-3.10.0-1160.88.1.el7.x86_64
root=UUID=7276336b-d2f2-4b94-b491-ad8c5662acb3 ro crashkernel=auto
rd.md.uuid=066ffecb:69137a0b:4e579b4f:dfbf1696
rd.md.uuid=bd87f682:e6df10e2:d2a6e247:834133f7 rhgb quiet LANG=en_US.UTF-8
initrdefi /initramfs-3.10.0-1160.88.1.el7.x86_64.img
}
the above is the latest kernel - doesn't boot as the console tells me it
cannot load the vmlinuz file
the kernel that boots looks like:
menuentry 'CentOS Linux (3.10.0-1160.36.2.el7.x86_64) 7 (Core)' --class
centos --class gnu-linux --class gnu --class os --unrestricted
$menuentry_id_option
'gnulinux-3.10.0-1160.36.2.el7.x86_64-advanced-7276336b-d2f2-4b94-b491-ad8c5662acb3'
{
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod part_gpt
insmod diskfilter
insmod mdraid1x
insmod xfs
set root='mduuid/bd87f682e6df10e2d2a6e247834133f7'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root
--hint='mduuid/bd87f682e6df10e2d2a6e247834133f7'
f12be7f3-a6c6-4b90-8c51-286c32d11d12
else
search --no-floppy --fs-uuid --set=root
f12be7f3-a6c6-4b90-8c51-286c32d11d12
fi
linuxefi /vmlinuz-3.10.0-1160.36.2.el7.x86_64
root=UUID=7276336b-d2f2-4b94-b491-ad8c5662acb3 ro crashkernel=auto
rd.md.uuid=066ffecb:69137a0b:4e579b4f:dfbf1696
rd.md.uuid=bd87f682:e6df10e2:d2a6e247:834133f7 rhgb quiet
initrdefi /initramfs-3.10.0-1160.36.2.el7.x86_64.img
}
I see that the first line names the kernel in brackets (correctly) but
the $menuentry_id_option '.....' doesn't make sense to me.
For the kernel that boots (3.10.0-1160.36.2) the entry is
'gnulinux-3.10.0-1160.36.2.el7.x86_64-advanced-7276336b-d2f2-4b94-b491-ad8c5662acb3'
For kernels that don't boot, e.g (3.10.0-1160.88.1) we see
'gnulinux-3.10.0-1160.81.1.el7.x86_64-advanced-7276336b-d2f2-4b94-b491-ad8c5662acb3'
and this entry just seems wrong
firstly the kernel version doesn't match - it has been set to ... 81.1
... rather than 88.1
secondly the last part of the line is the same for every menuentry, namely
-advanced-7276336b-d2f2-4b94-b491-ad8c5662acb3
where does this come from? what is this part for? doing?
Thanks
Rob
On 15/03/23 05:05, Leon Fauster via CentOS wrote:
Am 14.03.23 um 12:30 schrieb Rob Kampen:
OK,
found out the problem as to why it doesn't boot any kernel except 36.2
the system reports that it cannot find
vmlinuz-3.10.0-1160.88.1.el7.x86_64
or any one of the others, except for vmlinuz-3.10.0-1160.36.2.el7.x86_64
hence a manual selection from the grub menu when in front of the
machine will only load the 36.2 kernel
I found that under /boot/grub2 there were two .rpmnew files that
mucked up the symbolic link to the grubenv file - so fixed that and
did a reinstall of the latest kernel.
Now all the grub and efi files appear to update correctly - progress.
Now just need to work out why the efi boot process can see the old
(original) kernel (36.2) but none of the later ones.
Any ideas of where to look for this? seems a much more fundamental
problem related to kernel install and efi booting
Whats the _complete_ output of cat /etc/default/grub ?
--
Leon
_______________________________________________
CentOS mailing list
CentOS@xxxxxxxxxx
https://lists.centos.org/mailman/listinfo/centos
_______________________________________________
CentOS mailing list
CentOS@xxxxxxxxxx
https://lists.centos.org/mailman/listinfo/centos