首頁 > 軟體

CentOS 7在grub rescue模式中修復系統

2020-06-16 17:21:22

安裝完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

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-02/140654.htm


IT145.com E-mail:sddin#qq.com