Jump to content

Talk:Unified Extensible Firmware Interface

From ArchWiki

bcdedit

I do not think that the command

# bcdedit /set {bootmgr} path \EFI\path\to\app.efi

"tell the Windows boot loader to run a different UEFI application" as mentioned in the wiki (in the "Windows changes boot order" section) I think it add an entry in the UEFI firmware. But that can be as well accomplished under Linux with efibootmgr command. If the UEFI is weird (by refusing to boot something other than Windows for example); I do not think it will be of any help. I am not a Windows specialist and so I do not take the responsibility to edit this section, but someone more knowledgeable than me should double check it.

—This unsigned comment is by Olive (talk) 13:00, 20 September 2016‎. Please sign your posts with ~~~~!

From my reading, it seems that this command should trick windows into running a different EFI application instead of its own boot manager (bootmgfw.efi). I don't have the means to test it right now, but given that there are plenty of other recommendations in the article, I don't think it hurts to keep this command around. We'll just have to wait until someone gives it a test. Silverhammermba (talk) 15:35, 20 September 2016 (UTC)Reply
The `bcdedit` command causes Windows to chainload the named .efi loader, no new NVRAM entries are made. Head on a Stick (talk) 15:49, 23 March 2019 (UTC)Reply

efivars mount

I cannot get efibootmgr to make any changes using a naive efivars mount because it defaults to mounting read-only: "Could not prepare Boot variable: Read-only file system". The only way I found to fix it was by adding a rw efivars mount to fstab and rebooting. If it gets mounted ro during boot you cannot simply remount it afterwards. You have to set it up in fstab. Or I'm doing something wrong?

Silverhammermba (talk) 01:06, 13 March 2024 (UTC)Reply

Lenovo ThinkPad: boot entries not persistent due to "OS Optimized Defaults"

On my Lenovo ThinkPad T16 Gen 2 (AMD) I installed Arch Linux with systemd-boot in dual boot with Windows 11. The problem was that any custom UEFI entry I created with efibootmgr (e.g. “Linux Boot Manager”) disappeared after reboot, and the firmware always restored only Windows Boot Manager and Lenovo’s own entries.

The solution was to disable the BIOS option “Restart / OS Optimized Defaults”. After that, my efibootmgr entry for systemd-boot finally persists and the menu works as expected.

I reported this to Arch Linux Forum. My message was moved to the dustbin, and I was told to add such info to the wiki.

Pipep (talk) 13:54, 23 August 2025 (UTC)Reply

Please add that information to [Laptop/Lenovo], since it's specific to your laptop. Thanks!
Silverhammermba (talk) 00:40, 25 August 2025 (UTC)Reply
Done, see https://wiki.archlinux.org/title/Laptop/Lenovo#UEFI_boot_entries_not_persistent
--Pipep (talk) 19:25, 25 August 2025 (UTC)Reply