efibootmgr - 将 FreeBSD 添加到 3 Linux 安装驱动器

efibootmgr - 将 FreeBSD 添加到 3 Linux 安装驱动器

首先,抱歉我的英语不好:)

我在网上读了很多帖子,但我无法解决如何将操作系统添加到 UEFI 启动列表的问题。我最近在笔记本电脑上安装了 FreeBSD 12。

这是我的笔记本电脑的状态

  • 联想 T430 + UEFI + 安全启动关闭
  • 3 个驱动器,GPT(1 个 SSD 用于 Windows - 1 个 mSATA SSD 用于 Linux - 1 个 HDD 用于数据)
  • 在 mSATA 上 = Ubuntu(主操作系统)+ Kali + openSUSE(实验操作系统)+ FreeBSD

我通常会按 F12(在第一个 UEFI 条目自行加载之前)来选择需要打开的操作系统,但在安装 FreeBSD 后,它并没有自行在 UEFI 上创建条目。正如我所搜索的,我们可以通过“efibootmgr”将操作系统添加到 UEFI 启动列表中。

我的问题是如何使用 efibootmgr 将 FreeBSD 添加到 UEFI 启动列表?如果有人能指导我,我将非常高兴。

这是我的 lsblk 和 efibootmgr 结果。sdc7 是 FreeBSD 的 EFI 分区,sdc8 是它的 / 驱动器。

如您所见,我在同一个驱动器上有两个 EFI 分区。FreeBSD 创建了自己的 EFI 驱动器,这就是为什么我需要将此分区指向我将要编写的命令。

此命令有效吗?由于我在同一个驱动器上有 2 个 EFI 分区,因此我使用 -p 选项而不是互联网上每个人都写的 -d。我只是不想用错误的命令破坏 UEFI。

在运行此命令之前我还需要运行其他命令吗?

sudo efibootmgr -c -d /dev/sdc -p 7 -l \\efi\\boot\\BOOTx64.efi -L freebsd

lsblk -f

sda                                                                   
├─sda1
├─sda2
│    ntfs   Recovery
│                 2882D1D482D1A71A                                    
├─sda3
│    vfat         E0D3-5A76                              56,6M    41% /boot/efi
└─sda4
     ntfs   Windows
                  AEEEE327EEE2E715                                    
sdb                                                                   
├─sdb1
├─sdb2
│    ntfs   Windows_Data
│                 46B8A33CB8A3297F                                    
├─sdb3
│    ntfs   Transfer_Data
│                 01D5962B6B1B0270                                    
└─sdb4
     ext4   Linux_Data
                  80f81b0e-99ce-416f-9599-03af50d533af    560G    27% /media/data
sdc                                                                   
├─sdc1
├─sdc2
│    vfat         BEC4-D40C                                           
├─sdc3
│    ext4         7ba2f24a-caa6-49d2-99dc-8dd13277fc30   32,8G    41% /
├─sdc4
│    swap         4629bdd0-5bc9-4c3e-8bfb-c00ba5edad7a                [SWAP]
├─sdc5
│    ext4   KaliSystem
│                 b237a533-4cb1-452b-9e19-cb93e5312530                
├─sdc6
│    btrfs  openSUSESystem
│                 707b8c36-e278-4c58-ac65-e9ed9ae516f1                
├─sdc7
│    vfat   EFISYS
│                 BD41-11EE                                           
└─sdc8
     ufs          5e201901028bcd4a 

启动管理器

BootCurrent: 001A
Timeout: 0 seconds
BootOrder: 0000,0001,0002,0003,0018,001A,0019,001B,0007,0008,0009,000A,000B,000C,000D,000E,000F,0011,0010,0012
Boot0000  Setup
Boot0001  Boot Menu
Boot0002  Diagnostic Splash Screen
Boot0003  Lenovo Diagnostics
Boot0004  Startup Interrupt Menu
Boot0005  ME Configuration Menu
Boot0006  Rescue and Recovery
Boot0007* USB CD
Boot0008* USB FDD
Boot0009* ATAPI CD0
Boot000A* ATA HDD0
Boot000B* ATA HDD1
Boot000C* ATA HDD2
Boot000D* USB HDD
Boot000E* PCI LAN
Boot000F* ATAPI CD1
Boot0010  Other CD
Boot0011* ATA HDD3
Boot0012  Other HDD
Boot0013* IDER BOOT CDROM
Boot0014* IDER BOOT Floppy
Boot0015* ATA HDD
Boot0016* ATAPI CD:
Boot0017* PCI LAN
Boot0018* Windows Boot Manager
Boot0019* opensuse-secureboot
Boot001A* ubuntu
Boot001B* kali

答案1

我使用了我所说的命令,但出现了非易失性存储器已满错误。

为了解决问题,我删除了最近在 UEFI 中创建的条目,删除了 /sys/firmware/efi/efivars 上的转储文件,再次运行 efibootmgr 命令

希望这可以帮助那些面临同样问题的人

相关内容