Windows UEFI Secure Boot while dual booting Linux is NOT easy.
Posted by The-Communist-Cat@reddit | linux | View on Reddit | 29 comments
Posted by The-Communist-Cat@reddit | linux | View on Reddit | 29 comments
varsnef@reddit
Why did you not want to put it into your title? Other people in the same situation might find it interesting...
The-Communist-Cat@reddit (OP)
I didn’t want to make the title too long, but that probably would have been a good idea
lazyboy76@reddit
Easiest uefi distro with secure boot is fedora, even in some edge cases (not all).
Historical-Bar-305@reddit
Ubuntu
configdotini@reddit
also debian is really easy
FineWolf@reddit
Every single distro can be made to boot using Secure Boot, with or without Microsoft Keys.
If you absolutely want to use a bootloader that is signed by Microsoft, then you can use
shim-signed
that is distributed by Canonical.If not, with every distro, you can sign your bootloader and UKI or kernel+initramfs using
sbctl
or another tool, enroll your own Platform Key, and sign your own stuff. You can even enroll Microsoft's KEKs and DB/DBX alongside your own and dual boot Windows without any issue.Your Linux bootloader does not need to be signed by Microsoft. You can use your own keys to sign your Linux bootloader, and Windows doesn't care. Windows doesn't care about the Platform Key, as they change depending on your motherboard/system manufacturer anyway, and it is common for business to deploy their own PK and set the firmware in DeployedMode as part of their harderning procedures. As long as Microsoft's KEKs, DB and DBX are installed, Windows will boot in Secure Boot just fine. You can have your own KEK and DB/DBX for your Linux install.
As long as you use a UEFI bootloader, you can configure Secure Boot. It just requires a little bit of elbow grease and an understanding of the key hierarchy.
I have a dual boot Arch Linux setup, with Secure Boot enabled on both my Linux and Windows installs. LUKS and Bitlocker are also both enabled (on their respective OS) and using a TPM-stored key.
When you make a choice to run an alternative operating system, you need to understand that not everything will work out of the box like Windows. As in everything in life when you don't go with "the default choice", there will be some friction involved.
Linux is not Windows.
If configuring your Linux install for Secure Boot is too much friction for you: then don't. You don't have to. You can toggle Secure Boot off when you use Linux, and re-enable it whenever you decide to boot in Windows. The setting in your BIOS is not immutable.
There are very good reasons why anti-cheats are now requiring Secure Boot, Measured Boot and HVCI. The requirement isn't coming out of nowhere, and it does provide tangible benefits in making cheating a less attractive proposition. It doesn't stop cheating completely, that would be impossible, but it makes cheats more costly to develop (requiring the use of a vulnerable signed driver that hasn't been blocked by Microsoft yet; a search that will have to be repeated when Microsoft will block the one they find), and makes the cost of getting caught cheating greater due to the use of the non-spoofable TPM EKpub as a hardware ID, requiring a cheater to purchase a new CPU if hardware banned.
While I understand that Secure Boot is not
on
by default on all machines, it has been a requirement by Microsoft for their hardware certification program since at least 2016.Yes, there will be edge cases with users who built their own computers having misconfigured something along the way, or system integrators not providing compliant systems, but most systems out there have Secure Boot on, and that has been the case for close to a decade.
SEI_JAKU@reddit
Please stop shilling for Microsoft. Please please please. Fuck.
There is NO good reason why anticheat ever requires ANYTHING. There is also NO good reason for automated client-side anticheat, which doesn't work, over a server-side and/or human-run system, which would by default.
Kuipyr@reddit
I await your solution, I'm sure client-side anti-cheat is done just for shits and giggles. It's clearly an orchestrated bamboozle perpetrated by thousands of software engineers.
-o0__0o-@reddit
Most computers (unless you build your own) come with Windows, you install Linux afterwards. That means it's an alternative OS.
Most phones come with Android. In some of them you can install a Linux distro afterwards. That makes the Linux distro an alternative OS.
It's not that deep. Alternative is not a pejorative.
FineWolf@reddit
First, I'm a Linux user.
My main operating system is Linux, all my computers run Linux, and the only reason why I even have a Windows partition is that I have accounting and tax software that unfortunately doesn't run under Wine. I only boot into Windows when I have to use it.
Second, like it or not, most desktop software developers target Windows on PC. Why? Because it is the operating system with the largest user base. Yes, this makes Linux an alternative choice. Do I like it? No. I hate using Windows. But it doesn't change the fact that it is absolutely the default choice for the majority of users, system integrators and desktop software developers.
Third, if you set aside your biases for one moment. Yes, there are very good reasons why anti-cheat engines require those features on.
As I've said in the article I've written: yes, ultimately, server-side behavioural analysis should replace client-side anti-cheat one day. However, at the moment, the accuracy rate is too low and the price to operate it is too high.
Name me one game, in the FPS genre, with a sizable population, that has implemented server-side only anti-cheat and that isn't filled with cheaters. You cannot, because it hasn't been done successfully yet.
SEI_JAKU@reddit
Being a Linux user does not preclude you from being a Microsoft shill.
Microsoft bullying the rest of the world into depending on them does not mean you get to throw negative terms like "alternative" onto Linux.
You are actively putting your head in the sand and denying reality. You are the one doing this, not me.
Claiming that denouncing anticheat for not working, when there's countless evidence of it not working, has anything to do with "bias", is a massive red flag. In general, I'm getting tired of blatantly biased people accusing others of bias.
Thank you for revealing that your link is blogspam. Thank you for actually admitting that you know what the problem is, even as you deny it.
Because it's expensive and publishers are cheap, yes. That doesn't mean anything about its effectiveness.
Because dedicated servers have the same problem on a smaller scale, that people who run them want to be cheap, yes. Again, that doesn't mean anything about their effectiveness. It's also true that dedicated servers are at least a little more likely to be run better.
Can't wait for that magic client-side fix to mean a whole lot of nothing real soon.
EliseRudolph@reddit
Since when is the word "alternative" negative? In what dictionary?
You are attributing malice where there is none. The definition of alternative is choice. Are we suddenly against user choice?
I don't see why you are acting like such an ass.
EliseRudolph@reddit
Since when is the word "alternative" negative? In what fucking dictionary? WTF?
-o0__0o-@reddit
What the fuck is this about? I have both the Microsoft keys and my own local key installed in my secure boot setup. I have my system set up to sign the boot manager and UKIs with my local key. I also dual boot Windows 11 installed on an external SSD with secure boot enabled.
cool_slowbro@reddit
I dual boot W11 and Fedora, with UEFi secure boot, and have never had any issues.
Juts@reddit
Im sure that there might be situations where its complicated, but it was 3 commands and then set to enabled for me.
Also im not sure if this is with other stipulations, but on its own its simply not true:
SEI_JAKU@reddit
Sad and not even a little surprising that you're getting downvoted here, but not on the other sub. Might as well rename this sub to r/MicrosoftLinux at this point, Christ.
2rad0@reddit
Just now discovering this sub is pwnd by IBM/Microsoft assets ?
hyper9410@reddit
I've gone through the same thing. had a upgraded windows 10, so i had to change to GPT on the windows side first. struggled quite a bit as a hardware change and windows didn't boot correctly. luckily MBR2GPT worked, had a PC where I had to nuke the boot partition and reinstall it from rescue media, not fun.
Getting opensuse to secureboot wasn't easy either, but that was all on me mostly. Finding the right commands was the hardest task though.
Using a distro which supports secure boot is the most important step. yes you can sign with your own key, but that gets a hassle pretty soon.
FineWolf@reddit
I don't see how it is a hassle. You setup your hooks with dracut and don't have to every think about it anymore.
hyper9410@reddit
Dont you need to sign every kernel update? if this can be automated, then yes. still depending on the distro it can happen frequently and not fun if it breaks.
FineWolf@reddit
Dracut will take care of that automatically if configured properly.
Now, I'm on Arch and don't use Dracut, but I have a similar setup with mkinitcpio where it is signed automatically on update.
As far as I'm aware, the
sbctl
package on openSUSE Tumbleweed comes with all the hooks pre-configured so you don't have to think about signing on every update.hyper9410@reddit
Opensuse supports secureboot with its own keys using shim.efi signed by Microsoft I think, so suse works out of the box if you configure it during install. as long as the suse supported way works I don't bother searching for self signed ways as of now.
FineWolf@reddit
It does, but it is a right pain in the ass if you use Nvidia hardware as you have to enroll a new MOK on every update.
hyper9410@reddit
Its either sign your own and hope it works every kernel update or deal with MOK, pick your poison I guess.
FineWolf@reddit
I don't see why it would suddenly stop working. I've had no issues the past 4 years, 2 of which I was running Tumbleweed on 2 PCs.
Worst case, you turn secure boot off, sign, and turn it on again.
KnowZeroX@reddit
If your computer can play Battlefield 6, then it should be new enough to have GPT
Most big distros have keys, and many distros do have their own keys you can manually import. If you are on some niche distro with no keys, then that is on you. That is the risk you go with when you go for some niche distro. Of course you can always self sign.
If one finds these things terrifying, just opt for a distro which has keys already instead of some niche one, then you don't have to fiddle with anything
The-Communist-Cat@reddit (OP)
People upgrade their computers without reinstalling windows every time
My point is it will drive people away, which it will.
People don’t necessarily plan for enabling secure boot when installing Linux for the first time
whosdr@reddit
At least in this subreddit, I don't see any point in arguing on point number one.
Point 2 is interesting to me as it suggests people are disabling Secure Boot for some reason before installation. Or took their installation of Linux from an old device and moved it onto something more modern. (As was the case for me)
But what are the options?
I have no horse in this race, just to add. I don't have Secure Boot enabled, but nor do I have interest in this specific game/genre or even a copy of Windows anywhere in the house outside of unlicensed VMs.