After fedora upgraded from 38->39, new kernel not listed in grub list.
According to this post, because the entry in /boot/efi/xxxxxxxxxxxxxxxx directory, the new kernel initrd file was generated in a wrong place.
FIX:
1. remove the folder:
#rm /boot/efi/xxxxxxxxxxxxxxxx
like : rm -rf /boot/efi/a169b9c4383646aebda5f63e812b9c24/
2. re-install kernel:
#dnf reinstall kernel
New kernel versions get stored in /boot/efi and dont show in grub after fedora 39 update