Fixing missing Omarchy boot entries

In a normal Omarchy installation, the expected behavior is that you will see two new boot options in your BIOS: Omarchy and Limine. There are two for good reason. Omarchy boots straight to Omarchy, and is what should be first in your boot order, typically. Limine goes to the Limine boot loader menu, which allows you to restore from snapshots, which is useful.

However, in my experience, sometimes a fresh install will fail to set up these boot entries. Unfortunately, I have not spent the effort to discover the true root cause. Regardless, fixing it is easy.

As a concrete example, I recently installed Omarchy on a ThinkPad T14 Gen 4, and after what appeared to be a successful installation, I had the Limine boot entry, but was missing the Omarchy one, meaning when I booted, I was wasting time in the Limine menu each boot.

The /boot partition was set up as expected, though.

 lt /boot/EFI/
drwxr-xr-x    - root 23 Jan 15:50 /boot/EFI
drwxr-xr-x    - root 23 Jan 15:48 ├── BOOT
.rwxr-xr-x 291k root 23 Jan 15:48 │   ├── BOOTIA32.EFI
.rwxr-xr-x 283k root 23 Jan 15:48 │   └── BOOTX64.EFI
drwxr-xr-x    - root 23 Jan 15:49 ├── limine
.rwxr-xr-x 287k root 23 Jan 15:49 │   ├── limine_x64.bak
.rwxr-xr-x 283k root 23 Jan 15:49 │   └── limine_x64.efi
drwxr-xr-x    - root 23 Jan 15:50 └── Linux
.rwxr-xr-x  47M root  6 Jan 10:29     └── omarchy_linux.efi

And, with that, it’s very easy to fix the boot entries with efibootmgr.

First, let’s look at drive names.

 df -h
Filesystem        Size  Used Avail Use% Mounted on
dev               7.7G     0  7.7G   0% /dev
run               7.7G  1.9M  7.7G   1% /run
efivarfs          196K  118K   74K  62% /sys/firmware/efi/efivars
/dev/mapper/root  237G   21G  214G   9% /
tmpfs             7.7G  580K  7.7G   1% /dev/shm
none              1.0M     0  1.0M   0% /run/credentials/systemd-journald.service
none              1.0M     0  1.0M   0% /run/credentials/systemd-resolved.service
none              1.0M     0  1.0M   0% /run/credentials/systemd-networkd.service
tmpfs             7.7G  8.0K  7.7G   1% /tmp
/dev/mapper/root  237G   21G  214G   9% /var/log
/dev/mapper/root  237G   21G  214G   9% /var/cache/pacman/pkg
/dev/mapper/root  237G   21G  214G   9% /home
/dev/nvme0n1p1    2.0G  144M  1.9G   8% /boot
tmpfs             1.6G  228K  1.6G   1% /run/user/1000

With these two pieces of information, adding an Omarchy boot entry is simple.

First, you can run sudo efibootmgr to see your existing boot entries. You’ll be able to confirm whether you’re missing entries here.

Note

I should’ve recorded the output before the fix, but didn’t think I’d write a post about it until after the fact. Hindsight is 20/20.

Then, to add a new boot entry you can simply run:

sudo efibootmgr \
  --create \
  --disk /dev/{drive-name} \
  --part {partition-num} \
  --loader /path/from/boot/to/efi \
  --label "YourLabel"

So, given the output of df, where I see my /boot is mounted to /dev/nvme0n1p1, I know /dev/nvme0n1 is my drive name, and it’s on p1 or partition 1. Thus, my specific call would be the following.

sudo efibootmgr \
  --create \
  --disk /dev/nvme0n1 \
  --part 1 \
  --loader /EFI/Linux/omarchy_linux.efi \
  --label "Omarchy"

Same deal if you were missing a Limine entry (using my specifics as an example again).

sudo efibootmgr \
  --create \
  --disk /dev/nvme0n1 \
  --part 1 \
  --loader /EFI/limine/limine_x64.efi \
  --label "Limine"

