修復GRUB引導故障
一.修復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
重啓後:
恢復正常: