您的位置:首页 > 运维架构 > Linux

linux启动过程及故障排除

2013-07-31 08:53 399 查看
启动过程及故障排除启动过程

今天为大家讲解一下linux系统中的系统启动过程以及故障排除。首先系统通电在主板上的cmos的芯片上post会对硬件完成上电自测试。完成自检后有一个mbr扇区引导,到达gruppo菜单可以进行配置。引导菜单位于/etc/grub.conf,用户可以根据grub菜单选择加载哪一个系统,根据title加载相应的内核。系统便释放出内存,开始调度硬件。

Pstree |less可以查看进程

进程是一个派生关系在linux中。Init是系统中的鼻祖。下面我们看一下etc/inittab

其中init表格中指明进入某种级别,但是不管进入哪种级别都是要执行rc.sysinit配置文件,然后根据级别进入/etc/rc.d/rc脚本指明进入默认级别

相当于进行热启动

交流电失效,可以使用后备电源。还可以对用户发送警告。

相应的级别产生相应的字符终端,respawn具有再生能力。

只有5级别才执行

而往往启动过程中的故障就是存在第一阶段和第二阶段,

下面我们来模拟一下第一阶段产生故障没然后看看怎么解决。

这样我们就可以将mbr中的446个字节覆盖掉,引导程序就会没了。咱们重启一下看看。

我们可以发现系统进不去,硬盘进不了引导模块。图中用的是pxe网络引导。那我们怎么办呢?不用怕,我们可以使用光盘进行引导,让我们挂上光盘。

然后我们进行重启。






出现图中的画面,这时我们前往不要回车。回车就变成安装了。此时,我们需要进入急救模式。

这时我们输入图上最后一行的linux rescu















此时进入系统后我们需要转变一下根目录

下面开始中间第一阶段

执行命令grub,下面开始指明引导分区

下面执行setup,他是grub的子程序。可以帮助我们重建mbr。

然后执行exit

然后会自动重启系统

此时已经进去那下面我们来模仿一下第二个阶段生效,看看如何解决。

第二阶段的任务就是生成上面的这些文件。第二阶段主要是依靠/boot/grub/grub.conf

那我们删除此文件来模仿第二阶段启动失败。

我们重启一下看看

结果到了这一界面

已经进如grub说明第一阶段没问题,那我们需要用命令将他启动起来。

从图中可以看出不是0就是1那我们来试试1指明引导分区






可以看出这个不是我们要的引导分区。那我们试试另外一个分区吧。





可以看出上面是引导分区的信息。指明一下内核

指明一下驱动

然后boot启动起来

那我们看看启动之后怎么重建二阶段的其他文件创建grub.conf文件






重启一下看能否起来

这次可以进去,那我们看看我们删除grub目录下的所有文件看能不能进入系统呢?将grub目录下的文件备份到/tmp/abc

重启试试结果进不去,那我们试试光盘引导。

再次进入急救模式,然后进入系统执行下面命令






但是还缺少grub.conf那我们退出重启

等待重启。重启之后我们再次构建一个grub.conf就好了。

构建成功后重启一下。这下你就可以成功进入系统了。还有一些情况也可能导致我们进不去系统,例如我们误删或者修改了一些文件,例如文件系统表。假如我们在文件系统表中随便键入一些东西看还能启动吗?





编辑好重启一下。只要我们可以弄清第一二阶段的关系,我们就可以重建文件进入系统。

本文出自 “木小浩-51CTO” 博客,请务必保留此出处http://muxiaohao.blog.51cto.com/7208070/1260998
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: