Linux常见系统故障排除

简介:

前言

   运维人员经常会遇到各式各样的系统故障,如何根据故障特征锁定问题根源,需要的不仅仅是技巧,还有遇到故障时的思路,和对系统内部的理解,本文列出了一些常见的系统故障和处理方法,在那之前首先需要对系统启动流程有一个比较完整意义上的了解,以便问题出现后判断其属于哪个环节。

Linux系统启动流程的基本知识

1、加电自检(PowerOnSelfTest)

   开机自动映射rom中程序到cpu可以寻址的空间中,cpu执行指令检查基本硬件是否正常

2、BIOS(Boot Sequence)

   如果正常则按照CMOS中保存的BootSequnece依次寻找对应设备上的MBR

3、MBR(BootLoader)

   读取第一个MBR存在的设备中的BootLoader,并交与其控制权。

   Linux下的常见BootLoader有两种:

           LILO: LInux LOader(不能引导1024柱面以后的分区内核(嵌入式))

           GRUB: GRand Unified Bootloader

   MBR空间有限,无法展示其特性,所以将GRUB分为2阶段程序,如下:

       Stage1(被装载MBR当中)                主要目的是为了引导第二阶段

       Stage1.5(/boot/grub/Stage1_5)   识别常见不同类型的文件系统

       Stage2(/boot/grub/Stage2)         引导操作系统(突破了446字节的限制)         并借助配置件/boot/grub/grub.conf

4、Kernel

   设备探测

   驱动初始化(可能会从initrd(RHEL6 initramfs)文件中装载驱动模块)

   为内核提供访问根文件系统的基本驱动能力

   以只读挂载根文件系统

   装载第一个进程init

5、init(etc/inittab)

   /sbin/init         其配置文件(etc/inittab)

   /etc/inittab     主要任务如下:

          1、设定偶人运行级别

          2、运行系统初始化脚本

          3、运行制定运行级别目录下的脚本

          4、设定Ctrl+Alt+Del组合键的操作

          5、定义UPS电源在电源故障/恢复时执行的操作

          6、启动6个虚拟终端(2345级别)

          7、启动图形终端(5级别)

常见系统错误

1、忘记密码

   启动进入单用户模式

182122823.png

   使用passwd修改root密码

182229769.png

2、bootloader损坏

182556697.png

   载入安装光盘进入紧急救援模式

182751382.png

182754290.png

182757751.png

   进入grub模式

182855622.png

183716951.png

183745153.png

   重复成功

183816463.png

3、bash丢失系统无法启动

183943319.png

   进入救援模式后

183957607.png

4、加密grub和内核

184151674.png

5、因某服务异常导致系统无法启动

184503327.png

总结七个点:

1、确定问题的故障特征

2、重现故障

3、使用工具收集进一步信息,确定问题根源

4、排除不可能的原因

5、定位故障

6、备份源文件

7、尽可能借助于工具




本文转自 ftmoonfans  51CTO博客,原文链接:http://blog.51cto.com/soulboy/1277190

相关文章
|
3天前
|
Ubuntu Linux 编译器
【Linux】详解动静态库的制作和使用&&动静态库在系统中的配置步骤
【Linux】详解动静态库的制作和使用&&动静态库在系统中的配置步骤
|
4天前
|
Linux Windows
虚拟机添加新硬盘之linux系统篇
虚拟机添加新硬盘之linux系统篇
11 1
|
1天前
|
Linux Perl
Linux系统的文本处理
Linux系统的文本处理
|
2天前
|
IDE Linux 开发工具
Linux 系统上安装
在Linux和Mac上安装Lua 5.3.0只需下载源码,解压,编译和安装。Windows用户可选择SciTE IDE或通过LuaForWindows在Github或Google Code下载安装。创建 HelloWorld.lua,使用`lua HelloWorld.lua`运行显示"Hello World!"。另可参考LuaDist官方推荐方式安装。
|
2天前
|
Linux API
Linux系统编程之文件编程常用API回顾和文件编程一般步骤
Linux系统编程之文件编程常用API回顾和文件编程一般步骤
Linux系统编程之文件编程常用API回顾和文件编程一般步骤
|
2天前
|
编解码 Ubuntu Linux
|
3天前
|
Linux
|
3天前
|
Linux
请问如何在Linux系统中删除一个磁盘分区
请问如何在Linux系统中删除一个磁盘分区
|
3天前
|
Linux
Linux系统的磁盘管理
Linux系统的磁盘管理
|
3天前
|
Unix Linux Shell
Linux系统使用超详细(一)
Linux系统是一种开源的、类Unix操作系统内核的实现,它基于Unix的设计原理和思想,并在全球范围内广泛应用。以下是对Linux系统的详细描述: