Linux系统启动过程故障排查                        

1、首先我们来认识一下内核。查看/etc/grub.conf 内核文件。可以看到许多需要加载的文件和镜像。

2、我们看一下有这么一个镜像文件initrd-2.6.18-164.el5.img

查看文件类型[root@localhost abc]# file initrd-2.6.18-164.el5.img

也可以查看该文件的解压缩过程,[root@localhost abc]# zcat initrd-2.6.18-164.el5.img |cpio -idcpio -id 是解压缩命令

解压缩之后就可以看到 ext3.ko 模块了,这是为了正常的把内核文件转交给根,必须加载一些驱动。驱动又放在根下,为了防止绕弯,于是加载了initrd-2.6.18-164.el5.img这个镜像文件。

存放进程大文件:/proc/文件下,当我们开启一个程序时,该进程的进程id号,都在该文件夹里。

[root@localhost proc]# cat cmdline

ro root=LABEL=/ rhgb quiet

[root@localhost proc]# dmesg |grep -i cpu   (用dmesg 命令查看各种硬件信息)或cat cpuinfo命令。

我们要是感觉网络出现问题,可以考虑查一下/net/ipv4/的文件,查看是否被改动。

例如 icmp_echo_ignore_all 的默认值是0 ,如果我们把该值改成1时,我们再ping这个机器ip就再也ping不通了。用echo 1> icmp_echo_ignore_all 的指令修改。

这样改只是临时修改,如要想永久修改。得修改配置文件,/etc/sysctl.conf 中 重启后生效,

我们可以运行这个命令,就不需要重启了,:sysctl -p .

查看我们系统加载的模块:lsmod 命令查看。可以看到每一行一个模块。Used by指的是该模块被加载应用了多少次。查看模块 modinfo   卸载模块:rmmod  name

重新加载 insmod 路径  依赖模块   或者 modprobe  模块名称 (自动找路径,依赖关系)

模块参数定义改变该文件/etc/modprobe.conf参数。 可以查看一下。

系统启动过程和故障处理

1、 通电---cmos --post 硬件自检。

2、 过程如下图所示:

202057698.png

如果硬件出现问题一直出现在开机自检(BIOS)位置,grub 菜单:

第一阶段MBR引导  第二阶段grub 菜单的加载参数,和必要的驱动,/etc/grub.conf 为配置文件。

接下来我们模拟一下一个故障,尝试故障排查的过程。

模拟grub菜单(grub.conf)出现故障,应该如何排除

1: /etc/grub.conf和/boot/grub/grub.conf中的grub.conf实质上一样的

2:模拟grub菜单出故障,将grub.conf改名即可

[root@localhost ]# cd /boot/grub/    #切换到该目录下

[root@localhost ] grub]#  mv grub.conf grub.conf.old     #将grub.conf改名为grub.conf.old

[root@localhost ] grub]#  init 6     #重启系统,观察遇到的结果

3:定义引导分区,输入root后<tab>

202207550.png

202242207.png

4:查找引导分区上的内核


202332919.png

上面是一个镜像文件的加载。

202443363.png

5:使用boot指令重新引导系统

6:测试引导是否成功:

7:[root@localhost ]# cd /boot/grub/      #切换到该目录下

[root@localhost grub]# mv grub.conf.old grub.conf      #此时在系统中只有grub.conf.old,必须将其名     称改为:grub.conf,否则下次无法正常启动。

8:测试系统是否正常启动

模拟初始化脚本/etc/inittab出故障,编辑/etc/fatab,使其出现故障,应该如何排除

1:编辑/etc/fstab

2:[root@localhost ]# init 6    #重启系统,观察是否出现系统不能正常启动

3:(Repair filesystem)#                 #输入管理员口令后进入修复文件系统模式

(Repair filesystem)#mount –o rw,remount /       #将根目录冲新挂载并修改权限为rw

(Repair filesystem)#vim /etc/fstab    #编辑该文件  如图:

4:(Repair filesystem)#init 6       #重启系统观察结果:登录成功

嗯,我们有可能会遇到这样的开机故障,那摩可以用这种方法试一试。应该能解决你所遇到的故障问题。

还有可多的故障我们或许会遇到,我会继续更新的。