OS

centos 7 開機grub修復失敗 symbol grub_xputs not found

最近遇到一個case 對方是用Clonezilla再生龍做一個centos 7映像檔出來 然後想要還原回去還原不回去

當然再生龍產出來的映像檔透過他在解回去不是啥太大的問題

問題在於我的硬碟跟他的硬碟當然不同顆 所以開機就失敗了

出現 symbol grub_xputs not found 這字樣

就停在grub> 這邊了

解決方式不難 我一直原本以為是grub錯了 要修正uuid 或是重裝grub2之類的

結果後來實驗不是(當然如果你的grub表錯誤的話 你還是得要修正就是)

做法:

先用centos開機救援光碟開機進去「linux rescue」進入救援模式。

進入文字界面的設定畫面,選擇語系與鍵盤型別,接下來設定網路,可以選擇跳過。

此時系統會自動搜尋現存的root (/) 掛載至 /mnt/sysimage,並變更根目錄路徑就可以使用原系統的提供的工具來修復linux 了。

透過指令打入下面這樣

# chroot /mnt/sysimage (將/mnt/sysimage 設為 root (/))

#sudo su (必須要在root模式下打才有效)
[root#]grub2-mkconfig -o /boot/grub2/grub.cfg
[root#]grub-install /dev/sda1
[root#] reboot(重開機)

這邊要注意的是sda1應該是你的開機分割區,所以你的開機分割區不在sda1的話 你要改成對的

這樣其實就結束了,下次重開機時他就會修正後就可以正常開機了

參考文章:https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/ch-Working_with_the_GRUB_2_Boot_Loader.html

2 comments

Leave a Comment

發佈留言必須填寫的電子郵件地址不會公開。