起
最近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,gpt5)哪里,於是就報錯: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香)