检查硬盘、内存、CPU等是否正常,特别是硬盘是否存在坏道(使用smartctl 检测)。
1 |
smartctl -a /dev/sdX |
移除多余的外接设备(如USB设备)以排除外部硬件的影响。
确认BIOS/UEFI设置中硬盘的接口模式(如AHCI)。
在启动菜单中按e 编辑启动项,确认引导参数是否正确(如根分区、内核版本等)。
启动时在GRUB中添加debug 或rescue 模式,排查引导是否卡在某个环节。
在GRUB中编辑启动项,添加single 或init=/bin/bash。
使用fsck 修复可能损坏的文件系统。
1 |
fsck /dev/sdXn |
如果/etc/fstab 中配置错误,可能导致启动挂起。可以临时注释可疑挂载项。
使用journalctl 查看系统日志,定位启动慢或失败的具体服务。
1 |
journalctl -b |
使用systemd-analyze 查看启动总耗时。
1 |
systemd-analyze |
使用systemd-analyze blame 找出耗时最长的服务。
1 |
systemd-analyze blame |
对耗时过长或无关的服务进行禁用。
1 |
systemctl disable 服务名 |
检查内核模块是否加载失败或冲突(dmesg 查看内核日志)。
更新或回滚内核,使用稳定版本。
在GRUB配置中优化内核启动参数,例如quiet、nomodeset、nosplash 等。
网络服务配置错误可能导致启动卡住,检查/etc/resolv.conf 和网络服务状态。
临时禁用网络相关服务,排查是否因网络导致启动慢。
1 |
systemctldisable NetworkManager |
1 |
yum install sysstat -y |
运行:
1 |
iostat -x |
定期清理临时文件目录/tmp 和/var/tmp。
移除启动参数中的quiet,让内核打印详细启动日志。
使用systemctl 单独启动服务,排查哪个服务导致问题。
内核日志:/var/log/dmesg
系统日志:/var/log/messages 或/var/log/syslog
系统启动日志:journalctl -b
搜索错误或超时关键字(如error、failed、timeout)。
1 |
grep -i"error" /var/log/messages |
使用LiveCD或救援模式挂载磁盘并备份数据。
如果GRUB损坏,可以使用以下命令重新安装:
1 |
grub2-install /dev/sdX grub2-mkconfig -o /boot/grub2/grub.cfg |
如果initramfs损坏,可以重新生成:
1 |
dracut -f |
关闭无用服务,优化开机速度。
清理旧日志和缓存文件,释放磁盘空间。
使用稳定版本的内核、驱动和关键服务。