我已经安装了 fedora 24 并更新了内核。
$rpm -qa kernel
kernel-4.6.4-301.fc24.x86_64
kernel-4.5.5-300.fc24.x86_64
这样kernel-4.6.4-301.fc24.x86_64
就安装好了。
$uname -r
4.5.5-300.fc24.x86_64
当前加载的内核。
$ cd /boot
$ ll
total 90117
...
-rwxr-xr-x. 1 root root 6277656 Jul 29 07:09 vmlinuz-0-rescue-60cb3109c1ea41d6806444bff16cc074
-rwxr-xr-x. 1 root root 6277656 May 19 16:21 vmlinuz-4.5.5-300.fc24.x86_64
但没有4.6.4内核的文件。
如何手动将更新的内核添加到 grub 中?
答案1
如果您使用的是 Redhat/ Centos,请编辑 grub.conf 文件
复制并编辑旧的内核参数,并用新的参数和位置替换旧的参数和位置
答案2
现在是你该做的时候了
对于BIOS
cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak # Creating a backup of current
grub2-mkconfig -o /boot/grub2/grub.cfg
对于 UEFI
在 EFI 下,GRUB 2 在以下位置查找其配置/boot/efi/EFI/fedora/grub.cfg
cp /boot/efi/EFI/fedora/grub.cfg /boot/efi/EFI/fedora/grub.cfg.bak
grub2-mkconfig /boot/efi/EFI/fedora/grub.cfg
笔记
如果你得到
grub2-mkconfig : command not found
这意味着,您还没有安装提供这些工具的软件包(虽然很少见!),那么您需要先安装它们
dnf install grub2-efi grub2-efi-modules shim
答案3
我在使用默认分区布局全新安装 F24 时遇到了同样的问题。在我的系统上,/dev/sda1 是专门为通常不安装的 grub 创建的。为了找到它,我做了:
sudo fdisk /dev/sda
并在 fdisk p 中显示分区。接下来安装该分区:
sudo mount /dev/sda1 /mnt
查找文件:
find /mnt -name grub.cfg
最后更新了 grub.cfg 文件:
sudo grub2-mkconfig -o /mnt/EFI/fedora/grub.cfg
每次更新内核时都必须重复此过程。
还有人有比这更好的解决办法吗?它有效,但我不明白为什么它不自动完成。我是否错过了某个地方的设置?