I was surprised to see Windows 8.1 taking less time in booting than Fedora/Ubuntu. Currently, I am using Fedora 23 so let us talk about that. It is not that windows has fast boot enabled, I disabled it in order to get the NTFS mounted correctly when booted on Linux. Still, that was weird that windows booting faster :-) Obviously I am not the only one having the problem, so little bit of Googling helped. Here is the summary:
- First thing is to identify what process during bootup takes the lots of time. Fortunately, there is no rocket science involved – there is a nice utility available with systemd, called systemd-analyze which can plot the graph in .svg format.
- Next, stop the processes/services which are not required. For me, following services were not useful, so stopped/masked.
sudo systemctl disable firewalld.service sudo systemctl mask plymouth-quit-wait.service
sudo mv /var/log/journal /var/log/journal.log
- Next item on the list was fsck. I am certain almost all the time that I am not abruptly shutting down the laptop so I think I do not need the boot time disk checking. So disable it by marking the last field of /etc/fstab to 0.
- Now it was time to remove the updatedb, which is usually required if using the “locate” utility – which I used a lot during early linux days when I did not like to use find, but not anymore. So following steps will the mlocate package (safely). Steps copied from here.
# Find the location of the command type updatedb # Check which pacakge provides the command rpm -qf /usr/bin/updatedb # Find which all programs uses this package 380 yum remove mlocate # Remove the package (if no packages are using it) 381 sudo yum remove mlocate
- I could notice the boot time improvement around 30+ seconds and as good as Windows. But after the booting, some “tracket-*” utilities eat up lots of CPU. There is a nice explanation here about these utilities; and a safer way to disable it using GUI rather than edition config files can be found here.
Good enough learning and happiness.