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

linux启动过程故障排除_故障排除

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

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

linux启动过程故障排除_启动_02

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

linux启动过程故障排除_故障排除_03

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

linux启动过程故障排除_linux内核_04

 

linux启动过程故障排除_开机密码_05

 

linux启动过程故障排除_启动_06

 

linux启动过程故障排除_linux内核_07

 

linux启动过程故障排除_启动_08

 

linux启动过程故障排除_引导_09

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

linux启动过程故障排除_引导_10

 

linux启动过程故障排除_引导_11

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

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

linux启动过程故障排除_故障排除_12

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

linux启动过程故障排除_引导_13

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

linux启动过程故障排除_开机密码_14

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

linux启动过程故障排除_linux内核_15

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

linux启动过程故障排除_linux内核_16

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

linux启动过程故障排除_开机密码_17

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

linux启动过程故障排除_引导_18

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


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

linux启动过程故障排除_故障排除_19

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

linux启动过程故障排除_引导_20

 

linux启动过程故障排除_开机密码_21

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

linux启动过程故障排除_linux内核_22

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

linux启动过程故障排除_故障排除_23

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

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

linux启动过程故障排除_linux内核_24

 

linux启动过程故障排除_开机密码_25

 

linux启动过程故障排除_开机密码_26

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

linux启动过程故障排除_引导_27

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

linux启动过程故障排除_linux内核_28

 

重启就可以实现登录了!