如何在宝塔面板中管理系统的启动引导项优化开机速度?

酷辰酱_9963

酷辰酱_9963

2026-03-13

403人浏览

原创

宝塔面板下可通过精简GRUB启动项、缩短超时、优化initramfs、调整systemd目标及修复ESP分区来加快服务器开机速度。具体包括清理旧内核、设GRUB_DEFAULT=saved、剔除冗余驱动、切换multi-user.target、删除EFI冗余目录等操作。

如何在宝塔面板中管理系统的启动引导项优化开机速度?

如果您在使用宝塔面板管理服务器时发现系统开机速度明显变慢,可能是由于引导阶段加载了冗余内核、旧启动项或未清理的 GRUB 条目所致。宝塔面板虽不直接提供 GRUB 编辑界面,但可通过其终端功能与系统底层配合完成启动引导项精简。以下是解决此问题的步骤:

一、清理冗余 GRUB 启动菜单项

GRUB 引导菜单中长期累积的旧内核版本会增加引导扫描时间,并可能因内核模块冲突拖慢初始化过程。通过删除非当前运行的旧内核,可减少 GRUB 菜单条目数量及默认超时等待负担。

1、登录宝塔面板,在左侧菜单点击【终端】,打开命令行界面。

2、执行uname -r确认当前正在使用的内核版本,例如返回5.15.0-125-generic。

3、执行dpkg --list | grep linux-image(Ubuntu/Debian)或rpm -qa | grep kernel(CentOS/RHEL)列出所有已安装内核。

4、对比后,对非当前版本且无依赖的旧内核执行卸载:Ubuntu/Debian 系统运行sudo apt purge linux-image-5.15.0-118-generic linux-modules-5.15.0-118-generic;CentOS 系统运行sudo yum remove kernel-3.10.0-1160.118.1.el7.x86_64。

5、执行sudo update-grub(Debian/Ubuntu)或sudo grub2-mkconfig -o /boot/grub2/grub.cfg(CentOS/RHEL)刷新引导配置。

二、调整 GRUB 超时与默认启动项

默认 GRUB 超时时间为 10 秒,且常将旧内核设为默认项,导致系统空等或误启低效内核。缩短超时并锁定当前最优内核可消除感知延迟。

1、在宝塔终端中执行sudo nano /etc/default/grub编辑主配置文件。

2、将GRUB_TIMEOUT=10修改为GRUB_TIMEOUT=3,降低菜单停留时间。

3、查找GRUB_DEFAULT=0行,将其改为GRUB_DEFAULT=saved,并在下一行添加GRUB_SAVEDEFAULT=true,确保下次启动自动沿用上次成功启动项。

4、保存退出后,再次运行sudo update-grub或sudo grub2-mkconfig -o /boot/grub2/grub.cfg使配置生效。

三、禁用不必要的 initramfs 模块

initramfs 是内核启动前加载的临时根文件系统,若其中包含未使用驱动(如 RAID、FC HBA、多余网卡固件),会导致解压与挂载耗时增加。精简 initramfs 可缩短内核加载阶段。

1、执行lsinitramfs /boot/initrd.img-$(uname -r) | head -20查看当前 initramfs 内容概览。

2、检查是否含drivers/scsi/、drivers/nvme/以外的大体积驱动目录,尤其是与当前硬件无关的模块。

3、编辑/etc/initramfs-tools/conf.d/resume(Ubuntu/Debian)或/etc/dracut.conf.d/99-custom.conf(CentOS/RHEL),添加omit_drivers+="mptspi qla2xxx be2iscsi"(根据实际冗余模块名填写)。

4、执行sudo update-initramfs -u -k all(Debian/Ubuntu)或sudo dracut -f --regenerate-all(CentOS/RHEL)重建精简版 initramfs。

四、验证并禁用 systemd 默认启动目标中的非必要服务

部分服务虽不属 GRUB 层级,但在 init 进程启动后立即激活(如getty@tty2.service、bluetooth.service),延长从内核就绪到登录界面出现的时间。通过调整默认 target 可跳过图形或终端多路复用环节。

1、执行systemctl get-default确认当前默认启动目标,常见为graphical.target或multi-user.target。

2、若服务器无需图形界面,执行sudo systemctl set-default multi-user.target切换至纯命令行模式。

3、执行systemctl list-dependencies --type=service graphical.target | grep -E "(getty|gdm|lightdm|bluetooth)"识别图形相关依赖服务。

4、对确认非必需的服务逐个屏蔽:sudo systemctl mask getty@tty2.service、sudo systemctl disable bluetooth.service。

5、重启后观察从 GRUB 菜单选择到显示登录提示符的时间变化,重点关注前 5 秒内控制台输出是否更早出现。

五、检查并修复 EFI 系统分区(ESP)异常

UEFI 启动模式下,EFI 分区若存在损坏、空间不足或重复启动管理器(如多次安装不同发行版遗留的/EFI/ubuntu、/EFI/centos、/EFI/boot),会导致固件扫描延迟甚至启动失败回退。

1、执行sudo fdisk -l | grep -i efi定位 ESP 分区(通常为/dev/sda1或/dev/nvme0n1p1)。

2、运行sudo mkdir -p /mnt/esp && sudo mount /dev/sda1 /mnt/esp挂载该分区。

3、进入/mnt/esp/EFI/目录,执行ls -l查看子目录列表,保留当前系统对应目录(如 ubuntu 或 centos)及 boot 目录,其余冗余厂商或旧系统目录可安全删除。

4、检查剩余空间:df -h /mnt/esp,若可用空间低于 50MB,需清理旧grubx64.efi备份或fallback.efi文件。

5、卸载并更新启动项:sudo umount /mnt/esp,随后执行sudo update-grub或sudo grub2-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu(路径按实际调整)。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Uvicorn 报错与问题解决教程
Uvicorn 报错与问题解决教程

本专题汇总了Uvicorn服务器常见问题与报错解决的教程合集,涵盖启动失败、端口占用、模块导入错误、事件循环冲突及热重载失效等典型故障的排查思路。同时整理了多进程与Worker配置、SSL/HTTPS证书报错、跨域与代理配置等实战解决方案,助你快速定位并解决Uvicorn运行中的各类问题。

2026.11.02

0

14

Uvicorn使用教程
Uvicorn使用教程

本专题汇总了Uvicorn使用教程与启动运行指南,涵盖其作为Python ASGI服务器的定位与特点,以及命令行启动(uvicorn main:app --reload)、参数配置(host/port/workers)、程序内嵌运行与Gunicorn结合部署等核心用法。同时整理了热重载调试、日志配置与生产环境部署优化等技巧,助你快速掌握Uvicorn的运行与配置。

2026.11.02

0

17

Uvicorn安装配置教程
Uvicorn安装配置教程

本专题汇总了Uvicorn的安装配置教程与部署指南,涵盖通过pip安装Uvicorn、启动FastAPI/Starlette应用、开发模式热重载(--reload)及多进程工作模式配置等核心操作。同时整理了结合Gunicorn的生产部署方案、HTTPS与反向代理配置及性能调优技巧,助你快速完成Uvicorn服务的安装与上线部署。

2026.11.02

0

17

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

100

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

80

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

240

10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

140

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

140

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

100

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习