天天看点

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         #将系统重启,观察启动结果。系统无法如图

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153167p18X.png"></a>

3:在boot后面输入linux  rescue 进入急救模式,如图:

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153172htx1.png"></a>

4:选择语言,如图

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153176q6cT.png"></a>

5:选择键盘类型,如图

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153178hq8T.png"></a>

6: 是否要配置eth0到您的系统中,这里只是恢复MBR,所以选择no,如图:

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153181Mmbq.png"></a>

7:选择continue 如图:

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153184ig2c.png"></a>

8:

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153187H2JI.png"></a>

9:提示如果要在root下运行,则需切换到:chroot /mnt/sysimage

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153189Y7g8.png"></a>

10:切换到chroot /mnt/sysimage中,并安装MBR到/dev/sda中

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153199nn1Z.png"></a>

11:两次使用exit推出急救模式:

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153203lYsX.png"></a>

12:测试:系统启动成功!

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153206FItH.png"></a>

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

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

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     #重启系统,观察遇到的结果 如图:

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_134415321572WL.png"></a>

3:定义引导分区,输入root后使用table键补全命令

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

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153222vwMU.png"></a>

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_134415322616WN.png"></a>

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

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153227lI7Y.png"></a>

6:测试引导是否成功:

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153230U4Q6.png"></a>

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

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

常启动

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

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153231Lt8j.png"></a>

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

1:编辑/etc/fstab

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153236rxoi.png"></a>

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

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153238t1Py.png"></a>

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

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

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

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153240eU2J.png"></a>

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

<a href="http://5493845.blog.51cto.com/attachment/201208/5/5493845_1344153242VelN.png"></a>

本文转自 liuyatao666 51CTO博客,原文链接:http://blog.51cto.com/5503845/954998,如需转载请自行联系原作者

继续阅读