我在 Windows 10 上双启动使用 Kubuntu。它运行正常,但是昨天我弄乱了我的内核,在经过一系列的尝试修复之后,我最终无法运行 update-grub,出现以下错误:
$ sudo update-grub
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.13.0-52-generic
Found initrd image: /boot/initrd.img-5.13.0-52-generic
Found linux image: /boot/vmlinuz-5.13.0-51-generic
Found initrd image: /boot/initrd.img-5.13.0-51-generic
Found linux image: /boot/vmlinuz-5.13.0-46-generic
Found initrd image: /boot/initrd.img-5.13.0-46-generic
Found linux image: /boot/vmlinuz-5.13.0-41-generic
Found initrd image: /boot/initrd.img-5.13.0-41-generic
Found linux image: /boot/vmlinuz-5.13.0-30-generic
Found initrd image: /boot/initrd.img-5.13.0-30-generic
Found linux image: /boot/vmlinuz-5.13.0-28-generic
Found initrd image: /boot/initrd.img-5.13.0-28-generic
Found linux image: /boot/vmlinuz-5.13.0-27-generic
Found initrd image: /boot/initrd.img-5.13.0-27-generic
Memtest86+ needs a 16-bit boot, that is not available on EFI, exiting
Found Windows Boot Manager on /dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi
Adding boot menu entry for UEFI Firmware Settings
done
因此 grub 菜单没有更新并继续尝试加载我已卸载的内核版本。
如果需要任何其他信息,请告诉我。
编辑:我尝试重新安装 grub这边走,但做完之后
sudo mount /dev/sdXY /mnt
sudo mount /dev/sdXX /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt
grub-install /dev/sdX
update-grub
我仍然收到相同的错误消息。所以,我想我应该让这个 Memtest86+ 在 EFI 分区中可用,但我不知道该怎么做。
答案1
我终于找到了一个解决方案,请注意,我不知道它为什么有效,所以如果有人有解释,请随时发布:
sudo chmod -x /etc/grub.d/20_memtest86+
sudo update-grub
我在以下答案中找到了它这个问题“从启动菜单中删除 memtest”。我首先按照接受的答案卸载了 memtest86+ sudo apt-get remove memtest86+
,但问题仍然存在。然后我切换到其他答案并使其/etc/grub.d/20_memtest86+
不可执行。