Once that’s done, you should be able to see the boot entries in efibootmgr, as well as in your BIOS.

 sudo efibootmgr
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000,0001,001E,001F,0021,0020,0022,0023,0024,0025,0026
Boot0000* Omarchy       HD(1,GPT,e7363f48-0ae8-47bb-bb0f-298baceaff27,0x800,0x400000)/\EFI\Linux\omarchy_linux.efi
Boot0001* Limine        HD(1,GPT,e7363f48-0ae8-47bb-bb0f-298baceaff27,0x800,0x400000)/\EFI\limine\limine_x64.efi
Boot0010  Setup FvFile(721c8b66-426c-4e86-8e99-3457c46ab0b9)
Boot0011  Boot Menu     FvFile(126a762d-5758-4fca-8531-201a7f57f850)
Boot0012  Diagnostic Splash Screen      FvFile(a7d8d9a6-6ab0-4aeb-ad9d-163e59a7a380)
Boot0013  Lenovo Diagnostics    FvFile(3f7e615b-0d45-4f80-88dc-26b234958560)
Boot0014  Asset Information     FvFile(da465b87-a26f-4c12-b78a-0361428fa026)
Boot0015  Regulatory Information        FvFile(478c92a0-2622-42b7-a65d-5894169e4d24)
Boot0016  ThinkShield secure wipe       FvFile(3593a0d5-bd52-43a0-808e-cbff5ece2477)
Boot0017  ThinkShield Passwordless Power-On Device Manager      FvFile(08448b41-7f83-49be-82a7-0e84790ab133)
Boot0018  Wi-Fi Configuration   FvFile(d3aaff0f-cb22-4792-896c-802c2e9383ba)2d004100700070000000
Boot0019  Reinstall Windows from Cloud  FvFile(3edbaac4-5017-4870-8cc4-721f9ef1974f)2d004100700070000000
Boot001A  Intel(R) MEBx FvFile(29a70110-7762-4211-ae88-fab19b7665be)
Boot001B  Startup Interrupt Menu        FvFile(f46ee6f4-4785-43a3-923d-7f786c3c8479)
Boot001C  Rescue and Recovery   FvFile(665d3f60-ad3e-4cad-8e26-db46eee9f1b5)
Boot001D  Lenovo Memory Self Repair     FvFile(4ddd67e7-bdf5-4473-8ab0-02821c084338)
Boot001E  USB CD        VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,86701296aa5a7848b66cd49dd3ba6a55)
Boot001F  USB FDD       VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,6ff015a28830b543a8b8641009461e49)
Boot0020  NVMe0 VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,001c199932d94c4eae9aa0b6e98eb8a400)
Boot0021* USB HDD       VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,33e821aaaf33bc4789bd419f88c50803)
Boot0022  PXE BOOT      VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,78a84aaf2b2afc4ea79cf5cc8f3d3803)
Boot0023  LENOVO CLOUD  VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,ad38ccbbf7edf04d959cf42aa74d3650)/Uri(https://download.lenovo.com/pccbbs/cdeploy/efi/boot.efi)
Boot0024  ON-PREMISE    VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,ad38ccbbf7edf04d959cf42aa74d3650)/Uri()
Boot0025  Other CD      VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,aea2090adfde214e8b3a5e471856a35400)
Boot0026  Other HDD     VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,ca88c2349e7ae947beeb43038a5aeae700)
Boot0027* IDER BOOT CDROM       PciRoot(0x0)/Pci(0x14,0x0)/USB(11,1)
Boot0028* IDER BOOT Floppy      PciRoot(0x0)/Pci(0x14,0x0)/USB(11,0)
Boot0029* ATA HDD       VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f6)
Boot002A* ATAPI CD      VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,aea2090adfde214e8b3a5e471856a354)

Setting Omarchy to your first boot option will then boot straight to Omarchy.

Posts from blogs I follow

The Past, Present, and Future of Digital Storytelling with Ramy Katrib

Ramy Katrib has been at the forefront of digital storytelling for over 25 years, with his post-production company, DigitalFilm Tree, earning a reputation as one of Hollywood's most technically adventurous post-production houses. He joined Bryan and Adam to explore the past, prese…

via Oxide and Friends July 23, 2026

On AI

In 2019, I started watching Andreas Kling's programming videos, many of which were live-coding sessions writing his new operating system Serenity OS. He was always pretty fast at writing code, especially since his IDE, Qt Creator, had knowledge of all his C++ code and could auto-…

via joshua stein July 23, 2026

Hardening Rust Code For Production

We talked about patterns for defensive programming in Rust before, in which implicit invariants that aren’t enforced by the compiler lead to utter misery. But being careful isn’t enough! Even valid code can fail at runtime in ways that are hard to predict and control. That’s what…

via Corrode Rust Consulting July 23, 2026

Generated by openring-rs from my blogroll.