Replies: 23 comments 18 replies
|
This worked smoothly for me, thank you!🎉
|
|
having some trouble at step 8. when i enroll the keys, it doesn't show what is expected and instead shows this: instead of the platform, database, and exchange keys being enrolled, and when i run Additionally, when i run status it says that sbctl was installed but it still shows the setup mode as being enabled as well. I even tried deleting keys from bios and reinstalling omarchy but still getting the same issue. This is on an Asus ProArt x670e motherboard by the way. Thanks in advance! |
|
For frame work systems this post could help https://community.frame.work/t/secureboot-setup-mode/14889 |
|
for the automatic signing step in the troubleshooting section where it says
|
|
Just to collaborate with troubleshootings: In my case the keys were created in and to sign each efi the command sudo sbctl verify | sed -nE 's|^✗ (/.+) is not signed$|sbctl sign -s "\1"|p' | sudo sh |
|
Can this file |
|
Thanks for the thorough guide. I'm a little concerned that this might not provide any substantial protection over having secure boot disabled. My understanding is that even if limine is signed, it will gladly boot whichever kernel it is pointed to without verifying it. I could be wrong, but I think this means that an attacker could still swap the file that limine points to since it isn't verified. We might need to verify that configuration file too as is described in the tip here: https://wiki.archlinux.org/title/Limine and keep our private keys that we use to sign the limine bootloader off disk. that way, an attack can't just resign their own version of the kernel, regenerate the hash, and put it into the config. I guess my point is that just have secure boot on isn't enough since there are multiple steps in the limine boot process. I would like to be wrong, because I want to use the Omarchy defaults and avoid configuring systemd-boot. Will you confirm or deny my suspicions? |
|
The guide was well laid out and is easy to follow. I have a relatively new Omarchy install (2 days) My outputs were a little different than this: on the boot menu: it shows 2 of my main drives, 1 listed as Omarchy, the other as limine New Secure boot is enabled, but I am still figuring out the remedy with the original drive not being bootable. |
|
If some people are getting the emergency shell - go into your BIOS and make sure Limine is listed first in your boot sequence list. I had omarchy listed first and when switching it to Limine -> windows -> omarchy I no longer had to hit F12 to get into boot menu and manually choose limine. Now we can avoid the emergency shell |
|
if |
|
Great guide. Had almost no issues at all. There is just one thing. If you want to delete boot entries from limine. Go to /boot/limine.conf or anywhere else where you store the file and delete manually the boot entries you don't like. They are usually in this format: //Another boot entry Just delete the section you don't want limine to display. I spent like 10 minutes looking this up so I hope I saved you the time. |
|
Thank you! this worked for me. |
|
This worked great for me. Using an Asus board so the comments helper with respect to enabling secure boot. It's a combination of two options and whether secure boot is on or not is slightly obfuscated. Should I enabling automatic signing and hooks from the troubleshooting step, or is that not necessary? |
|
Thank you for the great guide! It works with my Lenovo Legion 5 laptop. It works with both secure boot and TPM settings enabled. Some of my windows software requires secure boot and TPM to be enabled so this is a good solution for me to be able to use both Omarchy and Windows 11. |
|
I am new to linux and dualbooting. Followed the guide everything works almost perfectly with secure boot enabled but now everytime I boot windows I have to fill in my bitlocker recovery key anyone with an idea to fix that? |
|
@borgox this is a very well written and detailed guide! Had no problems setting this up. Thank you so much for putting in the effort! |
|
Hello, i am having this a problem. ~ ❯ sudo limine-mkinitcpio |
|
Thanks for the guide, worked perfectly although after step 9 my system still reported |
|
Thanks for the feedback, Will — really glad the guide worked well overall!
😊 The “Setup Mode: Enabled” message you saw after step 9 is actually
*expected* in some cases (especially on certain OEM systems or when using
custom keys via `mokutil`) — it simply means the MOK (Machine Owner Key)
database is still in an insecure state until the key enrollment is
finalized *and* the system reboots into a state where the UEFI firmware
recognizes the enrolled keys. In many cases (as you observed), the secure
boot *does* come up correctly after reboot, even if `mokutil --sb-state`
still shows “Setup Mode: Enabled” temporarily. This can happen because: -
The system hasn’t yet re-enrolled the keys into the *persistent* UEFI
variable storage (e.g., `PK`, `KEK`, `db`) at the firmware level. - Some
UEFI implementations report `Setup Mode` as “enabled” until the *next* boot
cycle completes after key enrollment. - `mokutil --sb-state` reflects the
*kernel’s* view of Secure Boot state, which may lag slightly behind the
actual firmware enforcement — especially if keys were enrolled but not yet
fully activated. A quick check you can run *after reboot* to confirm:
```bash sudo mokutil --sb-state # or more thorough: sudo efibootmgr -v ```
And to verify signed kernel/loader is in use: ```bash journalctl -b | grep
-i "secure" # Look for "SecureBoot enabled" or "shim locked" ``` If
everything booted securely (e.g., you see `shim locked` or no "insecure
mode" warnings in logs), then you’re good — the Setup Mode warning is
mostly cosmetic in this case. Thanks again for trying it out and sharing
your experience! If you’d like, feel free to suggest a clarification for
the guide (e.g., a note in step 9) to help future users — happy to update
the doc. 🙌
|
|
The latest upgrade of Omarchy required me to add I really should learn how all of this works. I only need this stuff because some games on Windows require it, but whenever it breaks I'm scrambling. It's funny that dual booting was harder in the mid 90s in some ways, then got pretty easy, and with secure boot it seems like there's more hoops :) |
|
New omarchy update broke secure booting for omarchy entirely for me. I would not recommend updating yet. I tried even what caleb suggested. It appears the problem has something to do with limine. Will update if I find a fix. |
|
This worked on a Corsair AI Workstation 300 with separate Windows and Omarchy SSDs with these extra steps Phase 2: Step 4 - The BIOS "Reset to Setup Mode" option did not actually delete the PK so the system immediately re-enters User Mode. The only way to get into Setup Mode was to navigate into the Key Management submenu and explicitly delete the PK entry, after which sbctl enroll-keys -m in step 8 would proceed. Phase 2: Step 8 - The KEK and db variables had immutable flags set, requiring chattr -i before enrollment would complete. |
|
Faceit AC gamers just lost access because they banned self signed bootloader Faceit support message:
|


Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Omarchy Secure Boot Setup Guide
A comprehensive guide for enabling Secure Boot with custom keys on Omarchy Linux distribution while maintaining dual-boot compatibility with Windows.
Table of Contents
Introduction
Secure Boot is a UEFI firmware security standard that helps protect your system from malicious bootloaders and unauthorized operating system modifications. By default, most systems come with Microsoft's Secure Boot keys, which only allow Windows and certain approved Linux distributions to boot.
This guide will walk you through the process of setting up custom Secure Boot keys for Omarchy, allowing you to maintain system security while running your preferred Linux distribution alongside Windows.
What This Guide Accomplishes
Why Custom Keys?
Prerequisites
System Requirements
Required Tools
The following tools will be used and/or installed during the process:
sbctl- Secure Boot key management utilitylimine- Modern UEFI bootloader (should already be installed with Omarchy)Hardware Considerations
Important Safety Notes
Before You Begin
Step-by-Step Instructions
Phase 1: Preparation and Initial Setup
Step 1: Disable Secure Boot (Should already be disabled if you have Omarchy installed with Limine - the default bootloader)
Step 2: Install Omarchy (If not already 😊)
Step 3: Configure Dual-Boot
Phase 2: Secure Boot Key Management
Step 4: Prepare UEFI for Custom Keys
Step 5: Install Secure Boot Management Tools
Step 6: Verify Setup Mode
Secure Boot: DisabledSetup Mode: EnabledStep 7: Create Custom Keys
/usr/share/secureboot/keys/Expected Output:
Step 8: Enroll Keys
Enroll your custom keys into the UEFI firmware:
Expected Output:
Step 9: Verify Key Enrollment
Phase 3: Configure System for Secure Boot
Step 10: Update Initial RAM Disk Configuration
Edit the mkinitcpio configuration:
Locate the HOOKS line
Add "btrfs-overlayfs" to the HOOKS array
Before:
After:
Save and exit (ESC, then
:wq!)Step 11: Rebuild Boot Configuration
Expected Output:
Phase 4: Final Configuration and Testing
Step 12: Enable Secure Boot
Step 13: Test Boot Process
Verification
Confirming Secure Boot is Active
Once your system is running, verify Secure Boot is working:
In Omarchy:
Should show:
Secure Boot: EnabledIn Windows (if dual-booting):
What to Expect
sbctl statusshows Secure Boot as enabledTroubleshooting
Common Issues and Solutions
System Won't Boot After Enabling Secure Boot
Symptoms: Black screen, boot failure, or "Secure Boot Violation" error
Solutions:
sudo sbctl statusand verify keys are properly enrolledsudo limine-mkinitcpioagainWindows No Longer Boots
Symptoms: Windows option missing from boot menu or fails to start
Solutions:
-mflag when enrolling keys"Setup Mode: Disabled" But No Custom Keys
Symptoms: sbctl status shows no custom keys but Setup Mode is disabled
Solutions:
Kernel Update Breaks Boot
Symptoms: System won't boot after kernel updates
Solutions:
Error Messages and Their Meanings
sbctl create-keys-mflagRecovery Procedures
Complete Recovery (If Nothing Works)
Partial Recovery (Secure Boot Issues Only)
Additional Resources
Useful Commands Reference
Related Documentation
Community Support
Security Considerations
Why This Approach is Secure
Maintaining Security
sbctl statusto ensure everything remains properly configuredPerformance Impact
Conclusion
Congratulations! You now have a fully functional Secure Boot setup with Omarchy that maintains Windows compatibility. Your system is more secure against bootkits and other boot-time malware while preserving the flexibility of a dual-boot configuration.
Remember to:
Guide Version: 1.0
Last Updated: October 2025
Author:@borgox
This guide is provided as-is for educational and security purposes. Always maintain proper backups and test procedures in a safe environment when possible.
All reactions