用 efibootmgr 调整 UEFI 启动顺序

不进 BIOS,直接在 Linux 里修改 UEFI 启动项顺序,指定默认启动的系统。

Linux启动UEFIEFI中风险
先运行 sudo efibootmgr 查看启动项列表,再用 sudo efibootmgr -o 0003,0001,0002 把想要的项排到第一位。

01命令

命令
$ sudo efibootmgr -o 0003,0001,0002

02作用说明

UEFI 机器把启动项(Boot0001、Boot0002……)保存在主板 NVRAM 里,并有 BootOrder 变量决定先后顺序。efibootmgr 可以直接读写这些变量,让 Windows 或另一个系统恢复默认启动,不用去翻固件菜单。加 -v 会显示设备路径,方便区分多个看起来一样的 'Linux Boot Manager'。

03风险

风险中风险
使用条件UEFI machine booted in EFI mode (check that /sys/firmware/efi exists); efibootmgr package (preinstalled on most distros); root access.
!注意: 这是在写主板的 NVRAM,改错了可能导致无法开机,需要靠一次性启动菜单(通常是 F8/F12)补救。不确定时不要用 efibootmgr -B 删除启动项;另外有些固件会把 Windows Boot Manager 悄悄加回第一位。

04撤销

撤销
$ sudo efibootmgr -o 0001,0003,0002

05来源

  • efibootmgr(8) — Arch Manual Pages
    Arch Linux · community · 2026-09-17
    依据: Lists the --bootorder option for manipulating the UEFI BootOrder variable and the numbered BootXXXX entries shown by efibootmgr.
  • efibootmgr(8) — Debian bookworm
    Debian Manpages · community · 2026-09-17
    依据: Documents -o, --bootorder to explicitly set the boot order, and -b/--bootnum with -v verbose listing of boot entries.

最后验证: 2026-09-19 · 分类: 系统与设置