当我启动 HP 计算机时,出现以下消息:
System BootOrder not found.
Initializing defaults …
Could not create variable: … Out of resources
经过 2 次尝试失败(资源耗尽)后,Grub 终于加载,这样我就可以在 Debian 和 Windows 启动加载程序之间进行选择。
来自 Debian:
% efibootmgr -v
BootCurrent: 0000
Timeout: 0 seconds
No BootOrder is set; firmware will attempt recovery
Boot0000* debian HD(2,GPT,acd21fe6-e872-42dd-a40a-82e3eae6323f,0xe1800,0x32000)/File(\EFI\debian\shimx64.efi)
Boot0001* Windows Boot Manager HD(2,GPT,acd21fe6-e872-42dd-a40a-82e3eae6323f,0xe1800,0x32000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...,................
Boot0002* debian HD(2,GPT,acd21fe6-e872-42dd-a40a-82e3eae6323f,0xe1800,0x32000)/File(\EFI\debian\shimx64.efi)
Boot0003* debian HD(2,GPT,acd21fe6-e872-42dd-a40a-82e3eae6323f,0xe1800,0x32000)/File(\EFI\GRUB\shimx64.efi)
Boot0004* debian HD(2,GPT,acd21fe6-e872-42dd-a40a-82e3eae6323f,0xe1800,0x32000)/File(\EFI\debian\shimx64.efi)
Boot0005* debian HD(2,GPT,acd21fe6-e872-42dd-a40a-82e3eae6323f,0xe1800,0x32000)/File(\EFI\GRUB\shimx64.efi)
Boot0006* debian HD(2,GPT,acd21fe6-e872-42dd-a40a-82e3eae6323f,0xe1800,0x32000)/File(\EFI\debian\shimx64.efi)
…
Boot0206* debian HD(2,GPT,acd21fe6-e872-42dd-a40a-82e3eae6323f,0xe1800,0x32000)/File(\EFI\debian\shimx64.efi)
Boot0207* debian HD(2,GPT,acd21fe6-e872-42dd-a40a-82e3eae6323f,0xe1800,0x32000)/File(\EFI\GRUB\shimx64.efi)
我想设置一个启动顺序来避免创建这个愚蠢的条目,但是:
% efibootmgr -o 0,1
Could not set BootOrder: No space left on device
顺便说一句,我想清除所有这些重复的条目。% efibootmgr -b 202 -B
似乎有效,但需要大约 90 秒,而且我要删除大约 500 个条目……
硬件:HP ProBook 4540s
编辑:
% apt-get install --reinstall grub-efi
…
Paramétrage de grub-efi-amd64 (2.02+dfsg1-20+deb10u3) ...
Installation pour la plate-forme x86_64-efi.
File descriptor 3 (pipe:[143842]) leaked on vgs invocation. Parent PID 5604: grub-install
File descriptor 5 (/dev/sda2) leaked on vgs invocation. Parent PID 5604: grub-install
File descriptor 3 (pipe:[143842]) leaked on vgs invocation. Parent PID 5604: grub-install
File descriptor 5 (/dev/sda2) leaked on vgs invocation. Parent PID 5604: grub-install
grub-install : attention : Cannot set EFI variable BootOrder.
grub-install : attention : efivarfs_set_variable: writing to fd 7 failed: Aucun espace disponible sur le périphérique.
grub-install : attention : _efi_set_variable_mode: ops->set_variable() failed: Aucun espace disponible sur le périphérique.
grub-install : erreur : failed to register the EFI boot entry: Aucun espace disponible sur le périphérique.
Failed: grub-install --target=x86_64-efi --force-extra-removable
WARNING: Bootloader is not properly installed, system may not be bootable
Création du fichier de configuration GRUB…
…
Traitement des actions différées (« triggers ») pour shim-signed:amd64 (1.33+15+1533136590.3beb971-7) ...
Erreur : GDBus.Error:org.freedesktop.systemd1.UnitMasked: Unit -.mount is masked.
现在,没有重复的debian
条目,但我仍然无法设置启动顺序。
答案1
实际上,我认为这是一个 BIOS 安全问题。
Escape
当 PC 开始进入 BIOS 菜单时,按/Hammer键,然后F10
配置 BIOS/UEFI。
在System Configuration
选项卡中,您必须访问Set Security Level
,然后对于各种选项(例如UEFI Boot Order
),您必须选择Change
而不是View
项目。事实上,UEFI 允许您更改任何内容,但如果您未将上述设置设置为 ,则在您重新启动 PC 时会立即删除您设置的所有设置Change
。
我认为此设置之一用于保护 NVRAM 不被编辑efibootmgr
。