# the issue:
dnf check-update
Last metadata expiration check: 1:35:58 ago on Sun Jun 4 10:26:18 2023.
Security: kernel-core-5.14.0-284.11.1.el9_2.aarch64 is an installed security update
Security: kernel-core-5.14.0-162.6.1.el9_1.aarch64 is the currently running version
# double check:
uname -r
5.14.0-162.6.1.el9_1.aarch64
# only reboot is not fixing it:
uptime
12:01:37 up 0 min, 1 user, load average: 0.34, 0.10, 0.04
# the cfg is up to date:
grub2-mkconfig > test.cfg 2>/dev/null
diff test.cfg /boot/grub2/grub.cfg
# and manually it looks fine:
. /usr/share/grub/grub-mkconfig_lib
version_find_latest $(ls -1 /boot/vmlinuz-*)
/boot/vmlinuz-5.14.0-284.11.1.el9_2.aarch64
# maybe these efi boot logs are related:
grep -Pi "efi\b" /var/log/messages | tail -n 6
Jun 4 12:00:59 amazon4 systemd[1]: Condition check resulted in Amazon Elastic Block Store EFI\x20System\x20Partition being skipped.
Jun 4 12:00:59 amazon4 systemd[1]: Mounting /boot/efi...
Jun 4 12:00:59 amazon4 systemd[1]: Mounted /boot/efi.
Jun 4 12:00:59 amazon4 systemd[1]: Store a System Token in an EFI Variable was skipped because of an unmet condition check (ConditionPathExists=/sys/firmware/efi/efivars/LoaderFeatures-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f).
Jun 4 12:00:59 amazon4 systemd[1]: TPM2 PCR Barrier (Initialization) was skipped because of an unmet condition check (ConditionPathExists=/sys/firmware/efi/efivars/StubPcrKernelImage-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f).
Jun 4 12:00:59 amazon4 systemd[1]: TPM2 PCR Barrier (User) was skipped because of an unmet condition check (ConditionPathExists=/sys/firmware/efi/efivars/StubPcrKernelImage-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f).
efi가 아닌 가상 머신에는 이 문제가 없습니다.
grub/efi에게 최신 커널을 사용하도록 어떻게 지시합니까?
편집 01:
공유해주신 @Svižný_Svišť에게 감사드립니다
grubby --info=ALL
grub2-reboot 1
설치된 콘텐츠를 나열합니다.
dnf list --installed | grep "kernel-core"
kernel-core.aarch64 5.14.0-162.6.1.el9_1 @baseos
kernel-core.aarch64 5.14.0-284.11.1.el9_2 @baseos
kernel-core.aarch64 5.14.0-284.18.1.el9_2 @baseos
나는 이것을 제거했습니다 :
dnf remove kernel-core-5.14.0-162.6.1.el9_1
하지만 Grubby가 여전히 그것을 나열했기 때문에 고쳤습니다.
grubby --remove-kernel=/boot/vmlinuz-5.14.0-162.6.1.el9_1.aarch64
답변1
kernel-core-5.14.0-284.11.1.el9_2.x86_64
방금 으로 업그레이드하면서 이 문제가 발생했습니다 .kernel-core-5.14.0-284.18.1.el9_2.x86_64
아직 해결책을 찾지 못했지만 GRUB에 대해 "다음 부팅 전용" 기본 부팅 항목을 설정하면 필요한 커널이 로드된다는 사실을 발견했습니다.
$ sudo grubby --info=ALL | grep -E '^(kernel|index)'
index=0
kernel="/boot/vmlinuz-5.14.0-284.11.1.el9_2.x86_64"
index=1
kernel="/boot/vmlinuz-5.14.0-284.18.1.el9_2.x86_64"
$ sudo grub2-reboot 1 # index 1
$ sudo reboot
분명히 이것은 최신 커널을 일시적으로만 로드하는 것 같습니다. 전원을 켜면 이전 상태로 돌아갑니다. 문제를 해결하려는 의도는 아니지만 다른 사람들에게 다음에 어디로 가야할지에 대한 아이디어를 줄 수 있습니다.
답변2
dnf가 grub을 올바르게 업데이트하지 못하고 때로는 다음과 같이 수동으로 업데이트해야 합니다.
grubby --remove-kernel=/boot/vmlinuz-5.14.0-162.6.1.el9_1.aarch64
reboot