在CentOS系统启动过程中,用户有时会遇到屏幕上持续显示横杠(“-”)的情况,这通常表明系统在启动阶段遇到了某种阻塞或等待,这一现象虽然看似简单,但背后可能涉及硬件、软件或配置层面的多种原因,理解横杠出现的常见场景及排查方法,有助于快速定位问题并恢复系统正常运行。

横杠出现的常见场景
横杠一般出现在GRUB引导菜单加载后、内核启动完成但服务初始化未完成的阶段,具体表现可能是屏幕交替显示单个横杠,或多个横杠持续滚动,此时系统可能正在等待硬件响应、加载驱动或执行某些耗时操作,在RAID阵列初始化、文件系统检查(fsck)或网络服务启动时,都可能出现短暂横杠,但如果横杠长时间不消失(超过几分钟),则可能意味着启动流程卡在某个环节。
硬件层面的排查
硬件问题是导致启动横杠的常见原因之一,首先检查硬盘连接:若使用SATA或SCSI硬盘,确保数据线和电源线接触良好,特别是对于机械硬盘,接触不良可能导致系统反复尝试读取磁盘,对于RAID配置,检查阵列状态是否正常,若RAID卡在重建或同步过程中,系统可能会等待其完成,内存故障也可能引发此类问题,建议通过内存检测工具(如memtest86)进行排查。
软件与配置层面的分析
软件层面的问题同样不可忽视,文件系统错误是常见诱因,例如非正常关机可能导致ext4文件系统需要检查,此时屏幕会显示“Checking filesystems”并伴随横杠,可通过进入单用户模式或救援模式,使用fsck命令手动修复文件系统,内核模块加载失败也可能导致系统等待,例如存储驱动或显卡驱动不兼容,可通过修改/etc/modprobe.conf或更新内核版本解决,若近期修改过GRUB配置(如/etc/grub.conf),检查参数是否正确,错误的内核参数可能导致系统无法正常启动。

网络与服务启动问题
对于依赖网络服务的系统,若网络配置错误(如DHCP超时或静态IP设置不当),系统可能在等待网络连接时显示横杠,此时可尝试进入救援模式,检查/etc/sysconfig/network-scripts/下的网络配置文件,第三方服务(如数据库或虚拟化软件)的启动脚本若存在死锁,也可能阻塞整个启动流程,可通过查看/var/log/messages或journalctl定位卡住的服务。
解决步骤与建议
遇到启动横杠时,可按以下步骤逐步排查:
- 观察启动日志:进入GRUB菜单后,选择“e”编辑内核参数,在
linux16或linux行末尾添加init=/bin/bash,以进入紧急模式,通过dmesg查看详细日志。 - 检查文件系统:在救援模式下运行
fsck -y /dev/sdaX(X为分区号)修复错误。 - 禁用不必要服务:通过
systemctl list-unit-files查看服务状态,临时禁用可疑服务。 - 重置GRUB配置:若怀疑配置错误,可重新生成GRUB配置文件
grub2-mkconfig -o /boot/grub2/grub.conf。
若以上方法无效,可能需要考虑系统重装或恢复备份,定期备份数据和维护系统配置,可有效减少此类问题的发生。

FAQs
Q1:CentOS启动时横杠滚动,但系统最终能进入桌面,是否需要处理?
A1:短暂横杠可能是正常启动过程(如服务加载),若能正常进入系统且无性能异常,通常无需处理,但若横杠持续时间过长(超过5分钟)或频繁出现,建议检查日志以避免潜在问题。
Q2:如何避免启动横杠问题?
A2:定期更新系统补丁和内核,确保硬件连接稳定,避免非正常关机,并备份关键配置文件(如/etc/fstab、/etc/grub.conf),通过systemctl禁用不必要的自启动服务,可减少启动阻塞风险。