双系统grub意外消失怎么办?

不用重装系统、不用去维修店、不会丢数据,教你一招,完美恢复grub!

背景

我的电脑是windows和linux双系统,启动项使用的grub。某天准备切换linux时突然发现grub不见了。近期可疑操作有:更新BIOS、多次切换UEFI、添加第三方风扇管理软件。总之,目前开机直接转圈圈进windows,带有双系统选择界面的grub消失,linux系统自然也进不去了。重装linux系统当然可以恢复,但是成本太高了。多番查阅资料,最终定下通过linux live USB的方式来恢复grub。该方案通过live linux系统,挂载原有系统分区,然后借助chroot,在类似原系统开机环境下,直接重新安装grub。

制作live usb

kali官网下载live镜像,插入U盘,在windows系统中使用 Etcher制作USB镜像。

修改bios启动顺序为USB优先启动



进入live USB,选择forensic模式,这种审计模式下,不会干扰原有系统数据。

恢复命令

进入live linux系统后,需要根据原有linux系统的分区情况逐一挂载。(注意:每个人分区不一样,不要照抄命令)

blkid命令可以查看硬盘分区详情,

优先挂载根分区,以便其他分区挂载。

我的命令如下:

      blkid
mount /dev/nvme0n1p4 /mnt
mount /dev/nvme0n1p5 /mnt/usr
mount /dev/nvme0n1p1 /mnt/boot/efi/
mount --bind /dev /mnt/dev
mount --bind /dev/pts /mnt/dev/pts
mount --bind /proc /mnt/proc
mount --rbind /sys /mnt/sys
chroot /mnt

注意sys分区挂载要用rbind,否则会报以下错误:



然后安装grub,

grub-install  /dev/nvme0n1
update-grub

成果验证及bug处理

重新启动,拔出USB,可以看到grub回来了。



但是……windows选项哪去了?去bios检查,两个系统都在,但grub里面没有!



问题不大,grub更新后,默认关闭了其他系统的检测功能,修改grub参数即可。

vi /etc/default/grub,去掉GRUB_DISABLE_OS_PROBER=FALSE前面的注释#使其生效,



然后update-grub



再次重启验证,



回来了,都回来了!

最后,记得把bios里面的USB优先启动顺序改回去。

拯救“消失的她”——双系统grub完美恢复方案的更多相关文章

  1. Windows和Linux双系统下完美卸载linux

    装了Windows和linux双系统的朋友,在后期要删除linux是个比较头痛的问题,因为MBR已经被linux接管,本文的目的是如何在windows 和linux双系统下,简单,完美地卸载linux ...

  2. Ubuntu+Win7双系统grub的修复问题

    最近,在grub引导的Ubuntu+Win7双系统上作业,用的是Ubuntu14.04.2.进行系统更新,更新到一般卡住了,恰好此时在进行grub相关文件的更新,我把机器重启后进入了grub resc ...

  3. ubuntu 16.04(Windows 10双系统+grub引导)无法进入tt1~tt6(NVIDIA驱动安装相关-黑屏,login loop,分辨率)

    目录 前言回顾 最终解决: 0.关闭x服务 1.禁用nouveau 2.加入 3.更新 4.查找匹配驱动 5.选择推荐版本 6.等待安装后重启,nvidia-smi查看是否安装成功,或者lsmod | ...

  4. 双系统Grub引导下恢复windows引导的方法

    此方法适用于windows系统正常,linux和windows 双系统下恢复windows系统引导.需要使用windows安装u盘 1. 启动至windows安装u盘,点击修复计算机 2. 进入命令行 ...

  5. win + ubuntu 双系统 grub引导项修复

    ubuntu liveCD模式,找到ubuntu的系统盘位置,挂载到系统上面,然后使用grub进行修复 ubuntu liveCD模式下是用boot-repair软件进行修复 grub急救模式 1. ...

  6. Win7+Linux双系统,完美解决删除Linux后出现的任何问题!

    首先,进入到Win7,安装MiniTool Partition Wizard Home Edition删除掉Linux分区, 点Yes 然后选中 这里选中这个,重写MBR,开机神马grub神马问题都没 ...

  7. 解决Linux(ubuntu),windows双系统重装后恢复开机选单

    1 重装ubuntu后恢复开机选单十分简单.直接更新grub就能够了: sudo update-grub 2  重装windows后显得麻烦一点.需用u盘写入ubuntu镜像重新启动使电脑从u盘启动, ...

  8. 安装win和xp双系统 若干问题

    装了winxp和linux双系统,后先在winxp下手动格式化了linux系统,后启动时提示grub错误,重新分区后系统也 2010-09-17 21:07 [清风剑] | 分类:Linux | 浏览 ...

  9. 安装Windows与CentOS双系统

    1.安装Windows系统 安装过程除了分区时要预留出部分空间来安装CentOS之外,其它操作与正常安装一样. 2.安装CentOS系统 使用光盘引导安装,因安装为服务器版,建议选择无界面,最小化安装 ...

  10. win10+ubuntu双系统的坑

    1.把U盘里\EFI\BOOT\grubx64.efi文件重命名为mmx64.efi,避免系统提示缺少文件而退出安装: 2.如果电脑显卡为N卡,则在install Ubuntu时,按e进入编辑,在qu ...

