linux- rhel7启动排错

开机经历的步骤:

1BIOS自检,检查硬件;

2、**MBRMBR上不存在文件系统,可以视作硬件一部分,因此可以被直接读取

3grub加载到内存,生成一个微系统,微系统内置了精简版的文件系统

4、通过这个微系统,他会去引导分区,比如默认一般是sda1上去找内核文件如vmlinuz,然后再调用grub的配置文件。

grub的主要把他的配置文件放在了3个地方。

/boot/grub2/grub.cfg  /etc/grub2.cfg/boot/grub2/grub.cfg文件的符号链接)

/etc/grub.d/  

/etc/default/grub

排错:

一:忘记root密码

重置root密码步骤:

(1)开机快速按上下键,避免自动进入系统

linux- rhel7启动排错

(2)在上述的界面下按e  ,进入以下的界面

linux- rhel7启动排错

(3)在linux16那行的最尾部加上一下信息

找到linux16引导条目这一行,从这行最后删除到ro选项,并把ro改为rw,然后添加rd.break选项linux- rhel7启动排错

ctrl+x启动设定过后的系统引导条目

进入系统后执行chroot  /sysroot切换到真实的系统环境

linux- rhel7启动排错

passwd root修改超级用户密码

建立文件/.autorelabel让系统重新扫描所有文件

linux- rhel7启动排错

然后执行两次 exit 就可以进入系统了

二:grub故障:比如把MBR的前446个字节都覆盖了。

linux- rhel7启动排错

开机就找不到引导程序,无法开机

然后我们新加一个软盘,然后把镜像放在软盘里,然后把开机选项调整为从软盘启动

linux- rhel7启动排错

linux- rhel7启动排错

然后再次开机

选择救援模式

linux- rhel7启动排错

linux- rhel7启动排错

然后按照提示进入一个shell

linux- rhel7启动排错

然后安装系统引导grub2

linux- rhel7启动排错

然后执行 exit 退出,然后关机,设置从硬盘启动,然后就可以正常启动了。

三:grub引导程序没问题,但把内核文件或者grub.cfg配置文件给删除

重启之后,直接进入grub的救援模式,这表明引导程序没问题,但是引导文件找不到了linux- rhel7启动排错

手动输入引导文件

set root='hd0,msdos1'                                                                             #设置根目录

linux16 /vmlinuz-3.10.0-327.e17.x86_64 ro root=/dev/vdb3                 #设置内核文件

initrd16 /initramfs-3.10.0-327.e17.x86_64.img                                      #设置开机启动服务

boot                                                                                                        #启动

linux- rhel7启动排错

开机后利用grub2-mfconfig修复grub.cfg文件

linux- rhel7启动排错

:内核文件删除

启动时如图:

linux- rhel7启动排错

关机,切换为从光盘启动

进入救援模式,可以看到真实的系统根目录为/mnt/sysimage

linux- rhel7启动排错

分解安装盘内的内核包

linux- rhel7启动排错

然后将内核文件拷贝到/mnt/sysimage/boot下,完成后退出

linux- rhel7启动排错

最后把启动选项改为从硬盘启动,就可以成功进入系统了

五:系统初始化加载initrd镜像损坏

例如删除了 initramf-3.10.0-327.x86_64.img

开机后如图

linux- rhel7启动排错

从光盘启动,进入救援模式

恢复initramfs镜像文件

linux- rhel7启动排错

然后,将启动选项改为从硬盘启动,就可以成功进入系统了