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

Nag*_*S N 9 boot dual-boot uefi 18.04

我已经在我的 PC 上安装了 Ubuntu 18.04 (Bionic Beaver),使用 Windows 10 双启动。我需要检查 Ubuntu 是在 UEFI 模式还是传统模式下启动。我在网上找到了一些来源来检查这一点,但我得到的结果模棱两可。

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

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

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

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

UUID=xxx    /boot/efi    ntfs    defaults    0   1
Run Code Online (Sandbox Code Playgroud)

因此,这意味着 Ubuntu 已在 UEFI 模式下启动。

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

[ -d /sys/firmware/efi ] && echo "Installed in UEFI mode" || echo "Installed in Legacy mode"
Run Code Online (Sandbox Code Playgroud)

打印Installed in Legacy mode

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

sud*_*dus 13

您可以使用以下命令行,

test -d /sys/firmware/efi && echo efi || echo bios
Run Code Online (Sandbox Code Playgroud)

或更长但更容易理解

if test -d /sys/firmware/efi;then echo efi;else echo bios;fi
Run Code Online (Sandbox Code Playgroud)

看下面的链接,

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


编辑:评论 /boot/efi

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

/boot/efiEFI系统分区中存在一个目录,可以让UEFI模式启动,但不代表不能进入BIOS模式。所以它不会告诉你计算机是在哪种模式下启动的。可能已经安装了可以在 UEFI 和 BIOS 模式下启动的 Ubuntu 和其他 linux 系统


Car*_*ret 5

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

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

执行:

$ ls /sys/firmware/efi
Run Code Online (Sandbox Code Playgroud)

UEFI 引导输出示例:在此处输入图片说明

  • 您以 BIOS 模式启动 (5认同)