$ systemd-analyze
Startup finished in 4.251s (firmware) + 2.465s (loader) + 1min 42.939s (kernel) + 37.609s (userspace) = 2min 27.266s graphical.target reached after 37.467s in userspace
$ systemd-analyze blame
19.962s dev-sda6.device
19.857s systemd-journal-flush.service
18.791s keyboard-setup.service
11.982s systemd-udevd.service
8.832s plymouth-quit-wait.service
7.820s NetworkManager-wait-online.service
5.354s systemd-tmpfiles-setup-dev.service
3.216s snapd.service
3.099s ModemManager.service
2.899s udisks2.service
2.565s thermald.service
2.513s NetworkManager.service
2.437s networkd-dispatcher.service
2.356s fwupd.service
2.353s accounts-daemon.service
2.193s systemd-fsck@dev-disk-by\x2duuid-148F\x2d75AB.service
1.895s systemd-fsck@dev-disk-by\x2duuid-d3ac8189\x2de076\x2d4ea7\x2dad
1.846s networking.service
1.365s gpu-manager.service
1.298s systemd-modules-load.service
1.158s plymouth-start.service
1.091s dev-disk-by\x2duuid-65331ba5\x2d436a\x2d4a88\x2d9a59\x2defea07c
848ms grub-common.service
767ms systemd-remount-fs.service
763ms dev-mqueue.mount
756ms bluetooth.service
748ms packagekit.service
704ms dev-hugepages.mount
696ms sys-kernel-debug.mount
658ms wpa_supplicant.service
559ms apport.service
548ms systemd-journald.service
543ms rsyslog.service
518ms avahi-daemon.service
508ms pppd-dns.service
502ms polkit.service
438ms apparmor.service
435ms gdm.service
380ms colord.service
337ms kmod-static-nodes.service
309ms systemd-sysctl.service
290ms dns-clean.service
208ms systemd-tmpfiles-setup.service
189ms systemd-rfkill.service
182ms systemd-udev-trigger.service
182ms systemd-update-utmp.service
175ms user@121.service
173ms systemd-logind.service
170ms upower.service
159ms systemd-timesyncd.service
155ms systemd-random-seed.service
141ms setvtrgb.service
135ms systemd-resolved.service
124ms user@1000.service
122ms snap-gtk\x2dcommon\x2dthemes-319.mount
120ms plymouth-read-write.service
107ms snap-gnome\x2dcalculator-180.mount
92ms bolt.service
90ms snap-core-4917.mount
87ms home.mount
82ms snap-gnome\x2dlogs-37.mount
69ms snap-gnome\x2d3\x2d26\x2d1604-70.mount
64ms speech-dispatcher.service
62ms ufw.service
60ms alsa-restore.service
47ms snap-gnome\x2dcharacters-103.mount
39ms boot-efi.mount
27ms snap-gnome\x2dsystem\x2dmonitor-51.mount
19ms rtkit-daemon.service
13ms kerneloops.service
10ms systemd-backlight@backlight:amdgpu_bl1.service
9ms snapd.seeded.service
8ms ureadahead-stop.service
7ms systemd-update-utmp-runlevel.service
7ms dev-loop3.device
6ms dev-loop2.device
6ms dev-loop1.device
6ms dev-loop0.device
4ms console-setup.service
3ms dev-loop6.device
3ms sys-kernel-config.mount
3ms systemd-user-sessions.service
3ms dev-loop5.device
3ms dev-loop4.device
2ms sys-fs-fuse-connections.mount
974us snapd.socket
name -a
Linux nitro-AN515-42 4.15.0-38-generic #41-Ubuntu SMP Wed Oct 10 10:59:38 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
systemd-analyze critical-chain
The time after the unit is active or started is printed after the "@" character.
The time the unit takes to start is printed after the "+" character.
graphical.target @30.886s
└─multi-user.target @30.886s
└─kerneloops.service @30.870s +15ms
└─network-online.target @30.868s
└─NetworkManager-wait-online.service @24.018s +6.849s
└─NetworkManager.service @21.653s +2.362s
└─dbus.service @20.975s
└─basic.target @20.944s
└─sockets.target @20.944s
└─snapd.socket @20.939s +2ms
└─sysinit.target @20.935s
└─apparmor.service @20.536s +396ms
└─local-fs.target @20.532s
└─run-user-121.mount @24.846s
└─local-fs-pre.target @19.078s
└─keyboard-setup.service @2.381s +16.696s
└─systemd-journald.socket @2.341s
└─system.slice @2.340s
└─-.slice @2.337s
I use Ubuntu dual booted with Windows in Acer Nitro 5 laptop.