前言bash
运维人员常常会遇到各式各样的系统故障,如何根据故障特征锁定问题根源,须要的不单单是技巧,还有遇到故障时的思路,和对系统内部的理解,本文列出了一些常见的系统故障和处理方法,在那以前首先须要对系统启动流程有一个比较完整意义上的了解,以便问题出现后判断其属于哪一个环节。运维
Linux系统启动流程的基本知识
ide
一、加电自检(PowerOnSelfTest)工具
开机自动映射rom中程序到cpu能够寻址的空间中,cpu执行指令检查基本硬件是否正常加密
二、BIOS(Boot Sequence)
spa
若是正常则按照CMOS中保存的BootSequnece依次寻找对应设备上的MBR操作系统
三、MBR(BootLoader)blog
读取第一个MBR存在的设备中的BootLoader,并交与其控制权。进程
Linux下的常见BootLoader有两种:
get
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
四、Kernel
设备探测
驱动初始化(可能会从initrd(RHEL6 initramfs)文件中装载驱动模块)
为内核提供访问根文件系统的基本驱动能力
以只读挂载根文件系统
装载第一个进程init
五、init(etc/inittab)
/sbin/init 其配置文件(etc/inittab)
/etc/inittab 主要任务以下:
一、设定偶人运行级别
二、运行系统初始化脚本
三、运行制定运行级别目录下的脚本
四、设定Ctrl+Alt+Del组合键的操做
五、定义UPS电源在电源故障/恢复时执行的操做
六、启动6个虚拟终端(2345级别)
七、启动图形终端(5级别)
常见系统错误
一、忘记密码
启动进入单用户模式

使用passwd修改root密码

2、bootloader损坏

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



进入grub模式



重复成功

三、bash丢失系统没法启动

进入救援模式后

四、加密grub和内核

五、因某服务异常致使系统没法启动

总结七个点:
一、肯定问题的故障特征
二、重现故障
三、使用工具收集进一步信息,肯定问题根源
四、排除不可能的缘由
五、定位故障
六、备份源文件
七、尽量借助于工具