记一次 win10 更新导致的双系统 grub 引导丢失(无法进入linux)

闲话

  • 本来这两天折腾好爱国渠道,想到 parrot 还没配置,,,然而发现每次都进的 win10,之前一直没留意-_-||,
    只是感觉少了点什么。在 bios 里面设置了一下也是直接闪退,然后转 win10启动了

LIVE 进入

  • 先 从 LIVE 进入系统看下资料还在不在,看了下 boot 目录下面 grub 下没有看到明显的文件缺失,EFI 下面变成空的了。
  • 所以重新安装一下 grub 缺的文件就装回来了吧emmm,挂载原来的 linux 分区。

方案一

  • LIVE 进入,先查看一下 linux 的系统分区,如下图所示我的系统在 sda7

    1
    sudo fdisk -l
  • 挂载分区

    1
    sudo mount /dev/sda7 /mnt
  • 暂时挂载需要用到的目录

    1
    2
    3
    sudo mount --bind /dev /mnt/dev
    sudo mount --bind /proc /mnt/proc
    sudo mount --bind /sys /mnt/sys
  • 修改程序执行的 参考根目录位置为原系统目录

    1
    sudo chroot /mnt
  • 安装修复 grub

    1
    2
    sudo grub-install /dev/sda7
    sduo update-grub
  • 退出环境&卸载挂载的目录和设备

    1
    2
    3
    4
    5
    exit
    sudo umount /mnt/dev
    sudo umount /mnt/proc
    sudo umount /mnt/sys
    sudo umount /mount
  • 重启收工

ps:
在执行 步骤5 有可能遇到找不到文件问题 缺少EFI等,导致安装失败,所以我换了方案二

方案二(推荐)

  • 从 LIVE u盘选择界面按 c 进入 grub 命令行

  • 输入 set 可以查看 当前引导是哪个分区

    1
    2
    3
    cmdpath=(hd0,gpt1)/EFI/parrot
    prefix=(hd0,gpt1)/boot/grub
    root=hd0,gpt1

    主要看上面这三个其他可以忽略。(hd0,gpt1)这个部分是第一块硬盘的第一个分区,即u盘。

  • 输入 ls 显示类似如下信息

    1
    (hd0,gpt1) (hd1,gpt2) (hd1,gpt3) (hd1,gpt4) (hd1,gpt5) (hd1,gpt6) (hd1,gpt7)......

    找到你的 linux 分区
    如果不知道具体是哪个分区可以使用 ls (hd1,gpt7)/boot/grub 一个个试,当出现一堆文件就是在这个分区了。

    ps: 之前进入 live 也可以直接使用 sudo fdisk -l 查看具体位置只不过名字不太一样,比如我的是 sdb7 则对应 (hd1,gpt7)

  • 使用 set 把当前的引导换到原来那个系统路径

    1
    2
    set root=hd1,gpt7
    set prefix=(hd1,gpt7)/boot/grub

    再用 set 看一下这两项是不是已经改好了,因为前面的两句输入错的有人不会有回显,会创建新的项目
    (我不知道我为什么知道( ╯-_-)╯┴—┴ )

  • 确认之后 输入下面两条命令,不出意外应该进到系统了

    1
    2
    insmod /boot/grub/normal
    normal
  • 成功的请直接看跳到步骤7,一些奇怪的症状(希望有人补充),下面的是我的情况

    情况1: 输入 normal 出现载入界面 然后报错 回到 live 选择界面

    解决方案1: 往下翻一页发现多了一页,刚好看到有 parrot 回车成功进入系统。
    恩貌似是挂载成功了,但是启动还是引导有问题。可惜无法复现测试一下了。

    待添加

  • 重新安装修复引导

    1
    2
    sudo grub-install /dev/sda7
    sudo update-grub

    ps: 注意这里我已经吧 u 盘拔掉了,所以不是 sdb7 了

    如下图,还好留了张图

  • 重启收工

参考链接:

https://www.cnblogs.com/zhaojk2010/p/4591838.html
https://blog.csdn.net/weixin_39772481/article/details/79212364
ArchWiki-GRUB

话说 Arch 的 wiki 果然名不虚传啊

如需转载请标明出处 Sephiroth 的博客
本文链接:https://phpszhdyy.github.io/2018/04/16/记一次 win10 更新导致的双系统 grub 引导丢失(无法进入linux)/