![Ubuntu 内核更新后无法启动](https://linux22.com/image/188394/Ubuntu%20%E5%86%85%E6%A0%B8%E6%9B%B4%E6%96%B0%E5%90%8E%E6%97%A0%E6%B3%95%E5%90%AF%E5%8A%A8.png)
答案1
AMD 的虚拟化子系统存在问题较新的 Linux 内核 (>= 5.5)这本质上是实施问题,也就是说,就您的情况而言,该问题的最终解决方案应该来自 Lenovo,以 BIOS 更新的形式,纠正 Ryzen 虚拟化的初始化方式。
当然,这对解决此时此地的问题没有任何帮助,因此在此之前,您需要找到正确的内核命令行参数,这些参数将禁用虚拟化子系统或将其降级到引导过程能够继续过去的程度。它至多会出现错误,而不是恐慌。我没有任何 Ryzen 系统,因此无法提供太多确定性,但我相信您需要将以下一组参数添加到内核命令行中:
iommu=soft
iommu=soft pci=noaer
amd_iommu_intr=legacy iommu=soft
amd_iommu=off iommu=off
amd_iommu=off iommu=off amdgpu.noretry=0 nox2apic
acpi=off
恐怕这类问题通常可以通过这种反复试验的方法来解决,以发现什么适合您的特定硬件设置。假设您使用 GRUB 引导,您可以E在突出显示要引导的内核条目后按键盘上的按键来测试这些额外参数,找到以以下开头的引导脚本行linux
(通常从左边缩进)并将这些额外参数添加到该行的末尾。然后按Ctrl+X使用编辑后的内核命令行启动并祈祷。一旦找到允许系统成功启动的组合,您可以通过编辑文件/etc/default/grub
并将它们放置在以GRUB_CMDLINE_LINUX_DEFAULT
,在右引号内。
根据您对硬件虚拟化的需求,另一种更直接的方法是进入 UEFI BIOS 设置,方法是F1在开机后立即以两秒的间隔重复敲击键盘上的按键,直到显示 BIOS 设置,然后查找条目名称中包含“AMD”和“Virtualization”,并将其值切换为“Off”或“Disabled”。然后,您可以等待系统的下一个 UEFI BIOS 版本(当前版本是1.10,2021-01-25 发布)并尝试在更新成功后重新启用虚拟化设置。
答案2
在我看来,您遇到的麻烦不是新内核的问题,而是用户空间的问题。引导之间的内核消息是不同的并且不表示任何冻结。
与此同时,最后一条 systemd 消息看起来可疑且令人困惑:mounting gnome-calculator
?真的吗?如果我是你,我会尝试删除内核下所有已安装的仍然有效的快照,然后重试。