Initrd takes 46 seconds during boot

Hello,

I was trying out Fedora 42 Cinnamon edition today. I installed it on a separate SSD that I didnt use. I plugged it into my Windows 10 PC. The Windows 10 drive is encrypted with Veracrypt and gets unencrypted when I boot via the veracrypt bootloader, the other two drives are unencrypted.

Now booting up takes a long time and systemd-analyze says initrd takes 46 seconds, so I went to talk to ChatGPT and it said, that the initrd detects the drive tries to mount it and fails, thus waiting for a timeout. That would fit because the other two drives (unencrypted) appear in the file manager.

Now, my question is firstly, is that true? And secondly if yes how do I fix that?

If the above is true, then I know this problem would likely disappear if I got rid of Windows and just installed Fedora alone, but I am not at that point yet, I just want to try it out for a bit. Preferably without an eternal boot time :smiley:

You can try Fedora Workstation in WSL2 and avoid the need to reboot to switch between Windows and Linux.

Can you post the output of systemd-analyze for us to comment on?

But then one is running with the memory overhead and the spyware of Windows in the background!

1 Like

You can run systemd-analyze critical-chain to see the critical path of units during boot along with some timing information, or systemd-analyze blame to see detailed activation time of running units. This might give you some more insight into what is going on.

Sorry I should have been more helpful about the output I was looking for
Please run these commands:

systemd-analyze critical-chain
systemd-analyze blame

In particular critical-chain often points to the reason for the delay.

Please avoid posting screen shots of text. Post the text as pre-formatter text using the </> button.

Linux relies on the user community to solve issues: “all issues are trivial given enough eyeballs”. Photos won’t appear in web searches by others experiencing similar issues.

To maximize the number of people who this topic, save the text to a USB key or other storage shareable with the system you use for this forum, then post as pre-formatted text (use the </> button from the top line of the text entry panel).

For a reference (and if someone wants something fun to aim for :stuck_out_tongue:):

Startup finished in 4.464s (firmware) + 526ms (loader) + 329ms (kernel) + 1.595s (initrd) + 2.479s (userspace) = 9.394s 
graphical.target reached after 2.479s in userspace.

initrd usually did 2s worst-case.

1 Like

Bah - I have 20+ seconds on firmware before anything at all gets moving.

If I enable fastboot in the bios it shaves a few seconds off but the USB keyboard doesn’t wake up until AFTER grub, so if I do want to boot an alternative kernel, I don’t get a chance to select it.

Can you make a Docs page for that please?

1 Like

I got those boot times on openSUSE Tumbleweed. On F43 beta userspace was 12 seconds (10s higher than oS) but I couldn’t quite figure out why (NetworkManager wait was 5s/top on blame F43 but I didn’t check if oS had that).


  • 4s firmware is average on my laptop if nothing is enabled that slows that down (I think Legacy OpROM adds a few secs)
  • loader mainly depends on GRUB/bootloader timeout; I set it to 0 for the flex :stuck_out_tongue: but usually set 1-2 sec
  • Not sure what affects kernel but iirc it was about the same oS and F43 Beta
  • initrd I have dracut.conf tweaks:
sudo -e '/etc/dracut.conf.d/99-custom.conf' && sudo dracut --force --regenerate-all
compress="cat"
do_strip="yes"
aggressive_strip="yes"
hostonly="yes"
hostonly_mode="strict"
early_microcode="no"

early_microcode reduced the generated initrd size a bit; my BIOS firmware is up-to-date with it.


I disable tuned and have x86_energy_perf_policy set performance governor via udev rule (notes); it apples about 2s in dmesg/early-boot and might speed up the rest of the boot process.

1 Like