版本grub2的配置以及删除/boot目录回复系统

1:grub系统引导程序;在主引导MBR中的1扇区占512字节,前446字节主要存放grub的引导程序,64字节存放分区表,一个分区表为16字节,最多共4个分区;2字节标示

2:centos7的grub文件主要存放在三个位置:

主配置文件:

目录存放脚本:

修改的辅助文件:

注:不建议直接修改主配置文件,可以同过修改其他两个文件,然后通过命令grub2-mkconfig -o /boot/grub2/grub.cfg 来生成新的主配置文件

3:grub的故障排除有三种方式:

(1)rescue  在Linux内核文件的后面添加 s

(2)emergency 同样在配置文件后面添加 emergency

以上两种方式类似7版本之前的单用户模式;只不过emergency的单用户模式加载的服务比rescue加载的服务要更少

(3)shell;忘记root用户的密码可以再配置文件后面添加修改;这里不同于6版本的修改;如果使用6版本的方式进行修改肯定不会成功

4:如果将grub文件的446字节引导内容文件破坏之后;在linux7版本中该如何破解修改呢?会有不小心不/boot目录下内容也删掉该如何恢复;这里的方法都与之前的版本不同:

5:接下来进行今天的案例实验:

首先修改Linux在 /etc/grub.d下的00-header对加密grub进行配置


grub恢复centos6 centos7修复grub2_grub恢复centos6


grub恢复centos6 centos7修复grub2_grub恢复centos6_02


配置完成之后可以使用命令grub2-mkconfig -o /boot/grub2/grub.cfg重新生成主配置文件后重启系统


grub恢复centos6 centos7修复grub2_重启_03

6:如果不小心忘记了root用户的密码也可以修改通过在:grub文件中的Linux内核文件尾部添加 如图:


grub恢复centos6 centos7修复grub2_配置文件_04

之后按ctrl + x启动

挂载文件系统:


grub恢复centos6 centos7修复grub2_配置文件_05

之后改变下根“/”目录


grub恢复centos6 centos7修复grub2_配置文件_06

开始修改root的密码:使用password命令


grub恢复centos6 centos7修复grub2_操作系统_07

之后再根目录下创建影藏文件/.autorelabel文件后exit退出重启


grub恢复centos6 centos7修复grub2_grub恢复centos6_08

重启启动后进行对root用户的密码验证

grub恢复centos6 centos7修复grub2_grub恢复centos6_09

7:如果要是不小心把grub文件给删除了系统启动出现问题该怎么办呢?这里我将使用命令将grub文件的446字节覆盖掉然后恢复grub文件通过系统关盘


grub恢复centos6 centos7修复grub2_grub恢复centos6_10

重启系统通过bios进入系统光盘


grub恢复centos6 centos7修复grub2_重启_11


grub恢复centos6 centos7修复grub2_grub恢复centos6_12


grub恢复centos6 centos7修复grub2_配置文件_13


grub恢复centos6 centos7修复grub2_shell_14

 

通过df 查看系统光盘挂载在那个目录下


grub恢复centos6 centos7修复grub2_配置文件_15

切换下根目录使用chroot  /mnt/sysp_w_picpath


grub恢复centos6 centos7修复grub2_操作系统_16

之后重新装载grub2到系统中/dev/sda中


grub恢复centos6 centos7修复grub2_重启_17

重新启动之后ok;可以进行一下验证


grub恢复centos6 centos7修复grub2_重启_18

那如果grub文件可以修复成功;那么内核文件/boot下的所有文件都删掉该如何恢复呢


grub恢复centos6 centos7修复grub2_shell_19

通过 rm -rf * 删除 /boot下的所有启动配置文件内容然后重启系统


grub恢复centos6 centos7修复grub2_shell_20

启动方式之前修改grub文件的方式开始一样通过bios引导系统光盘这里不再叙述;我们需要进入光盘中切换根目录chroot  /mnt/sysp_w_picpath顺便查看下/boot目录下的内容空空的;


grub恢复centos6 centos7修复grub2_重启_21

解决方案就是重新安装内核;使用rpm进行安装内核文件,这里要使用--force;强制安装,应为系统中有内核的其他文件所以要重新安装所以要强制。首先要做的事情是挂载光盘

Mount /dev/sr0 /media目录之下


grub恢复centos6 centos7修复grub2_操作系统_22

然后通过RPM的安装方式进行安装kernel内核的安装包


grub恢复centos6 centos7修复grub2_重启_23

装完内核之后;重新安装一遍grub2文件;输入grub2-install /dev/sda ;然后重新编译grub2即可


grub恢复centos6 centos7修复grub2_操作系统_24

之后就可以重新启动系统使用reboot命令验证效果:在验证的时候将硬盘引导调到第一位;否则还会使用光盘引导


grub恢复centos6 centos7修复grub2_shell_25


grub恢复centos6 centos7修复grub2_重启_26

 

8:接下来,为大家介绍一个重要的知识点(聚合链路)

在生产环境下为了保证服务器不存在单点故障;实现NICteam的冗余;提高带宽或者是高可用性能;我们将会将多块网卡绑定起来形成NICteam逻辑接口组

在Linux系统7版本中使用runner;可以将其看作为一段代码;配置的过程分为具体的三部分:

(1)创建team的逻辑端口组可视为master

(2)将真实的网卡加入到逻辑端口组;可将网卡视为slave

(3)网卡加入后,为master添加ip地址

首先准备环境创建好;准备两块网卡


grub恢复centos6 centos7修复grub2_grub恢复centos6_27

创建一个新连接类型为team 连接名称为 eth0;team为高可用activebackup


grub恢复centos6 centos7修复grub2_shell_28


如果要是负载均衡可以将activebackup改为loadbalance即可;master配置好之后开始配置salve;将两块网卡添加到eth0的team中;配置内容如下


grub恢复centos6 centos7修复grub2_shell_29

 

可执行nmcli connection show查看 eth0-1 和eth0-2 的状态 ,也可使用nmcli connection up eth0-1 / eth0-2 开启两个网卡的状态


grub恢复centos6 centos7修复grub2_配置文件_30


grub恢复centos6 centos7修复grub2_重启_31

也可以通过 ip a 命令查看 两个网卡的MAC地址变成相同的地址;说明聚合链路配置成功


grub恢复centos6 centos7修复grub2_shell_32

接下来进行最后一步,就是为team组配置ip地址


grub恢复centos6 centos7修复grub2_配置文件_33

通过ip a命令进行验证


grub恢复centos6 centos7修复grub2_shell_34

9:测试下eth0的当前状态:


grub恢复centos6 centos7修复grub2_配置文件_35

 

关闭eno16777736网卡,查看是否会自动切换到另一块网卡之上进行测试


grub恢复centos6 centos7修复grub2_操作系统_36