最近遇到一個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
http://www.supergrubdisk.org/ 這個好像也不錯用的樣子
谢谢,很有帮助。