雙系統升win11(grub啟動問題修復與講解)?!?

bighu發表於2021-10-17

  最近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香)

相關文章