首先,抱歉我的英语不好:)
我在网上读了很多帖子,但我无法解决如何将操作系统添加到 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 命令
希望这可以帮助那些面临同样问题的人