Win10+Ubuntu16.04双系统重装win10后ubuntu引导失败UEFI启动方式下GRUB消失

2023-10-26

参考博客:http://blog.csdn.net/zrf2112/article/details/71042782

参考文章:https://wiki.deepin.org/index.php?title=%E4%BF%AE%E5%A4%8D%E5%90%AF%E5%8A%A8

问题阐述:本人机型是Dell游匣15-7567笔记本,128gSSD+1T机械,装了win10+ubuntu16.04双系统,win的引导放到了SSD中,ubuntu的引导放到了机械硬盘中。由于win10系统出现cpu占用率一直处于100%的情况,找了客服检测半天也没查出什么问题后,我立马重装个了个win10系统,但重装后ubuntu引导失败,进入 bios发现ubuntu的efi启动文件丢失。

试了很多方法一直失败,搞了一整天最后打算重装ubuntu的时候发现了一个论坛,按照里面的方法试了下结果成功了,下面写写总结 。

首先确定两点:

1、电脑使用的是UEFI启动。

2、bios中Secure Boot处于关闭状态,并关闭了快速启动功能。

原因分析:

  UEFI启动时需要有一个ESP分区(EFI 系统分区),这个分区的EFI目录下有三个目录(安装Ubuntu后),一个是BOOT目录,一个是Microsoft目录还有一个是Ubuntu目录,我是将系统启动项分别放到了两个硬盘中分别是sda(SSD)与sdb(机械硬盘)。UEFI方式时会找到BOOT目录下的bootx64.efi启动文件并运行,及默认启动文件。而Microsoft目录下有一个bootmgfw.efi,对比发现这两文件一样的,也就是说UEFI找到的bootx64.efi就是Microsoft下的efi文件,因此系统默认启动的就是windows系统,而在ubuntu启动界面中我们可以选择进入ubuntu和windows系统,因此我们可以,将ubuntu文件夹中的grubx64.efi文件替换掉bootx64.efi,并重命名为bootx64.efi即可让系统默认启动ubuntu系统,或者我们可以在BIOS中新建一个ubuntu16.04的启动项,将其链接到grubx64.efi的启动文件上,但由于重装win10并更新了bios后ubuntu启动文件丢失因为我们需要重新生成启动文件。

解决方法:

主要思路

     找到grub启动程序,grubx64.efi,放到ESP分区的ubuntu目录下即可。

     进入ubuntu的live模式:

sudo -i (取得root特权)
fdisk -l (找到你ubuntu“/”和“/boot”所在的磁盘区号,如我的是在sdb8和sdb9中)

解决过程:

  

EFI+GPT模式下修复GRUB2双系统引导:


对于双系统用户,一般而言,推荐先安装 Windows 8/10,再安装 Linux,并使用 Linux 的 GRUB2 作为双系统引导管理器。那么,重装 Windows 后,GRUB2 会被破坏,只能进入 Windows。如何再次找回 GRUB2 双系统引导,就是本文的主题。

  1. 用 Linux 启动盘进入 Live 系统环境,在 Live 的终端里,创建修复 GRUB2 所需的文件夹:

    $ sudo mkdir -p /mnt/system
    
  2. 把 Linux 的 / 分区挂载到创建的文件夹:(注意:站长的是 sdb4,请确认自己的 / 分区所在,不可照搬)

    $ sudo mount /dev/sdb9 /mnt/system
    
  3. 把 EFI 分区(即 ESP 分区)也挂载:

    $ sudo mount /dev/sdb8 /mnt/system/boot/efi
    
  4. 用 efibootmgr 创建 ubuntu 的启动项:(注意:站长的主硬盘是 sdb,请确认自己的主硬盘,不可照搬)

    $ sudo efibootmgr -c -d /dev/sdb -p 2 -w -L ubuntu
    
  5. 重启,并在 BIOS 中选择刚才创建的 ubuntu 启动项,进入 Ubuntu。

  6. OK,已经进入本机硬盘上的 Ubuntu 系统了,但 GRUB2 修复并未完毕。打开终端,重新安装 GRUB2 到 EFI 分区:

    $ sudo grub-install /dev/sda1
    
  7. 刷新一下 GRUB2 配置:

    $ sudo update-grub2
    
  8. 现在重启,即可看到亲切的 GRUB2 终于“夺回”双系统引导权了!

修订: 站长另外介绍一种更简便的方法。用 Linux 启动盘进入 Live 系统环境,在终端中依次执行如下命令:

$ sudo su
# mount /dev/sdb9 /mnt(注意先确认自己的 / 分区是 sdaX)
# mount /dev/sdb8 /mnt/boot/efi
# mount -t proc proc /mnt/proc
# mount -t sysfs sys /mnt/sys
# mount -o bind /dev /mnt/dev
# mount -t devpts pts /mnt/dev/pts/
# chroot /mnt
# grub-install /dev/sdb8
# update-grub2

重启:sudo reboot

按F2进入bios界面

添加在uefi处添加ubuntu16.04的启动选项,并将启动文件连接到efi/ubuntu/grubx64.efi上,可参考我前面的博客。

小结:EFI 引导 + GPT 分区模式下的双系统问题稍微复杂一点,需要朋友们多实操、多领会,关键是搞清楚自己的硬盘分区(EFI 分区和 / 分区)的作用、在不同系统环境下的名称,切记切记!



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Win10+Ubuntu16.04双系统重装win10后ubuntu引导失败UEFI启动方式下GRUB消失 的相关文章

