AMD-VI:在空白 SSD 上安装 Arch Linux 失败后完成等待循环

AMD-VI:在空白 SSD 上安装 Arch Linux 失败后完成等待循环

更新于 2019-05-21 19:37 美国东部时间:我的主板采用最新的 BIOS,发布2019-03-06,但仍然存在下面描述的安装问题。

更新:我将 Arch ISO 刻录到 CD,然后尝试从它启动,无论是在 UEFI 还是旧版中。相同类型的结果:

在此输入图像描述 在此输入图像描述 在此输入图像描述 在此输入图像描述

原问题: 我以前dd放过这个 Arch ISO(版本 2019.05.02)在 USB 记忆棒上,然后尝试在我的台式计算机上从它启动。当 Arch 菜单出现时,我选择“Boot Arch Linux (x86_64)”。但接下来是一堆错误消息,然后进程就挂在那里什么都不做。这是一张照片:在此输入图像描述

这些消息以“AMD-Vi:完成等待循环超时”开始

这些消息包括“内核恐慌”。

我的主板是 MSI B450 Tomahawk,配备 Ryzen 5 2600 CPU。我尝试过通过 UEFI 和旧版启动,结果相同。

如何安装 Arch Linux?

答案1

带有 MSI B450 的 Linux 内核

在这种情况下内核会失败,因为 iommu 功能的支持;您可以使用一些特定的内核调整(参数)来修复启动问题,这个视频演示如何编辑/应用内核参数;这里有一些可能的解决方案,尝试不同的建议参数并选择最适合您需求的一个。您也可以在BIOS中关闭SVE。

可能的解决方案:内核参数

  • iommu=off
  • iommu=offamd_iommu=fullflush
  • amd_iommu=off
  • mem_encrypt=off
  • amdgpu.runpm=0
  • pci=noats

涉及技术定义

内核参数:(又名引导选项)内核命令行参数是在引导过程中传递给内核以调整其特性或功能的参数。

IOMMU:是一个内存管理单元,主要提高性能和安全性;可以找到更多详细信息这里

IOMMU 状态:打开、关闭或 fullflush(链接文章中有详细信息)

内存加密:添加对安全内存加密 (SME) 的支持。并定义内存加密掩码,该掩码将在后续补丁中用于将页面标记为已加密。

amdgpu.runpm=0:禁用 Linux 内核中的图形电源管理(然后将在硬件/固件/BIOS 级别进行处理)

pci=noats:禁用PCI 地址转换服务

笔记

  • 安装后,您需要非常小心内核更新

  • 高级技术用户可以使用以下命令构建自己的内核或者修补

Arch 启动盘:

要将参数应用到启动磁盘,请在启动菜单上按“tab”编辑启动命令,按空格键(添加一个空格),然后写入参数,例如不带引号的“iommu=off”,然后按 Enter 启动

资料来源:

发射台, 自由桌面, 自由桌面, 自由桌面, 阿库本图, 维基百科, 代码艺术, 架构Linux, Linux基金会, 关闭, YouTube, YouTube

答案2

在启动时添加acpi=offiommu=soft。两者都有其缺点:

iommu=soft:

然后,Linux 可以正确检测所有内容(所有核心),并且我的崩溃次数为零。唯一的问题是它使用软件 IOMMU,这可能会降低性能,因为它必须将某些 PCI 设备的所有数据复制到 4G 以下区域。

acpi=off:

或者,它使用内核选项“acpi=off”启动,但仅检测单个核心/线程。

资源:https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1747463

要添加这些选项之一,请在屏幕上按 Tab 键Press [Tab] to edit options,然后将其添加到包含 的行的末尾initrd=

资源:https://www.reddit.com/r/archlinux/comments/9bv2vj/how_to_add_kernel_parameters_to_boot_from/

如果这不起作用,请检查是否有任何可用的 BIOS 和/或 Arch ISO 更新。如果/当 Arch 在其镜像中包含 Linux 内核 5 时,您可能有更好的机会让它工作。

资源:https://askubuntu.com/a/1091191

相关内容