详细步骤
1.检查各启动项所需时间
在终端运行以下命令来生成此次启动各项服务所需时间的记录。
systemd-analyze critical-chain
一般来说完成启动所需时间都在30s内,各项服务往往仅需2到3s即可完成。时间由底部节点向上累加,如下图所示。
如果某项服务出现30s到一分钟的等待时间,很有可能该服务没有很好适配于机器,网上搜索该服务以更改配置(例如设置一个较低的timeout),如无需要,禁用即可。以下仅举我遇到的两个例子。
2.禁用/配置服务
在终端运行以下命令来禁用开机等待网络连接的服务。
sudo systemctl disable NetworkManager-wait-online.service
此服务对不需要挂载远程分区的个人系统的使用没有较大影响,有时候启动时无网线,上课的地方的eduroam出现拥堵,周围wifi接入点过多都可能导致此项服务出现长时间延迟。
你也可以修改/lib/systemd/system/NetworkManager-wait-online.service文件,更改其中的timeout来缩短此项服务的等待时间。
3.配置分区信息
个人遇到在删除完swap分区后,Ubuntu启动时仍然根据旧配置文件去挂载swap分区,导致此项服务长时间等待。
此时需要:
- 编辑/etc/fstab文件,注释掉swap那一行的分区引导信息。
(有时还需编辑/etc/initramfs-tools/conf.d/resume文件,注释掉其中的swap分区引导信息,如果你的swap是经过加密的,你同样需要注释/etc/crypttab中的相关信息)。 - 在终端运行以下命令更新相关配置。
sudo update-initramfs -u -k all
sudo update-grub
- 重启即可。
总结
您的开机时间已经打败全国95%的Windows用户。