我理解解决启动时间长的问题需要分析启动什么需要多长时间,但是systemd-analyze blame
和的输出systemd-analyze plot
让我感到困惑。
〜$ systemd-analyze 启动耗时 12.557 秒(固件)+ 4.516 秒(加载器)+ 3.732 秒(内核)+ 26.720 秒(用户空间)= 47.526 秒
〜$ systemd-analyze blame | grep“ \s[1-9]*\。” 8.989s 键盘设置.服务 8.757s dev-sda2.设备 6.055s apparmor.service 4.948s 账户守护进程.服务 4.446s 网络管理器.服务 3.383s gpu-manager.service 3.134s systemd-udevd.service 3.079s snapd.firstboot.service 2.440s udisks2.服务 2.249s grub-common.service 2.093s upower.service 1.943s 网络.服务 1.661s avahi-守护进程.service 1.461s rsyslog.服务 1.460s pppd-dns.服务 1.449s systemd-tmpfiles-setup-dev.service 1.387s systemd-rfkill.service 1.290s colord.service 1.210s resolvconf.service 1.192s apport.service 1.188s systemd-modules-load.service 1.187s systemd-remount-fs.service 1.166s dev-mqueue.mount 1.152s 蓝牙.服务 1.032s lightdm.service 1.013s plymouth-quit-wait.service
信息
该机器是戴尔 Inspiron 5559;我从 2016 年 2 月/3 月开始使用它。
~ $ uname -imporvs Linux 4.8.0-32-generic #34-Ubuntu SMP 星期二 12 月 13 日 14:30:43 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
发行版是 Lubuntu 16.10 w/LXDE。
~ $ sudo parted /dev/sda unit mib 打印 型号:ATA ST1000LM024 HN-M (scsi) 磁盘 /dev/sda:953870MiB 扇区大小(逻辑/物理):512B/4096B 分区表: gpt 磁盘标志: 编号 起始 结束 大小 文件系统 名称 标志 1 1.00MiB 513MiB 512MiB fat32 EFI 系统分区启动,特别是 2 513MiB 937591MiB 937078MiB ext4 3 937591MiB 953869MiB 16278MiB Linux 交换 (v1)
最糟糕的是,各个模块的时间略有不同(1 到 2 秒,自从我安装了 Lubuntu 以来就一直存在这个问题),这意味着我需要systemd-analyze blame
不断更新或记录一系列重启,然后取平均值。
有人能告诉我在哪里可以开始?
更新
从 16.10 升级到 17.04 后sudo apt dist-upgrade
情况发生了很大变化。
〜$ systemd-analyze blame | grep“ \s[1-9]*\。” 16.083s dev-sda2.设备 15.435s 键盘设置.服务 8.015s systemd-udevd.service 4.090s NetworkManager.service 3.644s systemd-tmpfiles-setup-dev.service 2.621s apparmor.service 2.549s grub-common.service 2.477s plymouth-read-write.service 1.560s 账户守护进程.服务 1.107s systemd-modules-load.service 1.002s colord.service
〜$ systemd-analyze 关键链 设备激活或启动后的时间打印在“@”字符后。 设备启动所需的时间打印在“+”字符后面。 图形.目标@25.631秒 └─multi-user.target @25.631秒 └─getty.target @25.631s └─[电子邮件保护]@25.631 秒 └─system-getty.slice @25.630s └─setvtrgb.service @25.407s +222ms └─systemd-user-sessions.service @25.245s +2ms └─network.target @25.245s └─NetworkManager.service @21.154秒 +4.090秒 └─dbus.service @21.147s └─basic.target @21.139秒 └─sockets.target @21.139秒 └─snapd.socket @21.136s +2ms └─sysinit.target@21.110s └─apparmor.service @18.488秒 +2.621秒 └─local-fs.target @18.488秒 └─boot-efi.mount @18.387s +100ms └─systemd-fsck@dev-disk-by\x2duuid-7930\x2d6EDD.service @18.198s +150ms └─dev-disk-by\x2duuid-7930\x2d6EDD.device @18.198s
关闭
该帖子被关闭是因为我已经迁移到另一个发行版(Gentoo),该问题不再出现,因此该问题不再相关。
答案1
谁能告诉我从哪里开始?
运行 Live Ubuntu 会话(或任何带有“无需安装即可试用”功能的发行版)
很多时候,基于 Linux 的发行版需要很长时间才能启动,甚至无法启动,这是因为外围组件(如键盘或 NIC 等)出现问题。例如,我的旧笔记本电脑键盘的“向上”键保持按下状态,但实际上并没有按下。因此,keyboard-setup.sh 等待了很长时间,无法完成,最后我看到一堆错误消息,通知我 Ubuntu 无法启动。在启动过程中断开键盘连接是我让它启动的解决方法。
测试你的硬件这类错误的解决办法是一个很好的起点。如果你知道你的笔记本电脑有硬件问题,你可以尝试在启动时断开该组件(可能是 NIC 或键盘,因为你提到了 polktid 和 keyboard-setup.sh )