当我的主板运行 UEFI 时,Linux 显示我正在使用 BIOS

Bra*_*art 1 bios linux boot ubuntu uefi

我在安装 ubuntu 服务器时遇到了一些启动问题。

Linux 版本 5.4.0-81-generic (buildd@lgw01-amd64-052) (gcc 版本 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04))

[GPT 分区未显示在 BIOS/UEFI 中]

我现在意识到我的ASUS Maximus VII Impact 在 UEFI 上运行,而不是 BIOS,因此 GPT 分区应该显示在选择中。但是,当我检查是否运行 BIOS 或 UEFI 时:ls /sys/firmware/efi 我得到:ls: cannot access '/sys/firmware/efi': No such file or directorydmesg | grep "EFI v"没有返回任何内容,表明我不运行 UEFI。

那么,当我的 BIOS/UEFI(无论我正在看什么)屏幕具有现代的鼠标可操作界面时,我为什么要从 BIOS 启动呢?我应该如何继续从 UEFI 引导 linux?

use*_*686 7

\n

那么我怎么会从 BIOS 启动呢?

\n
\n

大多数 UEFI 系统(除了一些非常新的系统)都有一个“兼容性支持模块”(又名“CSM 模式”又名“传统启动”),允许它们模拟传统的 BIOS 启动过程。当操作系统在此模式下引导时,不会使用 EFI 系统分区(而是引导磁盘的引导扇区),并且操作系统无法访问 UEFI 特定的接口(因此没有 /sys/firmware/efi)。

\n

固件设置屏幕将有一个选项来禁用兼容模式并仅强制执行本机 UEFI 引导。(该选项可能以多种不同的方式命名,但它出现,因为 Microsoft 要求它作为安全启动支持的一部分。)

\n

但是,启用 CSM 并不会阻止操作系统以本机 UEFI 模式 \xe2\x80\x93 启动,它只是使两种模式都可用。通常在此类系统中,当启用 CSM 时,F8启动菜单将同时显示“传统”BIOS 模式和“本机”UEFI 模式项。

\n
    \n
  • 例如,如果同一个 Ubuntu 安装 USB 记忆棒同时兼容 BIOS 模式启动和 UEFI,那么它将显示两次。这通常会导致人们出于习惯选择错误的项 \xe2\x80\x93 在 BIOS 模式下启动 U 盘 \xe2\x80\x93 ,操作系统安装程序也会相应地准备要在 BIOS 模式下启动的系统盘,尽管固件支持 UEFI。

    \n
  • \n
  • 这并不是在支持 UEFI 的计算机上安装 BIOS 式操作系统的唯一原因,但它相当常见。另一个常见原因是用于将 .iso 映像写入 USB 记忆棒 \xe2\x80\x93 的程序,其中一些程序坚持以自己的方式重新安排映像的启动过程,而这通常最终导致 USB 记忆棒仅被BIOS 兼容,即使原始映像具有 UEFI 支持。由于启用了 CSM,USB 记忆棒仍然可以工作,用户不会意识到丢失了任何东西。

    \n
  • \n
\n

因此,您正在 BIOS 模式下启动,因为 1) 固件能够执行此操作,2) 此特定磁盘上的操作系统是以这种方式安装的。

\n
\n

我的 BIOS/UEFI(无论我在看什么)屏幕,有一个现代的、鼠标可操作的界面吗?

\n
\n

接口与固件类型关系不大。(或者也许“相关性并不意味着因果关系”?)是的,现代的鼠标可操作界面现在很常见,UEFI 固件也是如此,但实际上两者都不意味着其他 \xe2\x80\x93 文本模式设置屏幕只是这在 UEFI 系统中很常见,而 30 年前一些制造商曾经拥有可通过鼠标操作的 BIOS 界面。

\n
\n

我应该如何继续从 UEFI 引导 linux?

\n
\n

如果操作系统尚未安装,或者您可以重新安装它:

\n
    \n
  1. 转到您的固件设置,并确保禁用“CSM”或将启动模式设置为“本机”或“仅 UEFI”(或华硕固件中的任何名称)。

    \n

    (使用 Ubuntu,您甚至可以启用安全启动 \xe2\x80\x93,这将导致强制 UEFI 启动作为副作用。)

    \n
  2. \n
  3. 重新安装操作系统。

    \n
  4. \n
\n

如果操作系统已安装并且您想保留它:

\n
    \n
  1. 手动创建EFI系统分区。将其安装在 /boot/efi (以匹配 Ubuntu 的做法)。

    \n

    如果没有更多未分配空间,请缩小根分区。EFI 系统分区不必位于开头,但至少需要 100 MB(因此现有的 1 MB“BIOS 引导”分区无法满足要求)。

    \n
  2. \n
  3. 安装正确的 GRUB2 软件包(例如grub-efi-amd64)并再次 grub 安装引导加载程序。这次您不需要指定“/dev/sda”。

    \n
    grub-install --target=x86_64-efi\n
    Run Code Online (Sandbox Code Playgroud)\n

    update-grub此后您可能需要重新运行。

    \n
  4. \n
\n\n