Linux_修复GRUB引导故障的3种方法!

半城伤御伤魂 提交于 2021-02-08 09:49:34

一.修复GRUB引导故障

1. 故障原因

  • MBR中的GRUB弓|导程序遭到破坏

  • grub.conf文件丢失、引导配置有误

2. 故障现象

  • 系统引导停滞,显示“grub>" 提示符

3. 解决思路

  • 尝试手动输入引导命令

  • 进入急救模式,重写或者从备份中恢复grub.conf

  • 向MBR扇区中重建grub程序

4.修复GRUB引导故障

/boot/grub/目录下的包是用于启动菜单的背景图片及样式

在这里插入图片描述

/boot/grub2/grub. cfg #GRUB配置文件

在这里插入图片描述

二.修复GRUB引导故障方法1

——方法一:手动输入引导命令(笨拙繁琐,不建议使用)

grub> insmod xfs #加载指定的模块到内核

grub> linux16 /vmlinuz-3.10.0-693.e17.x86_ 64 root=UUID=8 fd74986-ae66-4ffd-b7d8-al9f2eca7b6f ro rhgb quiet
LANG=zh_ CN. UTF-8 #内核的名字及位置等信息

grub> initrd16 /initramfs-3.10.0-693.e17.x86_ 64. ing #镜像系统文件
grub> boot #引导boot

三.修复GRUB引导故障方法2

——方法二:进入急救模式,恢复GRUB引导程序

——主引导程序记录被破坏

MBR位于第一 块硬盘( /dev/sda) 的第一 个物理扇区处,总共512字节,前446字节是主引导记录,分区表保存在MBR扇区中的第447-510字节中。

1.创建磁盘,格式化,挂载,备份文件

①:新建一块磁盘:fdisk -l
②:fdisk /dev/sdb ### 创建磁盘
n--------P---------…------w
③:mkfs.xfs /dev/sdb1 ### 格式化磁盘
④:mkdir /bak ### 创建bak目录
⑤:mount /dev/sdb1 /bak ###挂载目录到磁盘上
⑥:dd if =/dev/sda of=/bak/grub.bak bs=446 count=1 ###备份
硬盘中取文件,446字节,提取1次,导入目录中的磁盘上
⑦:cd /bak ---------ls --------ll ####查看文件是否保存完好







2.模拟对MBR中的GRUB引导程序的破坏,不破坏分区表

①:dd if =dev/zero of=/dev/sda bs=446 count=1
空字符文件取出,446字节,提取1次
②:init 6 ### 重启

3.引导界面进入急救模式,从备份文件中恢复GRUB引导程序

①:选择“Trouble shooting"

②:选择”Rescue a CentOS Linux system"

③:输入“1”continue Enter

④:进入“sh-4.2#"

sh-4.2# mkdir /backupdir ###创建目录

sh-4.2# mount /dev/sdb1 /backupdir ### 挂载带有备份文件的分区
sh-4.2# dd if =/backupdir/grup.bak of=/dev/sda ###恢复备份数据
sh-4.2# exit ### 退出

四.方法二具体实验步骤:

1.创建磁盘,格式化,挂载,备份文件

①:新建一块磁盘:fdisk -l
在这里插入图片描述

在这里插入图片描述
②:fdisk /dev/sdb ### 创建磁盘
在这里插入图片描述
③:mkfs.xfs /dev/sdb1 ### 格式化磁盘
④:mkdir /bak ### 创建bak目录
⑤:mount /dev/sdb1 /bak ###挂载目录到磁盘上
⑥:dd if =/dev/sda of=/bak/grub.bak bs=446 count=1 ###备份
⑦:cd /bak ---------ls --------ll ####查看文件是否保存完好






在这里插入图片描述

2.模拟对MBR中的GRUB引导程序的破坏,不破坏分区表

①:dd if =dev/zero of=/dev/sda bs=446 count=1
空字符文件取出,446字节,提取1次
②:init 6 ### 重启

在这里插入图片描述

3.引导界面进入急救模式,从备份文件中恢复GRUB引导程序

①:选择“Trouble shooting"

在这里插入图片描述

②:选择”Rescue a CentOS Linux system"
在这里插入图片描述

③:输入“1”continue Enter

在这里插入图片描述

④:进入“sh-4.2#"

在这里插入图片描述

sh-4.2# mkdir /backupdir ###创建目录

sh-4.2# mount /dev/sdb1 /backupdir ### 挂载带有备份文件的分区
sh-4.2# dd if =/backupdir/grup.bak of=/dev/sda ###恢复备份数据
sh-4.2# exit ### 退出

在这里插入图片描述
重启后,
在这里插入图片描述恢复正常
在这里插入图片描述


五.引导界面进入急救模式,方法3
重建GRUB菜单配置文件
————配置文件丢失、删除

①:cd grub2
cp grub.cfg/opt/ ###备份文件
②:rm -rf /boot/grub2/grub.cfg ###删除grub2文件
③:init 6### 重启
④:点击重启,读条完成前按下ESC,选择CD-ROM Drive
⑤:“trouble shooting"-------"1"continue ---------“sh-4.2#”




###进入急救模式,加载光盘镜像,切换到系统根环境:
sh-4.2# chroot /mnt/sysimage

###重新将GRUB引导程序安装到第一块硬盘(dev/sda)的MBR扇区
bash -4.2# grub2 -install /dev/sda

重新构建GRUB菜单的配置文件

bash-4.2# grub2 -mkconfig -o /bootgrub2/grub.cfg

退出chroot环境,并重启

bash -4.2# exit
sh -4.2# reboot

六.引导界面进入急救模式,方法3实验步骤
重建GRUB菜单配置文件实验

①:cd grub2
cp grub.cfg/opt/ ###备份文件
②:rm -rf /boot/grub2/grub.cfg ###删除grub2文件
③:init 6### 重启
在这里插入图片描述
④:点击重启,读条完成前按下ESC,选择CD-ROM Drive
在这里插入图片描述
⑤:“trouble shooting"-------"1"continue ---------“sh-4.2#”
在这里插入图片描述
###进入急救模式,加载光盘镜像,切换到系统根环境:
sh-4.2# chroot /mnt/sysimage









###重新将GRUB引导程序安装到第一块硬盘(dev/sda)的MBR扇区
bash -4.2# grub2 -install /dev/sda

重新构建GRUB菜单的配置文件

bash-4.2# grub2 -mkconfig -o /bootgrub2/grub.cfg

退出chroot环境,并重启

bash -4.2# exit
sh -4.2# reboot

在这里插入图片描述重启后:
在这里插入图片描述恢复正常:
在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!