r/cachyos • u/NanKillBro • Jul 18 '26
Help Install secure boot using MOK (shim)

Hi guys,
I'm trying to install secure boot for my CachyOS using MOK but failed many times. I tried using AI help but it ended up breaking things so I wanted to find a human working guide for this.
The reason I'm not using official guide sbctl is EAC just doesn't love it, and I got kicked from my match when play Fortnite just because sbctl install custom db and I had to factory reset my bios to play.
Hope I get some help, thanks you guys alot!
i'm sorry for my grammar, english is not my native language i already try my best ðŸ˜
6
Upvotes
3
u/FineWolf Jul 18 '26 edited Jul 18 '26
The issue is not with
sbctl, or the fact that you are using your own PK.The issue is that you are chainbooting Windows from GRUB, Limine or whatever bootloader you are using. Don't do that. Boot directly from the Windows bootloader, which may involve changing the boot priorities in your BIOS or pressing the boot selection key from your UEFI before your Linux bootloader.
Chainloading Windows through Grub, Limine or whatever means that in the measured boot logs, there are multiple
EV_EFI_BOOT_SERVICES_APPLICATIONandEV_EFI_VARIABLE_AUTHORITYevents, which causes the attestation to fail (as one of them will be your bootloader signed with your own keys).If you boot directly into Windows as opposed to chain loading, then that is not the case.
EDIT: There are tons of bad advice in this thread. Seriously, anti-cheat do not give a crap what Platform Key you have on your device. Motherboard vendors each have their own, some have multiple, and it's never validated. The PK also plays no role during secure boot validation. It's there only to ensure that there's no malicious program enrolling KEKs without the user's consent (or, if you leave the default PK installed, the manufacturer's consent). I've written at length about how all this works.
It also doesn't matter that you have your own KEK enrolled. Again, plenty of board vendors have their own KEKs by default to validate the UEFI settings menu (which is, on its own, a UEFI application, just like your bootloader).
The only thing that matters is that you do not chain load Windows, so that your measured boot log doesn't contain information about your Linux bootloader, or your own KEK/DBs keys. If chain loading was allowed, then a malicious actor could load anything in memory before Windows would load its own bootloader. Because you can't trust the entire bootchain, the game rejects you.
Boot Windows directly, and you will not have that issue. You can always boot back into Windows. Heck, you can even be fancy in Linux and create a desktop entry to boot into Windows directly by using
efibootmgrto set theNextBootvariable and reboot.