在UEFI Class 3中如何安装centos 8

在UEFI Class 3中如何安装centos 8

我最近买了一台 sf514 ACER 笔记本电脑。该笔记本电脑的 BIOS 为 UEFI Class 3,因此没有 AHCI 模式。当我安装centos 8时,无法检测到nvme ssd硬盘,如何安装centos 8?

答案1

UEFI 3 类本质上意味着系统没有兼容性支持模块 (CSM) 来提供传统 BIOS 兼容性,因此它仅以本机 UEFI 模式启动。

AHCI 是目前 SATA 磁盘控制器占主导地位的硬件编程接口标准。您的系统可能无法在固件设置中选择“AHCI 模式”(过去称为“BIOS 设置”,但在 UEFI Class 3 中没有 BIOS),但这仅意味着任何 SATA 控制器可能处于本机 AHCI 模式始终,而不是提供旧版 IDE 兼容模式。这是因为 UEFI 3 类系统没有 BIOS 兼容性支持模块,它无法运行需要 BIOS 和 IDE 兼容性的旧版操作系统。由于 AHCI 比 UEFI 更早,因此每个支持 UEFI 的操作系统理所当然也应该支持 AHCI。

(由于现代笔记本电脑不可能有多个 SATA 驱动器,因此 RAID 模式可能也不适用。)

对于 NVMe,AHCI 根本不适用,因为 NVMe 的要点在于它不再需要面向 HDD 的 SATA 接口,而是将 SSD 直接连接到 PCIe 总线。

确保您正在使用全新的 CentOS 安装介质/映像而不是您可能已经拥有的旧版本:新版本可能已更新以改进对新硬件的支持。

如果您的特定笔记本电脑型号(完整型号类似于 sf514-???)比您尝试安装的操作系统的当前主要版本更新,则通常可能会遇到硬件支持问题,特别是当您尝试安装时运行像 CentOS 这样注重稳定性的 Linux 发行版。

当安装程序中指示未检测到硬盘驱动器时,按Control+ Alt+F2即可访问 root shell 提示符。在那里你可以进行诊断?

  • 输出中是否检测到 NVMe 驱动器lspci? (如果驱动器工作正常,即使lspci根本没有任何驱动程序也应该可以检测到它。)
  • 内核模块是否nvme已加载?如果没有,请尝试使用命令加载它modprobe nvme,然后使用++Control返回安装程序并重试存储检测步骤。AltF1
  • lsblk命令是否检测 NVMe 驱动器?它应该显示为一个nvme0n1设备。
  • 运行dmesg -H,滚动浏览整个内核诊断消息列表,查看是否有任何有关 NVMe 驱动器的消息和/或访问它的任何问题。

您的系统似乎有 NVMe 驱动器重新映射到 AHCI。到目前为止,Linux 还不支持这种模式,问题是,似乎没有办法在运行时转换到受支持的模式——BIOS 必须这样做。以下是来自 Linux 内核开发 Git 存储库的相关评论:

一些 Intel ahci 实现具有完全损坏的重新映射模式,它们将一个或多个 NVMe 设备隐藏在 AHCI 设备后面。

英特尔拒绝让操作系统重新编程 BIOS 以在运行时切换出此模式,到目前为止,我们还没有想出另一种好方法来消除芯片组人员造成的混乱。因此,目前我们唯一能做的就是提醒用户注意这种情况,并切换到更快、更明智的所谓“AHCI”模式,取代 BIOS 中的 RAID 模式,这样 BIOS 就不会向我们隐藏 NVMe 设备。

这种情况甚至更糟,因为至少有一家供应商(非常感谢联想..)已经开始将其 BIOS 硬编码为“RAID”模式,即使对于不使用 AHCI 的笔记本电脑也是如此根本不并且只有一个 NVMe 设备。目前,有一个不受支持的仅限 Linux 的 BIOS 可以消除这种脑损伤,但我们必须看看情况是变得更好还是更糟。

基于 Dan Williams 的早期补丁[电子邮件受保护]

根据Acer 支持论坛上的讨论,更改存储控制器模式的BIOS设置应该被命名Sata mode,而不是Boot mode

相关内容