linux启动过程故障排除-阿里云开发者社区

开发者社区> 安全> 正文
登录阅读全文

linux启动过程故障排除

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

145659571.png

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

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

145701400.png

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

145703981.png

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

145705658.png

 

145708927.png

 

145710862.png

 

145713975.png

 

145716867.png

 

145718173.png

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

145720829.png

 

145723992.png

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

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

145725699.png

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

145728967.png

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

145730142.png

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

145732273.png

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

145735201.png

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

145737565.png

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

145739957.png

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


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

145742250.png

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

145744800.png

 


145746593.png

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

145748730.png

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

145751516.png

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

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

145753337.png

 

145755799.png

 

145758549.png

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

145800270.png

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

145802615.png


重启就可以实现登录了!




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



 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: