Ubuntu启动项过多优化方法
Ubuntu 16.04及以上版本采用systemd作为初始化系统,可通过以下命令高效管理启动项:
systemctl list-unit-files --type=service 列出所有服务及其启动状态(enabled/disabled);systemd-analyze blame 显示各启动项耗时(按时间排序),快速定位耗时较长的服务。sudo systemctl disable <service-name> 禁用指定服务的自启动(如NetworkManager-dispatcher.service、plymouth-quit-wait.service等非必需服务);sudo systemctl mask <service-name> 强力禁用(防止其他服务唤醒)。sudo systemctl stop <service-name>临时停止服务,观察系统是否正常运行(如NetworkManager.service禁用会导致网络图标消失,需谨慎)。若偏好图形界面,可使用以下工具快速操作:
sudo apt install gnome-tweaks)打开“启动应用程序”选项卡,支持添加、删除或编辑启动项。sudo apt install bum),提供更直观的界面管理启动项,但需注意备份配置。Snap应用会生成大量dev-loop*.device启动项(如dev-loop0.device、dev-loop1.device),显著拖慢开机速度:
systemd-analyze blame 中若存在snapd.service或dev-loop*.device耗时较长,需清理无用Snap包。sudo snap remove <package-name> 删除不用的Snap应用;sudo snap refresh 更新剩余Snap包。旧内核版本会保留在启动菜单中,占用资源且无需保留:
dpkg --get-selections | grep linux-image 显示所有内核包。sudo apt-get remove linux-image-<version>(保留当前使用的内核,可通过uname -r查看版本)。sudo update-grub 刷新启动菜单,移除旧内核选项。sudo journalctl --vacuum-size 100M 将日志文件压缩至100MB,减少开机时日志读取时间。/etc/default/grub文件,将GRUB_TIMEOUT设置为2秒(GRUB_TIMEOUT=2),减少GRUB菜单显示时间;运行sudo update-grub生效。