Total Pageviews

Thursday 11 October 2012

Linux系统的启动过程及故障排除

一:Linux的启动过程:
开机加电自检—》MBR引导(boot loader占446字节,分区列表64字节,magic占2字节)——》grub菜单(MBR是grub的第一个字段,
第二个字段存在于/boot/grub/中)——》加载内核kernel——》启动第一个进程init——》找到初始化脚本/etc/inittab,这个文件中有默
认的级别——》找到该级别相关的启动脚本(比如/etc/rc.d/rc.sysinit,然后找到级别3,读取/etc/rc3.d)——》开机脚本
(/etc/rc.d/rc.local)——》启动mingetty进程(通过mingetty产生终端)
二:模拟故障
模拟主引导记录MBR出现故障,应该如何排除
1:[root@lyt ~]# dd if=/dev/zero of=/dev/sda bs=446 count=1       #dd 作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指
定的转换。dev/zero,是一个输入设备,可用它来初始化文件,bs是bytes,446是MBR所占的大小,数量count=1.
2:[root@lyt ~]# init 6         #将系统重启,观察启动结果。系统无法如图
无标题9
3:在boot后面输入linux  rescue 进入急救模式,如图:
无标题10
4:选择语言,如图
无标题11
5:选择键盘类型,如图
无标题12
6: 是否要配置eth0到您的系统中,这里只是恢复MBR,所以选择no,如图:
无标题13
7:选择continue 如图:
无标题14
8:
无标题15
9:提示如果要在root下运行,则需切换到:chroot /mnt/sysimage
无标题16
10:切换到chroot /mnt/sysimage中,并安装MBR到/dev/sda中
无标题17
11:两次使用exit推出急救模式:
无标题18
12:测试:系统启动成功!
无标题19
模拟grub菜单(grub.conf)出现故障,应该如何排除
1: /etc/grub.conf和/boot/grub/grub.conf中的grub.conf实质上一样的
无标题20 
2:模拟grub菜单出故障,将grub.conf改名即可
[root@lyt ~]# cd /boot/grub/    #切换到该目录下
[root@lyt grub]#  mv grub.conf grub.conf.old     #将grub.conf改名为grub.conf.old
[root@lyt grub]#  init 6     #重启系统,观察遇到的结果 如图:
无标题21
3:定义引导分区,输入root后使用table键补全命令
无标题22 
4:查找引导分区上的内核
无标题23
无标题24
5:使用boot指令重新引导系统
无标题25
6:测试引导是否成功:
无标题26
7:[root@lyt ~]# cd /boot/grub/      #切换到该目录下
[root@lyt grub]# mv grub.conf.old grub.conf      #此时在系统中只有grub.conf.old,必须将其名称改为:grub.conf,否则下次无法正
常启动
8:测试系统是否正常启动
无标题27
模拟初始化脚本/etc/inittab出故障,编辑/etc/fatab,使其出现故障,应该如何排除
1:编辑/etc/fstab
无标题28
2:[root@lyt ~]# init 6    #重启系统,观察是否出现系统不能正常启动
无标题29
3:(Repair filesystem)3#                 #输入管理员口令后进入修复文件系统模式
(Repair filesystem)3#mount –o rw,remount /       #将根目录冲新挂载并修改权限为rw
(Repair filesystem)3#vim /etc/fstab    #编辑该文件  如图:
无标题30
4:(Repair filesystem)3#init 6       #重启系统观察结果:登录成功
image