
問題描述,電腦開機后出現錯誤,找不到文件系統,如上圖:一般是grub找不到引導文件,只需要讓他找到引導文件就好了。步驟如下
1.輸入 命令“set”, 查看grub指向哪個盤,然后等下可以跳過該盤進行查找引導文件。
2.“ls” 查看磁盤的分區情況,其中hd0代表第一塊硬盤,hd1代表第一塊硬盤。

3.“ls (hd0,msdos9)/”依次查看哪個分區下會有引導文件。我的剛好在(hd0,msdos9)下,(只要不是出現not found 類型的文件就可能是了)
4.接下來用set 命令 來設置root和prefix

“set root = hd0,msdos1”
"set prefix=(hd0,msdos1)/grub2"
5.輸入命令 "set" 查看是否已修改好
6.輸入“insmod normal” 回車,再輸入normal 這樣就可以正常進入啟動界面了。
注:這個時候不要進入window系統,否則關機重啟后依然會重新出現剛剛的問題,選擇進入linux系統然后繼續。
7.進入redhat系統后打開終端,執行命令更新grub。
redhat下使更新調整后的grub生效的命令為:sudo grub2-mkconfig -o /boot/grub2/grub.cfg
ubuntu下使更新調整后的grub生效的命令為:sudo update-grub
8.執行命令“grub2-install /dev/sdx”來安裝grub2到磁盤啟動區。(sdx表示磁盤第幾個磁盤,如sda表示第一個磁盤)
ubuntu執行的命令是“sudo grub-install /dev/sda”
////////////此時已經完全恢復了redhat的開機啟動,但是卻沒有windows的啟動項,接下來配置windows啟動//////////////////////////
9.修改redhat的grub2引導,添加windows的啟動項
1 sudo vi /boot/grub2/grub.cfg
找到 ### BEGIN /etc/grub.d/30_os-prober ###
在后面添加
1 menuentry "Windows 7 (loader) (on /dev/sda1)" { 2 insmod ntfs 3 set root=(hd0,1) #由於我的windows安裝在硬盤的C盤,故(hd0,1) 4 chainloader +1 5 }
參考https://blog.csdn.net/peerless1994/article/details/52226169
https://blog.csdn.net/endeavour_zhao/article/details/52877749
https://bbs.qunyingkeji.com/645/
