当我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