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

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

2centos7grub文件主要存放在三个位置:

主配置文件: /boot/grub2/grub.cfg

目录存放脚本: /etc/grub.d

修改的辅助文件: /etc/default/grub

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

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

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

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

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

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

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

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

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

wKioL1j_ckeAYEcDAAAMZDdpNkI525.png-wh_50 

wKiom1j_cl7yRUNLAAAqromzrGM908.png-wh_50 

 

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

wKiom1j_cnrzvOgJAABbJjuGivs867.png-wh_50 

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

wKioL1j_cpCATSIYAAAPwPsMPdQ443.png-wh_50 

之后按ctrl + x启动

挂载文件系统:

wKioL1j_cq_BBFcHAAAD-XCypnQ771.png-wh_50 

之后改变下根/”目录

wKiom1j_csfRmUDuAAAD22vkbZQ722.png-wh_50 

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

wKiom1j_cuGzkgIiAAAXlekBAqI317.png-wh_50 

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

wKiom1j_cvahjF-bAAAEZP2Xy0g088.png-wh_50 

重启启动后进行对root用户的密码验证wKioL1j_cxCCRiNgAAALStnJVME328.png-wh_50

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

wKiom1j_cyKgJfpCAAANmJEGHEY960.png-wh_50 

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

聚合链路搭建以及Linux7下的grub2文件的恢复_第1张图片 

聚合链路搭建以及Linux7下的grub2文件的恢复_第2张图片 

聚合链路搭建以及Linux7下的grub2文件的恢复_第3张图片聚合链路搭建以及Linux7下的grub2文件的恢复_第4张图片 

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

聚合链路搭建以及Linux7下的grub2文件的恢复_第5张图片 

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

wKioL1j_c6WjgX3FAAADYaiaHZE591.png-wh_50 

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

wKioL1j_c7bC_GG9AAAFUe3S9jU706.png-wh_50 

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

wKioL1j_c8iiL3dUAAAOwsPBl3Q727.png-wh_50 

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

wKioL1j_c9vTMYHjAAAfn4gD4Bo264.png-wh_50 

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

wKioL1j_c-3BZ-tUAAAJXNhJ7xA533.png-wh_50 

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

wKiom1j_c_6R1z4WAAAIFil8n2Q256.png-wh_50 

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

Mount /dev/sr0 /media目录之下

 

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

wKiom1j_dCPTW1JBAAAiU3MZM30328.png-wh_50 

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

聚合链路搭建以及Linux7下的grub2文件的恢复_第6张图片 

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

 

wKiom1j_dF6T9amPAAAMy82giVs889.png-wh_50 

 

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

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

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

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

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

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

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

wKiom1j_dHDSaAoGAAAVBkv7Eic363.png-wh_50 

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

wKioL1j_dIOxeCZCAAAeLjNndb0902.png-wh_50 

 

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

wKioL1j_dJTzqmUjAAAg2FtwK7U047.png-wh_50 

 

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

 

 

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

聚合链路搭建以及Linux7下的grub2文件的恢复_第7张图片 

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

wKiom1j_dNygPuzrAAAPAC_NcJs288.png-wh_50 

通过ip a命令进行验证

wKioL1j_dOvR6AisAAAae1Pu3uM420.png-wh_50 

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

聚合链路搭建以及Linux7下的grub2文件的恢复_第8张图片 

 

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

聚合链路搭建以及Linux7下的grub2文件的恢复_第9张图片