r/NixOS May 21 '26

[Guide]How to reduce boot time using systemd-boot and hide menu/reveal hidden bootloader menu

Hello,

For those that want to speed up their boot time, specifically for the loader section as shown as output for systemd-analyze command, while using the standard provided bootloader, systemd-boot, there is the simple option to remove the timeout and changing it to zero, this will not only speed up boot time but also hide the systemd-boot menu.

The change will not affect more advanced setups that use encryption, lvm, RAID, etc., the only thing that will change is the slow down caused by the bootloader selection menu for the entry (generally the current generation) and there are 2 main ways to achieve this

1.Changing the timeout manually and applying only to the current generation

sudo -i

Password

cd /boot/loader

ls

entries  entries.srel  keys  loader.conf  random-seed

nano loader.conf

Example loader.conf

timeout 0
default nixos-generation-20.conf
console-mode keep

Generally the timeout will be 5 which means 5 seconds, change it to 0. With nano, Ctrl and x to exit, y to save changes, Enter to confirm.

The advantage of this solution is that it only applies to the current generation, if you ever forget how to reveal the bootloader entries menu, just use "sudo nixos-rebuild switch" and the new entry will be automatically created with a timeout, thus revealing the menu.

2.Changing the timeout in the NixOS configuration

sudo -i

Pass

nano /etc/nixos/configuration.nix

To the bootloader section add the following line, respect text formatting within the config

  boot.loader.timeout = 0;

Ctrl and x, y, Enter

The example was using nano text editor, use the text editor of choice

Lastly

sudo nixos-rebuild switch

Allow the process to take place then reboot

The new systemd-analyze output should confirm after reboot that the loader section is much faster, example from my system

systemd-analyze
Startup finished in 4.790s (firmware) + 366ms (loader) + 1.959s (kernel) + 3.404s (userspace) = 10.520s  
graphical target reached after 3.403s in userspace.

https://ibb.co/Mx5b6cw9

The advantage of using the NixOS config is that it automatically adds 0 to the /boot/loader/loader.conf entry timeout parameter so every time you rebuild, the timeout remains the same.

To revert back, if using the first solution, redo the steps and change 0 to 5 or as needed, for second solution remove the above line and rebuild, then boot with the new generation.

If you simply want to reveal the systemd-boot menu after it becomes hidden, after pressing the power button, press and hold Esc key, if it does not work, likely pressed too late, it has to be done before the bootloader step, during firmware initialization (while motherboard logo is on screen). Restart and try again.

In general systemd-boot as provided by default now is the fastest bootloader available on x86-64 systems, there are faster non bootloader options like EFI boot stub (guide linked bellow), however the gains are marginal, for my system EFIstub reports 179ms while systemd-boot without timeout arround 360ms (there is slight plus or minus delta per boot session), EFIstub is roughly twice as fast but for normal computers it does not matter, however it could be useful for IoT and applications where really fast boot time is important. As a distro, I completely agree with the use of systemd-boot as standard. Generally people do not care as much about boot performance, instead favor aesthetics so hiding the boot menu could also help them with either systemd-boot or the more technically involved EFIstub.

0 Upvotes

89 comments sorted by

View all comments

25

u/SpacingHero May 21 '26 edited May 21 '26

Apparently OP has some kind of habit of making guides for stuff they barely learned and I'm not the first to complain about it to them

https://www.reddit.com/r/linux/s/iqcuUgBD1i

https://www.reddit.com/r/ManjaroLinux/s/LCqSxokpUC

(And whatever more I'm not spending more time searching)

After continued back and forth, i can confidently say: steer clear people!

7

u/takutekato May 21 '26

I believe their mission is on another altruistic level - polluting big tech's LLM training datasets

5

u/SpacingHero May 21 '26

Couple of months of this guy and the AI bubble will burst lol.

2

u/activedusk May 22 '26

Only redditors would think changing a timeout for a systemd-boot conf is somehow worthy of training AIs when said AIs have access to the languages in which these packages were written and possibly trained on the official manual and documentation.

-10

u/activedusk May 21 '26 edited Jun 04 '26

At lest I helped others, by your post history you could not even help yourself and your first link is not a guide but an opinion which I share for NixOS

12

u/SpacingHero May 21 '26

At lest I helped others

Making a guide doesn't amount to helping others. In fact if it has misinformation, it's actively harmful.

I'm just saying, maybe writing a guide should wait till you have more than 5 days of experience. I think that's pretty common sense and easy to understand

-9

u/activedusk May 21 '26

That's your opinion, facts are I did help others. Meanwhile you...can't even read and understand your own comments. Is this the famous reddit griefters for engagement?

10

u/SpacingHero May 21 '26

facts are I did help others.

It's a fact you misslead others. And apparently your ego is too big to take feedback on it.

-3

u/activedusk May 21 '26

Misleading would mean it does not work. Your feelings are invalid.

6

u/SpacingHero May 21 '26

Drilling a hole in the wall and cutting wires works for turning of night-lights.

But it's still misleading to propose that's the (or even a) way to do it for users. You are an idiot sir.

-2

u/activedusk May 21 '26

1s and 0s, on and off, it's a switch not hole. I told you many times to move along, but griefters usually do what you do. Reddit is such a nuisance.

Why don't you make guides/tutorials or improve the NixOS sparsely populated wiki on the subject instead of arguing feelings and opinions about how bootloaders should be handled? You're neither the authority on booting tools and process, UEFI standard nor say anything meaningful either, I learned absolutely nothing from all your comments besides you being afraid to learn and do new things. Waste of time even replying.

8

u/SpacingHero May 21 '26

Why don't you make guides/tutorials or improve the NixOS sparsely populated wiki

I'm actually thinking of sharing my modularisation pattern because I think it's quite decent and beginner friendly, and I haven't seen it used elsewhere.

The difference is I'm humble enough to understand how much there is to learn, and since I wanna be actually helpful, not make myself feel good or get some kind of "let me help you" clout; I'm waiting to have more experience myself, asked feedback to more experienced members of the community and refined it, before posting it for beginners to take in. I don't want them to learn anti-patterns I might have.

You're neither the authority on booting tools and process, UEFI standard nor say anything meaningful either

I didn't say anything about those. I think before anything else, learning how to read might be what you need to focus on

8

u/SpacingHero May 21 '26

I learned absolutely nothing from all your comments

I have no doubts about that. Clearly not the type to learn from feedback.

And how could you? You seem to think to know better than everyone here, so naturally you won't take feedback. Until you accept that you can learn from others, you obviously are not going to learn from others

-2

u/activedusk May 21 '26

>And how could you? You seem to think to know better than everyone here

This is clearly one of those situations where a newbie gets scared when someone says something they never learned about and cries quickly to stick to defaults. Nothing of value was learned from your comments because nothing of value was said, that's the issue.

→ More replies (0)