Reorder UEFI boot entries with efibootmgr

Pick which OS or drive boots first by editing the EFI BootOrder variable from a running Linux.

LinuxbootuefiefiMedium risk
Run sudo efibootmgr to list entries, then sudo efibootmgr -o 0003,0001,0002 to put your chosen entry first — no BIOS needed.

01Command

Command
$ sudo efibootmgr -o 0003,0001,0002

02What it does

UEFI machines keep a list of boot entries (Boot0001, Boot0002, ...) in NVRAM, plus a BootOrder variable that ranks them. efibootmgr reads and rewrites these straight from Linux, so you can make Windows or another distro default again without hunting through firmware menus. The -v flag adds the device paths so you can tell duplicate-looking 'Linux Boot Manager' entries apart.

03Risk

RiskMedium risk
RequirementsUEFI machine booted in EFI mode (check that /sys/firmware/efi exists); efibootmgr package (preinstalled on most distros); root access.
!Warning: This writes to your motherboard's NVRAM: wrong changes can make the machine unbootable until fixed from the one-time boot menu (usually F8/F12). Never use 'efibootmgr -B' to delete entries unless you know exactly what you are removing, and note some firmwares silently re-add Windows Boot Manager first.

04Undo

Undo
$ sudo efibootmgr -o 0001,0003,0002

05Sources

  • efibootmgr(8) — Arch Manual Pages
    Arch Linux · community · 2026-09-17
    Evidence: 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
    Evidence: Documents -o, --bootorder to explicitly set the boot order, and -b/--bootnum with -v verbose listing of boot entries.

Last verified: 2026-09-19 · Category: System & Settings