我使用 Kali/Fedora 和 Windows 10 进行双启动(三重启动)设置。我使用 Fedora 进行日常工作,使用 Kali 进行各种实验。
问题是,每当 Kali 获取内核更新时,它在重新启动后仍然会使用旧内核启动。
我安装了以下内核:
> root@CoreImpact:~# dpkg --list | grep linux-image
> linux-image-4.3.0-kali1-amd64 4.3.3-5kali4
> amd64 Linux 4.3 for 64-bit PCs ii
> linux-image-4.6.0-kali1-amd64 4.6.4-1kali1
> amd64 Linux 4.6 for 64-bit PCs ii
> linux-image-4.9.0-kali2-amd64 4.9.13-1kali1
> amd64 Linux 4.9 for 64-bit PCs ii
> linux-image-4.9.0-kali3-amd64 4.9.13-1kali2
> amd64 Linux 4.9 for 64-bit PCs ii linux-image-amd64
> 4.9+79+kali2 amd64 Linux for 64-bit PCs (meta-package)
如何强制 Kali 使用最新版本linux-image 4.9.0-kali3
而不是启动4.6.0
?
我尝试grub-update
在 Kali 和grub-mkconfig
Fedora 上通过命令更新 grub,但没有帮助。
谢谢。
答案1
因为我无法发表评论。不是命令update-grub
而不是grub-update
Plus 请发布您的update-grub
输出。
答案2
我已经通过选择正确的输出文件到 grub2-mkconfig 来解决这个问题:
grub2-mkconfig -o /boot/grub2/grub.cfg
不确定在之前的尝试中默认将其保存在哪里。现在一切似乎都运转良好。
答案3
很高兴你能想到这一点,但如果我遇到 grub 问题,我选择的武器是 grub-customizer。
sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer
运行它时,它将探测您的系统中的操作系统,重建 grub 并将其放在驱动器上的正确位置。它还可以轻松编辑 grub 条目并控制引导过程。
要强制 grub 加载任何特定内核,只需启动它,选择要强制的菜单项,打开它并编辑为:
- 更改内核名称以指向所需的内核(在 /boot/ 中),同时记住对匹配的 initrd 进行等效编辑,或者
- 更改 grub 中的内核和 initrd 路径,使其指向 /vmlinuz 和 /initrd.img 处的符号链接,并保存该条目。然后编辑 / 中的符号链接以指向您所需的内核和 initrd 版本。
在我决定将 BL 安装迁移到 LV 后(...fiddle, fiddle, fiddle...kaboom ....哎呀……又坏了)。 BL 是我启动和修复 Kali 的紧急后备,当我经常频繁地摆弄它时,它会被我破坏,所以也许 BL 只是在报复。
但是,在 gc 中打开 grub 条目,在 grub-speak (lvm/...) 和 shell-speak (/dev/mapper/...) 中输入 / 的正确路径名,将 linux 和 initrd 指向LV 中的 / 符号链接,瞧......修复了。
insmod part_gpt
insmod lvm
insmod ext2
set root='lvm/vg6-bunsen'
linux /vmlinuz root=/dev/mapper/vg6-bunsen ro quiet
initrd /initrd.img