Linux_修復GRUB引導故障的3種方法!

一.修復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

在這裏插入圖片描述重啓後:
在這裏插入圖片描述恢復正常:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章