我们在使用linux服务器工作中难免会遇到某一天服务器故障无法启动的情况。我们遇到这种问题要知道如何去找到无法启动的原因,从而解决问题。本文将列出最常见的问题linux启动问题。
一、问题分析
1、硬件问题:
硬件无非就是由主板、cpu、内存、硬盘、电源以及其他板载设备构成。
常见排查问题扥方法可分为:
(1)从主板排查: 服务器主板上有自带检测卡 ,无法正常开机会有显示错误代码。
(2)内存:一般双通道、四通道。服务器大部分为双路 CPU 内存分A B 类插槽 例如总共24个内存插槽 A1-A12为 一组 B2-B12。 A1插一个 另一个要插在B2上。或者就是内存松动,没有插好,擦拭内存条金手指,重新插入。
(3)硬盘: 硬盘一般都插在阵列卡上,如果没有识别到硬盘,就要到阵列卡里进行设置,具体操作可以百度阵列卡的型号。
(4)cpu: 这个一般不会坏,这个是服务器上最稳定的一个硬件,可以直接忽略。
(5)电源: 启动没有反应,散热风扇不会动,usb没有输出供电,这个没法修,只有更换。
2、系统问题:
(1)引导分区出问题:MBR分区损坏或者丢失。
(2)启动所依赖的的grup损坏。
(3)文件系统损坏,或者其他分区损坏。
(4)忘记登陆密码。
(5)应为文件错误导致无法启动。
在解决问题之前,我们先了解下linux的启动过程,有助于判断我们进行到哪一步,或是在哪一步出了问题。
linux的启动过程大概分为4步骤:
第一步:bios硬件自检 (耗时最长)。
硬件排查,大概一两分钟时间就可以结束,结束标志:看到group界面。
第二步:启动引导管理器 :cetos6 为GRUB centos7为GRUB2。
系统启动引导包含的文件 ,开机后选择哪个内核进入。
第三步:内核与镜像文件系统加载。
(1)确定启动分区 (大部分是第一个分区)。
(2)加载内核文件(获得硬件的支持)调度算法 cpu 内存管理。
(3)镜像文件系统(获得设备驱动支持,识别磁盘,文件系统配置等)。
第四步:系统初始化以及文件的加载。
(1)第一个进程:centos6 为 init (启动速度慢,只能串行启动等),centos7 为 systemd。
(2)系统初始化 (主机名、网络支持、时钟支持、逻辑券支持)。centos6 sysinit的脚本完成初始化,centos7 systemd加载服务单元。
(3)进入运行级别,例如windos的F8安全模式。centos6有这个级别,centos7或8没有运行级别,直接定义模式 mod 要么图形模式,要么字符模式。
(4)启动系统网卡、加载nfs、启动ssh终端、启动httpd等。
二、解决方案:
1、系统的救援模式。
(1)进入救急模式。
在biso中选择boot项,将光盘或者u盘设置为第一启动项,前提是u盘或者光盘有相同版本的系统。我这里以光盘为例。选择后重启即可。
(2)进入救援模式。
这里注意下,进入的救援模式的系统内核是在光驱或者光盘上,并不是进入了我们损坏的系统,通过光驱的系统挂载损坏的硬盘,从而进行文件操作。(类似于windos的pe盘)。
cenros6选择Rescue installed ysytem 进入救援模式;centos7选择Troubleshooting 进入救援模式。
(3)选择语言English。
这里基本就是一只下一步就可以了,其中有一项Setup Networking是否开启网络,这里注意选择no不开启就可以了。
(4)进入应急的shell。
chroot /mnt/sysyimage , 进入我们错误系统的硬盘下,就可以进行文件操作。如修改配置文件之类的。
(5)修改完毕之后exit ,进入bios改回硬盘启动模式。
2、常遇到系统启动的问题
(1). MBR损坏修复。
当引导扇区被破坏后就无法启动:
①病毒进行破坏。
②硬盘损坏。
③当装双系统时候。
模拟破坏:使用对拷 dd命令 把前446字节擦掉,指令如下:
dd if=/sev/zero of=/sev/sda bs=1 count=446擦掉后查看hexdump -C -n 512 /dev/sda 。
解决方法:
cenros7:grub2 -install /dev/sda 把linux系统程序写到根boot loader 引导下即可恢复。
centos6:grub -install /dev/sda 把linux系统程序写到根boot loader 引导下即可恢复。
2、其他分区损坏,或者文件系统损坏:
解决方法:
Fsck -y /dev/sda2
Fsck -y /dev/sda3
Fsck -y /dev/sda4
3、忘记root密码:
解决方法:
chroot /mnt/sysimage/
echo "000000" | passwd --stdin root 或 passwd root
exit
reboot
4、因为文件错误导致系统无法启动
解决方法:
将原有文件考入相同路径,给予权限即可。
原文链接:https://blog.csdn.net/qq_26129413/article/details/112131931