刷新 efibootmgr 下显示的 EFI 条目

刷新 efibootmgr 下显示的 EFI 条目

当我efibootmgr在终端中输入时,我得到的输出看起来有点像这样:

0001 Ubuntu
0002 Windows
1001 Random Partition 1
1002 Random Partition 2
1003 Random Partition 3

现在,如果我将可启动 USB 插入我的电脑,我希望在再次运行命令时看到新条目出现,如下所示:

0001 Ubuntu
0002 Windows
1001 Random Partition 1
1002 Random Partition 2
1003 Random Partition 3
0003 Bootable USB

但是,除非我插入 USB 后重启计算机,否则新的 efi 条目不会显示出来。有什么方法可以“刷新”EFI,以便它无需重启就能看到 USB?我在手册中查找了 efibootmgr,但找不到任何有用的信息。我看到您可以创建一个 efibootmgr 条目...我是否可以创建一个映射到该 USB 的条目?注意:我希望能够自动执行此过程,因此我需要能够检测 USB 并创建条目,而无需实际输入配置信息。

谢谢,

答案1

您的计算机固件在启动时会为启动时可用的设备创建 UEFI 变量。一旦操作系统调用 ExitBootServices(),固件就不再管理这些设备,因此无法更新变量。

您可以编写一个 udev 规则,当发生 USB 插入事件时,该规则调用一个脚本来调用 efibootmgr 来创建额外的 Bootxxxx 变量。参见https://unix.stackexchange.com/questions/28548/how-to-run-custom-scripts-upon-usb-device-plug-in

相关内容