随机推荐

  • [人工智能-深度学习-51]:循环神经网络 - RNN基本原理详解

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 121387285 目录 第1章 详解前
  • gmapping 分析

    转载 这一篇先讲我对gmapping源码的理解 难免有错 欢迎指正 相互学习 原博客 https blog csdn net roadseek zw article details 53316177 博客主页 https blog csdn
  • [k8s部署踩过的坑]

    系统环境 系统版本 docker版本 role ip地址 CentOS8 4 2105 Linux version 4 18 0 348 xx Red Hat 8 5 0 4 20 10 12 k8s master 192 168 100
  • 冒泡排序详解

    一 冒泡排序简介 常用排序算法 冒泡排序 Bubble Sort 是一种常见的排序算法 相对来说比较简单 冒泡排序重复地走访需要排序的元素列表 依次比较两个相邻的元素 如果顺序 如从大到小或从小到大 错误就交换它们的位置 重复地进行直到没有
  • python海龟漂亮图案代码大全_带有海龟图案的Python花

    我在高中的编程课上和海龟图形一起工作 这个项目是按照老师演示的一些指导原则和功能制作一朵花 我在一个小时内就完成了 现在我正试图用更多的海龟一次画出多朵花 但我不能让海龟们使用新定义的函数 老师也没有时间和我一对一地讨论我该怎么做 所以 经
  • Cesium:入门教程(二)之数据源加载

    前言 成功运行 helloworld 的例子后 下面对控件 数据源等进一步说明 鼠标 左键单击和拖拽 沿着地球表面平移 调整相机位置 右键单击和拖拽 相机放大缩小 调整相机距离 滚轮 相机放大缩小 调整相机距离 中间按下和拖拽 围绕地球表面
  • Git命令介绍

    1 最小配置 在使用Git之前需要配置User信息 包括user name和user email git config global user name your name git config global user email your
  • openGL之API学习(八十二)glShaderSource

    替换着色器中的代码 任何以前的代码都会被完全替换掉 一次可以上传多段代码进行替换 并不进行代码的扫描和解析 替换完后是否需要重新进行编译和链接呢 因为着色器代码需要编译 连接 最后生成可执行文件才能被CPU GPU调度执行 所以替换完后还是
  • EasyImage简单图床 - 快速搭建私人图床云盘同时远程访问

    文章目录 1 前言 2 EasyImage网站搭建 2 1 EasyImage下载和安装 2 2 EasyImage网页测试 2 3 cpolar的安装和注册 3 本地网页发布 3 1 Cpolar云端设置 3 2 Cpolar内网穿透本地
  • Maven插件之Dependency:analyze

    前言 完成新功能的开发后 在发包前组长告诉我要检查maven工程的依赖 并告诉我相关指令 此文记录一下使用方式 正文 简介 Maven官网之Dependency插件 Dependency插件提供了操纵artifact的能力 可以复制以及拆包
  • Loadrunner手写接口性能脚本

    Loadrunner手写接口性能脚本 文章目录 概述 脚本录制出现的问题 手写loadrunner脚本 概述 使用Loadrunner进行性能测试分为三步 1 创建 编辑脚本 2 运行负载测试 3 分析测试结果 脚本录制出现的问题 1 录制
  • mybatis如何防止SQL注入?

    sql注入发生的时间 sql注入发生的阶段在sql预编译阶段 当编译完成的sql不会产生sql注入 一 采用jdbc操作数据时候 String sql update ft proposal set id id PreparedStateme
  • 【rust/egui】(十一)使用rfd选择文件并使用serde_json进行序列化

    说在前面 rust新手 egui没啥找到啥教程 这里自己记录下学习过程 环境 windows11 22H2 rust版本 rustc 1 71 1 egui版本 0 22 0 eframe版本 0 22 0 上一篇 这里 rfd Rusty
  • 学习笔记之以太网帧结构

    在TCP IP中 以太网的IP数据报文的封装格式由RFC 894定义 IEEE802 3网络的IP数据报文封装由RFC 1042定义 当今最常使用的封装格式是RFC894定义的格式 通常称为Ethernet II或者Ethernet DIX
  • openGL之API学习(一零零)glProgramParameter

    给着色器程序传递参数 void glProgramParameteri GLuint program GLenum pname GLint value program Specifies the name of a program obje
  • python 散点图_

    Python中绘制散点图常用的函数是 matplotlib pyplot scatter 它的主要参数如下 matplotlib pyplot scatter x y s None c None marker None cmap None
  • 【SpringBoot】1、SpringBoot整合JWT实现Token验证

    这里写目录标题 1 单点登录 1 1 单系统登录 1 1 1 单系统登录流程 使用Session实现单系统登录 1 2 多系统 单点 登录 1 2 1 单点登录实现方案 1 2 1 1 Session跨域 1 2 1 2 Spring Se
  • python迭代器和可迭代对象

    1 迭代器 vs 可迭代对象 python中两个迭代的概念 一个叫做迭代器 Iterator 一个叫做可迭代对象 Iterable 我们可以从collections模块中导入 from collections abc import Iter
  • 树模型集成学习(Tree Embedding)

    树模型集成学习 集成学习主要有两个思想 分别是bagging和boosting 树模型的集成模型都是使用树作为基模型 最常用的cart树 常见的集成模型有RandomForest GBDT Xgboost Lightgbm Catboost
  • Win10+Ubuntu16.04双系统重装win10后ubuntu引导失败UEFI启动方式下GRUB消失

    参考博客 http blog csdn net zrf2112 article details 71042782 参考文章 https wiki deepin org index php title E4 BF AE E5 A4 8D E5