双系统升win11(grub启动问题修复与讲解)?!?

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

posted @ 2021-10-17 11:21  bighu  阅读(4039)  评论(2编辑  收藏  举报