linux启动过程故障排除

linux机器的启动过程:
开机自检(BIOS)---> MBR引导---> GRUB菜单---> 加载内核(kernel)--->
运行INIT进程

linux启动过程故障排除

全部过程可以主要分为两个过程:MBR引导和grub

第一阶段失效:
NBR引导区域一共只有446个字节,所以当它出现问题时,grub菜单是没法见到的,所以我们来模拟这个问题
使用如下的命令我们可以将开机是启动的446个字节给覆盖住,重启

linux启动过程故障排除

此时开机的界面变成这样,硬盘启动不了,说明它要用PXE引导,但是起不来

linux启动过程故障排除

这时候我们要使用光盘引导,进入急救模式

linux启动过程故障排除

 

linux启动过程故障排除

 

linux启动过程故障排除

 

linux启动过程故障排除

 

linux启动过程故障排除

 

linux启动过程故障排除

然后我们要怎样来重建MBR里面的446个字节呢?我们进入在命令行里直接输入grub ,enter键进入
接下来我们要指明跟分区的位置,因为我的是在第一块儿盘的第一个分区

linux启动过程故障排除

 

linux启动过程故障排除

此时执行 grub>quit 推出
接着在所在的命令行输入两次exit推出急救模式,并且系统会自动启动
我们发现系统启动成功,故障排除成功!

第二阶段失效:
/boot/grub/grub.conf文件
我们在这里删除它,来模拟实验

linux启动过程故障排除

删除后,进行重启,发现启动的情况是这样

linux启动过程故障排除

看到了这种情况,也就是说我们第一阶段启动成功,但是第二阶段失败
我们要使用命令来启动了

linux启动过程故障排除

我们选择第一块儿硬盘,但是若是我们忘记是第几个分区,我们可以一个个的实验,这个不会有影响,
使用 find /  lai chakan 跟分区上的内容来确定跟分区,因为跟分五上有内核和驱动程序

linux启动过程故障排除

接下来我们要告诉系统内核在哪去引导,命令如下

linux启动过程故障排除

接下来系统就会自己成功的启动进入主界面,我们登录就ok!
但是我们需要在/boot/grub/目录下手动添加grub.conf文件
使用grub-install来指明二阶段需要的文件安装位置

linux启动过程故障排除

使命后就去编写grub.conf文件

linux启动过程故障排除

编写成功后再次重启,我们发现可以重启成功,因为编写的grub.conf很简单,所以登录的界面也很简单


现在我们再来一次,把整个grub目录下的文件都删掉,肯定是开机不了

linux启动过程故障排除

这样我们只能使用急救模式,首先使用光盘引导,进入grub

linux启动过程故障排除

 


linux启动过程故障排除

我们查询一下安装的结果,我发现缺少了grub.conf文件,还需要我们手动编写

linux启动过程故障排除

接下来我们推出,按下F2重启
进入grub命令行,我们就像上面那样手动进入系统

linux启动过程故障排除

进入系统后我们只需要编写grub.conf文件,系统的故障就会解除了。

有时候我们忘记了管理员的密码,那么只要我们可以接触到机器,就可以修改管理员帐号密码
进入引导界面,按下e键

linux启动过程故障排除

 

linux启动过程故障排除

 

linux启动过程故障排除

然后按下b键进行引导,进入单用户模式

linux启动过程故障排除

也可以直接删掉管理员的密码

linux启动过程故障排除


重启就可以实现登录了!




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