Linux

我的伺服器使用的是 Legacy BIOS 還是 UEFI?

  • April 22, 2022

我對某事有點困惑。我在 Digital Ocean 上有一台伺服器,我想知道用於系統啟動的 BIOS 或 UEFI。

我嘗試過以下事情:

root@debian:~$ dmidecode -t 0
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 2.4 present.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
       Vendor: DigitalOcean
       Version: 20171212
       Release Date: 12/12/2017
       Address: 0xE8000
       Runtime Size: 96 kB
       ROM Size: 64 kB
       Characteristics:
               BIOS characteristics not supported
               Targeted content distribution is supported
       BIOS Revision: 1.0

root@debian:/~$ efibootmgr
EFI variables are not supported on this system.

root@debian:/~$ ls -l /sys/firmware/efi
ls: cannot access '/sys/firmware/efi': No such file or directory

看起來像是使用了BIOS。但也有efi目錄/boot

root@debian:/~$ ls -l /boot/
drwxr-xr-x 3 root root    16384 Jan  1  1970 efi
drwxr-xr-x 6 root root     4096 Mar 30 18:48 grub

除此之外,當我查看磁碟分區表時,它是 GPT。我知道 GPT 不與 BIOS 一起使用,至少不是首選。磁碟也有 EFI 系統分區。

root@debian:/mnt$ fdisk -l /dev/vda
Disk /dev/vda: 80 GiB, 85899345920 bytes, 167772160 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 72FE8E7C-20D9-2A4A-8AFF-75948771F0DA

Device      Start       End   Sectors  Size Type
/dev/vda1  262144 167772126 167509983 79.9G Linux filesystem
/dev/vda14   2048      8191      6144    3M BIOS boot
/dev/vda15   8192    262143    253952  124M EFI System

Partition table entries are not in disk order.

我錯過了什麼?我如何確定該系統上使用的是哪一個?

root@debian:/~$ efibootmgr
EFI variables are not supported on this system.

root@debian:/~$ ls -l /sys/firmware/efi
ls: cannot access '/sys/firmware/efi': No such file or directory

因此,舊版 BIOS,而不是 EFI。

但是/boot 中也有 efi 目錄。

沒關係,您的 Linux 硬碟映像可以有一個以防萬一。僅僅因為它的存在並不意味著它被使用了。

我知道 GPT 不與 BIOS 一起使用,至少不是首選。

GPT 可以使用舊版 BIOS 正常啟動。同樣,如果您有一個同時為舊版 BIOS 和 EFI 製作的映像,那麼您將擁有 GPT 和一個 EFI 分區。

引用自:https://unix.stackexchange.com/questions/699992