随机推荐

  1. Linux 上的 .NET 崩溃了怎么抓 Dump

    一:背景 1. 讲故事 训练营中有朋友问在 Linux 上如何抓 crash dump,在我的系列文章中演示的大多是在 Windows 平台上,这也没办法要跟着市场走,谁让 .NET 的主战场在工控 ...

  2. webGPU orillusion(一)

    关于架构的理解与认识   Orillusion 核心借鉴了 ECS 结构,遵循 组合优于继承 的开发设计原则,实现了自己的组件系统.我们将传统复杂的逻辑划分为独立的.可重复利用的部分,每个部分可以单独 ...

  3. 国际顶刊《PNAS》:爱发朋友圈的人,更容易长寿

    点上面关注我们,每日获取前沿新知 近几十年来,智能手机和网络的普及率越来越高,与此同时,"朋友圈"应运而生. 在这个朋友圈里,有人十分活跃,而也有些人是"国家级潜水运动员 ...

  4. 案例分享-被*队友的mybatis蠢哭的一天

    昨晚加班的时候被队友拉着看一个mybatis的问题,耗费了我一个小时时间,最后差点没被我打死,实在是觉得滑稽,今天回家写下来跟大伙分享一下. 问题现象 Invalid bound statement ...

  5. @Retention元注解的使用

    @Retention注解标记其他的注解用于指明标记的注解保留策略:先看Java SE 8中@Target是如何声明的: package java.lang.annotation; public enu ...

  6. 记录一个在写项目中遇到的Maven依赖无法导入的问题

    记录一个在写项目中遇到的Maven依赖无法导入的问题 项目是一个父项目做依赖管理,三个子项目,今天遇到一个问题: 子项目中导入的依赖,怎么都导入不进去,maven仓库中已经有了,idea提示也没有问题 ...

  7. 用XmlSerializer.Deserialize将XML转实体遇到的问题

    1.命名空间的问题 1.1 XML示例: 1.2 反序列化代码: 点击查看源代码 ``` public static object DeserializeFromXml<T>(string ...

  8. 数据结构课后题答案 - XDU_953

    参考书: 数据结构与算法分析(第二版) 作者:荣政 编 出版社:西安电子科技大学出版社 出版日期:2021年01月01日 答案解析:

  9. Typecho博客部署一言接口

    开始部署 下载代码上传至你的网站目录,把解压出来的文件夹改名为hitokoto 然后访问https://域名及文件路径/hitokoto查看效果 示例:https://sunpma.com/other ...

  10. 防火墙(iptables与firewalld)

    防火墙 iptables 疏通和堵 进行路由选择前处理的数据包:prerouting 处理流入的数据包:input 处理流出的数据包:output 处理转发的数据包:forward 进行路由选择后处理 ...