Linux服务器启动失败的故障分析与修复

Դhttp://www.6cu.com

ߣ发外链

15

2021-03-26 06:47:29

     我们在使用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





佭ϴý Ѷ Media8ý

在线客服

外链咨询

扫码加我微信

微信:juxia_com

返回顶部