ubuntu系统因安装windows、黑苹果等或更改分区顺序等引起grub损坏如何修复

原文地址:https://blog.csdn.net/weixin_39212776/article/details/81239805?utm_medium=distribute.wap_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-5.wap_blog_relevant_default&spm=1001.2101.3001.4242.4&utm_relevant_index=8

背景介绍:

支持efi分区引导的电脑,可以通过建立多个efi分区,引导同一块硬盘上的不同系统。

比如:硬盘0有7个分区,分别是:

0:0-ntfs-win10系统分区 

0:1-ext4-ubuntu根目录分区 

0:2-ubuntu-swap分区

0:3-黑苹果apfs分区

0:4-fat32-efi分区1-引导win10

0:5-fat32-efi分区1-引导ubuntu

0:6-fat32-efi分区1-引导黑果

 

这种分区方法,可以用单独的efi分区引导不同的系统。多系统安装,可以不按顺序,随意先安装那个系统都可以。

装完一个系统后,务必把对应的efi分区备份,待所有系统全部安装完成后把备份的efi文件,恢复到相应的efi分区即可。

否则前一个系统的efi文件会在后一个系统安装时被修改或覆盖。

 

除了安装系统会修改或覆盖前一个系统的efi文件外,安装完系统后,又变更了系统分区的硬盘顺序,也会导致原来的efi文件不可用。比如:

原来的0:5-efi分区引导了0:1ubuntu系统,如果把0:1的硬盘顺序调整,改为0:2,此时原来的0:5引导分区也不可用,此时就需要修复该分区。

 

这个方法有一个缺点,就是每个efi分区只能单独引导一个系统,如果想使用某一个efi分区,一起引导其他所有系统,需要手动修改。

注:黑果OC、Clover引导可以自动识别其他系统分区,自动添加引导启动项。

 

下文仅作为参考,非操作完全一样:

 

修复Ubuntu18.04与Windows 10双系统丢失grub引导界面


问题描述

最近因为学习Linux而装了Windows10+ubuntu的双系统,安装后的前几天还一切正常,每次开机grub都会让人性化的让我选择想要进入的系统。好景不长,可恶的Windows强制更新了系统,就在这之后那脆弱的grub2便“不嗨森”了,每次打开电脑都不让我选择而直接进入了Linux系统(在我看来这像极了Windows与Linux相互在争风吃醋-_-!),但是作为第三方的我们只能遭殃咯!?可能这个时候你会很着急:“难道我从次就与我心爱的Windows系统无缘了吗?我还有很多资料在里面呢?怎么办?怎么办?……”。预知如何解决,且听下文分解:

解决方法

先别急,我们有秘诀

  • 第一招
    开机的那秒秒钟我们“狂按”左上角的ESC键,此时你会发现屏幕弹出了个蓝色小方框,像极了之前的grub引导,这玩意也叫引导,是磁盘文件系统自带的,有了这玩意儿,你就可以选择进入你的Windows系统了。但是,作为技术人的我们能忍受这中“虐待”吗?这东西太不智能了吧,不行!我要换回我的grub引导,她才是我心目中的“女神”。当然,如果你能忍受这种虐待呢!有了上面的方法已经足够了,你就不要往下看了,浪费时间!

  • 第二招
    好的,下面我们开始今天的重点,根据上面的描述,我们可以敏锐的察觉到是grub引导坏了,高版本的Ubuntu是使用的grub2,这东西很好用,但也极其脆弱!所以下面我们的重点是修复它:
    首先,我建议不要尝试用网上的各种命令修复方式去修复它(我亲测了很多就没成功过,浪费了我很多宝贵的时间),所以我们选择使用一个名为boot-repair的grub修复工具。这个东西很好用的,安装也极其简单,可以说智能帮你一键修复,我也不再多夸它了,下面我们试一试就知道了:
    第一,进入terminel,先通过添加它的 PPA 版本库来安装boot-repair ,命令如下:

    sudo apt-get update  # 先更新版本高库,再执行下面
    sudo add-apt-repository ppa:yannubuntu/boot-repair  #添加源
    • 1
    • 2

    第二,避免意外,再次更新版本库

        sudo apt-get update
    • 1

    第三,执行安装命令,安装boot-repair

    sudo apt-get install -y boot-repair
    • 1

    第四,安装完毕后就启动应用

    boot-repair  # 终端输入后,等几分钟 
    • 1

    第五,如图,选择推荐修复后,耐心等待几分钟
    这里写图片描述
    第六,待修复完毕后,直接重启

    reboot   # 请耐心看完下面再重启,后面解决了一个极可能出现的问题
    • 1

    下面是一条不明显的分割在线


    第七,此时重启后便可看到grub引导界面了,我们选择进入Windows系统,如果你成功进入了Windows系统,那么恭喜你,成功了!如果你遇到下面这个报错,请速速回来看下面的解决方案,

    erro: invalid EFI file path.
    press any key to continue...
    • 1
    • 2

    我们猜测这个包错的意思是引导按照原来的路径去寻找Windows的启动程序,但是路径错误了,所一我们要更改grub的配置:

    sudo gedit /boot/grub/grub.cfg  # 终端输入这个命令进入grub的配置文件进行更改
    • 1

    进入后,一直下滑到最后,找到如下代码并更改:

    menuentry "Windows 10" {
    insmod chain
    insmod ntfs
    search --fs-uuid --set 4CEE-95B2
    
    #chainloader +1    // 注释掉这句。。。。。。。。。。重点。。。。。。。。。。。。。。。。。
    
    chainloader /EFI/Microsoft/Boot/bootmgfw.efi   // 添加这句。。。。。。。重点。。。。。。
    }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    修改完后保存即可。然后重启电脑。。。再次进入了grub引导界面,选择进入Windows,发现能成功进入了。。。。以上便是本人修复grub引导所遇到的问题以及解决方案,希望能够帮助到大家!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据