CentOS 7在grub rescue模式中修復系統
安裝完CentOS 7後 修改硬碟分割槽後,系統重啟後,無法正常啟動,進入grub rescue模式;
網上大多數centos grub rescue的資料應該是Centos 7之前的,其中提到的命令很多使用的目錄是grub,而在7中,這裡應該替換成grub2;
另外normal.mod的目錄也有變化。特別要注意
1)首先找到centos 的boot是裝在那個分割槽中;
1. 先使用ls命令
在 grub rescue>下輸入以下命令:
ls
會羅列所有的磁碟分割槽資訊,比方說:
引用:
(hd0,1),(hd0,5),(hd0,3),(hd0,2) 注:我的是(hd0),(hd0,msdos3),(hd0,msdos5)等
2. 然後依次呼叫如下命令: X表示各個分割槽號碼
如果/boot沒有單獨分割槽,用以下命令:
ls (hd0,X)/boot/grub2
如果/boot單獨分割槽,則用下列命令:
ls (hd0,X)/grub2
例如:
grub rescue> ls (hd0,msdos2)/grub2
會有如下的輸出:
-grub2 grub grub.cfg i386-pc ...
2)
grub rescue> ls (hd0,msdos2)/grub2// 找到/boot分割槽位置
--> grub2 grub grub.cfg i386-pc ...
grub rescue> set root=hd0,msdos2// 臨時重置grub位置為當前分割槽
grub rescue> set prefix=(hd0,msdos2)/grub2
grub rescue> insmod (hd0,msdos2)/grub2/i386-pc/normal.mod// 載入normal模組
grub rescue> normal// 呼叫normal模組
3)重新安裝grub到sda
這時就出現了 grub引導選單,選擇進入CentOS系統
登入
login:root
passwd:*****
# cd /sbin
# grub2-install --boot-directory=/boot /dev/sdb
// 重新安裝grub到sdb, 根據ls /dev/sd* 的結果,替換成你自己的硬碟
--> grub2-install completed, No Error occured.
# reboot