My boot is horribly slow, and I don't know why.
$ systemd-analyze
Startup finished in 10.975s (kernel) + 49.732s (userspace) = 1min 708ms
$ systemd-analyze blame 34.971s apt-daily.service 20.590s snapd.refresh.service 17.113s grub-common.service 16.033s apport.service 16.027s networking.service 15.894s ondemand.service 15.860s irqbalance.service 15.655s speech-dispatcher.service 11.695s ModemManager.service 9.772s accounts-daemon.service 8.626s NetworkManager-wait-online.service 8.058s systemd-logind.service 8.053s bluetooth.service 7.944s gpu-manager.service 7.896s alsa-restore.service 7.892s pppd-dns.service 7.882s rsyslog.service 7.860s avahi-daemon.service 7.844s dev-sda1.device 7.842s systemd-user-sessions.service 7.648s lightdm.service 7.610s teamviewerd.service 6.445s apparmor.serviceAlso, during boot-up, I see a message that says something like:
device descriptor read/all, error -62
ata1 softreset failed (device not ready) #most of the times
error loading journal #(sometimes)
Test WP failed, assume Write Enabled
Asking for cache data failed #most of the times
Assuming drive cache: write throughapt-daily.service slows the boot the most. Any idea on how to tackle that?
I have Ubuntu MATE 16.04.
23 Answers
This is Debian bug #844453. apt-daily.service shouldn't be run during boot, but only some time afterward.
As a workaround, do sudo systemctl edit apt-daily.timer and paste the following text into the editor window:
# apt-daily timer configuration override
[Timer]
OnBootSec=15min
OnUnitActiveSec=1d
AccuracySec=1h
RandomizedDelaySec=30minThis changes the "timer" that triggers apt-daily.service to run at a random time between 15 min and 45 min after boot, and once a day thereafter. See the systemd.timer manpage for additional (not very well written, alas) explanation of what this means.
The other answer addresses the second block of text in the question.
For me, to solve apt-daily.service taking forever, this Ubuntu Forums post seems to have worked.
issue these commands as an example of how to edit
/etc/systemd/system.confsudo cp /etc/systemd/system.conf /etc/systemd/system.conf.bakThat will make a back-up for safety.
gksudo gedit /etc/systemd/system.confLook for and change these 2 lines:
#DefaultTimeoutStartSec=90s #DefaultTimeoutStopSec=90sMine now look like this:
DefaultTimeoutStartSec=10s DefaultTimeoutStopSec=10sBeen doing that for year now and nothing bad has come of it.
Remove the leading #'s which disable the line, and change the value.
If it's a desktop, open it and disconnect then reconnect All HDD cables including MB.
Failing that, it sounds like your HDD is timing out. BACKUP all data now.
Burn Live network install of Ubuntu to suite your system, boot to Try Ubuntu. Then run Gparted: by default it checks for HDD read errors. If you have a backup of all your data maybe someone else could advise.