我的 Debian 11 附带了 5.10 版的 Linux 内核。我想要一个更新的,所以我从这里下载 5.15 ,解压缩 tar 文件,复制现有配置,运行make menuconfig
,然后make -j24
是sudo make install
. 我也做了sudo update-grub
。但是现在它在每次启动时都会这样做。如果我在 grub 中选择旧内核,它可以正常启动。
该SPCP: Unexpected SPCR Access Width
消息仍然发生在 5.10(我仍然可以启动),所以我认为这并不重要。这样做update-initramfs -u
也没有帮助,它仍然会给出这个错误。
我看到的大多数现有建议都说 UUID 是错误的,但是旧内核可以正常启动,所以这让我认为启动分区很好。我该如何解决这个问题,以便我可以使用 5.15 内核成功启动?
这个问题表明它可能是由错误引起的,但我的内核版本(5.10,有效,5.15,失败)都比那里提到的更新。
我最终让它工作了。首先,我安装了依赖项:
接下来,我通过为内核 (
~/kernel
) 创建一个文件夹。我进入文件夹,下载了 5.15 内核的压缩包:然后我从 tarball (
cd linux-5.15.13/
) 进入文件夹。我从 5.10 内核中取出旧配置并重新使用它:运行菜单配置:
我下去,并禁用
Enable loadable module support
(用箭头键导航到它,然后按Space,这样*
它旁边的框中就没有了)。此外,导航到Cryptographics API -> Certificates for Signature Checking
,并在其中显示Additional X.509 keys for default system keyring
,确保它是空的。默认情况下,对我来说,它说debian/certs/debian-uefi-certs.pem
. 确保该字段为空。然后,保存(使用文件名.config
)并退出该menuconfig
工具。然后我编译了内核。请记住使用
sudo
. 否则以后就不能正常工作了。然后安装它(记住也要使用它
sudo
):它可能会给出一些警告,但您可以忽略它们。现在做
sudo update-grub
。重新启动,它的工作原理!分辨率改变了,所以我最终把它放在
/etc/default/grub
文件的末尾来修复它。请注意,模式 (0x031b
) 对您来说可能会有所不同,因此请使用sudo hwinfo --framebuffer
来确定分辨率选项。您可能需要sudo apt-get update && sudo apt-get install hwinfo
安装它。如果您如上所示更改了分辨率,请执行
sudo update-grub
并重新启动以使用这些新设置。