编辑/etc/default/grub文件,调整以下参数以缩短GRUB菜单显示时间和内核启动流程:
GRUB_TIMEOUT从默认的5秒改为2秒(或0秒直接启动),例如:GRUB_TIMEOUT=2;GRUB_TIMEOUT_STYLE="menu"(显示菜单)或GRUB_TIMEOUT_STYLE="hidden"(隐藏菜单,直接进入默认项);GRUB_CMDLINE_LINUX_DEFAULT和GRUB_CMDLINE_LINUX(除非需要特定内核参数,如quiet可减少启动日志输出)。sudo update-grub使配置生效。通过systemd工具定位耗时服务并禁用不必要的启动项:
systemd-analyze查看总启动时间,systemd-analyze blame按耗时排序服务(找出耗时较长的服务,如NetworkManager、docker等),systemd-analyze critical-chain查看关键路径上的服务;bluetooth、avahi-daemon),运行sudo systemctl disable <service_name>(如sudo systemctl disable bluetooth.service),停止其在启动时自动运行;sudo systemctl stop <service_name>停止,再禁用。移除无用文件以释放磁盘空间并减少启动时的加载负担:
sudo apt clean删除已下载的软件包缓存(位于/var/cache/apt/archives/);sudo apt autoremove删除不再需要的依赖包(如卸载软件后遗留的库文件);sudo journalctl --vacuum-time=7d删除7天前的日志,或sudo journalctl --vacuum-size=50M限制日志大小不超过50MB;sudo find /tmp -type f -delete删除/tmp目录下的临时文件(需谨慎操作,避免删除正在使用的文件)。除了系统服务外,还需管理第三方应用的自启动:
systemctl list-unit-files --type=service --state=enabled查看所有启用的系统服务;~/.config/autostart/(桌面环境)或/etc/rc.local添加了启动项,可进入对应目录删除相关.desktop文件,或注释rc.local中的启动命令(需确保文件有可执行权限:sudo chmod +x /etc/rc.local)。优化内核配置以提升启动时的IO和网络性能:
/etc/sysctl.conf文件:添加或修改以下参数(需根据系统实际情况调整):
net.ipv4.tcp_tw_reuse=1(重用TIME-WAIT状态的TCP连接,提升网络性能);net.core.somaxconn=4096(增加TCP连接队列长度,避免连接堆积);vm.swappiness=10(降低交换分区使用频率,优先使用物理内存);sudo sysctl -p使修改生效。若系统盘仍使用ext3或旧版文件系统,可迁移至ext4或XFS(需备份数据):
df -T查看文件系统类型(如ext4、xfs);sudo apt install e2fsprogs安装工具,然后运行sudo mkfs.ext4 /dev/sdX(替换/dev/sdX为系统盘分区);sudo mkfs.xfs /dev/sdX创建XFS文件系统(XFS在大文件读写和并发性能上更优)。若软件优化后启动速度仍不理想,可考虑硬件升级: