如何检查 Ubuntu 是否已以 UEFI 模式启动?

如何检查 Ubuntu 是否已以 UEFI 模式启动?

我已经在双启动的 PC 上安装了 Ubuntu 18.04 (Bionic Beaver) 和 Windows 10。我需要检查 Ubuntu 是在 UEFI 模式还是传统模式下启动。我在网上找到了一些资料来检查这一点,但得到的结果并不明确。

再具体一点,页面上的“识别 Ubuntu 是否已在 UEFI 模式下安装”部分提供了三种检查方法。

  1. 其 /etc/fstab 文件包含一个 UEFI 分区(挂载点:/boot/efi)
  2. 它使用 grub-efi 引导加载程序(而不是 grub-pc)
  3. 从已安装的 Ubuntu 中打开终端(Ctrl+Alt+T),然后输入以下命令:[ -d /sys/firmware/efi ] && echo "以 UEFI 模式安装" || echo "以传统模式安装"

我尝试了第一种和第三种方法。

我的 fstab 文件包含以下条目:

UUID=xxx    /boot/efi    ntfs    defaults    0   1

所以,这意味着 Ubuntu 已经以 UEFI 模式启动。

但运行第三种方法中给出的命令

[ -d /sys/firmware/efi ] && echo "Installed in UEFI mode" || echo "Installed in Legacy mode"

印刷Installed in Legacy mode

哪一个是正确的? 哪种方法是 Ubuntu 18.04 的可靠方法?

答案1

您可以使用以下命令行,

test -d /sys/firmware/efi && echo efi || echo bios

或者更长但更容易理解

if test -d /sys/firmware/efi;then echo efi;else echo bios;fi

请参阅以下链接,

help.ubuntu.com/community/Installation/FromUSBStick#Test_if_running_in_UEFI_mode


编辑:评论/boot/efi

/boot/efi是一个持久目录(在关机和重启后仍然存在),而/sys/firmware/efi实际上文件系统的内容/sys是在每次计算机启动时创建的。

EFI 系统分区中的目录的存在/boot/efi,使得在 UEFI 模式下启动成为可能,但并不会导致无法在 BIOS 模式下启动。因此,它不会告诉您计算机以哪种模式启动。安装了 Ubuntu 和其他可以在 UEFI 和 BIOS 模式下启动的 Linux 系统

答案2

查明您正在运行的是 UEFI 还是 BIOS 的最简单方法是查找文件夹/sys/firmware/efi

如果您的系统使用 BIOS,该文件夹将会丢失。

执行:

$ ls /sys/firmware/efi

UEFI 启动输出示例:在此处输入图片描述

答案3

挂载点不一定意味着 EFI 系统。这只是一个快速检查。EFI 分区通常是一个 fat 分区。在这种情况下它是 ntfs,这可能意味着它只是一个双启动系统。

相关内容