起
最近win11不是出來了嗎。(著急修復的可以直接跳到最後一步)
於是我就突發奇想給我半年沒進去的windows升個級........
於是我找到了我win11的升級包(從我一個同學哪兒)
工具都集齊了,說幹就幹,然後就給它掛後臺升級去。
然後今天早上果不其然,它在更新過程中的重啟進入了我的linux(預設啟動項),不過也更新的差不多了
重啟選擇windows 接著更。
然後有意思的就來了
先看一下我遭遇了什麼
承
我先來大概解釋一下為什麼會這樣。
在以上介面輸入命令ls可以看到:
好吧我忘截圖了
輸出是 (hd0),(hd0,gpt7),(hd0,gpt6),(hd0,gpt5),(hd0,gpt4).......
意思大概是列出當前系統的分割槽情況(我的有7個)。
格式是這樣的,內容可能因電腦而異。
grub的啟動會找到原先設定好的啟動位置:如圖
我的原先在(hd0,gpt5)裡面
這是它原有的配置
然後重點來了
win10更新win11的時候(似乎)會多建立一個分割槽,新建的分割槽會直接插在windows系統的旁邊
我的分割槽結構是windows在前,所以它插入一個分割槽會把後面的分割槽忘後擠一個
與是grub檔案被擠到了sda6哪裡去了(也就是(hd0,gpt6)這個位置)但是grub還以為它的檔案在(hd0,gpt6)哪裡,於是就報錯:unkown filesystem
轉
好了解釋完了現在來說一下怎麼給它盤活
目前我們的狀態大概是這樣的:
確定系統分割槽
先 ls 一下,看分割槽情況
這裡沒圖(抱歉)
不一樣也沒事,格式是這樣的
然後 ls (hd0,gpt7)/ 注意“/“不要掉了,還有,不要照抄我括號裡面的東西,要按照上一步的輸出來
一個個的試,如果有一個的輸出是linux的檔案系統(很長的一段 內容大概是”/etc /boot /root ........"我也沒背)
那麼這就是你的linux系統所在分割槽,grub的檔案也在裡面(小聲說 在“/boot/grub"裡)
修改grub指定的位置
然後接著看圖:
簡單說一下:(也是操作步驟)
set 檢視當前grub的配置(我的是root=hd0,gpt5 .......)
set root=hd0,gpt6 將找到的linux系統分割槽當root
set profix=(hd0,gpt6)/boot/grub 指定grub檔案的位置即linux系統分割槽下的grub檔案
其實你可以上來就直接設定為原來的+1(這裡不懂也沒事)
重新整理grub
好了,我們已經指定grub的位置,按如下操作重新整理一下
這時候應該能進入正常的系統選擇介面(一定要先選linux,先不要管windows)
進入系統之後
徹底修復
sudo grub-install /dev/sda6 #這裡的sda6是我linux所在的分割槽,不知道的話可以df看/目錄的分割槽,見下圖
sudo update-grub
至此,成功修復(重啟檢視win11,還是linux香)