Win10+Ubuntu双系统UEFI启动方式下GRUB消失直接进入Windows以及重装时grub-install致命错误解决方法
来源:互联网 发布:python 图片相似度 编辑:程序博客网 时间:2024/05/17 03:47
问题描述:
双系统安装十分顺利,我是先装Windows再装Ubuntu,成功后开机可以看到Grub引导程序,看似已经成功但是进入Windows后再开机就看不见Grub引导程序,无论是你重启还是关机。重装Ubuntu发现一到安装grub-install时就fatal error,很多网上的解决方法几乎没用,自己摸索了下终于是解决了。
查阅了一些资料,首先确定两点:
1、Ubuntu在11.0后便已经支持UEFI启动
2、新版本的Ubuntu在Secure Boot开启的情况下也可以进入,但是最好把这关掉
原因分析:
UEFI启动时需要有一个ESP分区(EFI 系统分区),这个分区的EFI目录下有三个目录(安装Ubuntu后),一个是BOOT目录,一个是Microsoft目录还有一个是Ubuntu目录。在windows下通过mountvol挂载ESP分区,就能看到此分区内容。UEFI方式时会找到BOOT目录下的bootx64.efi启动文件并运行。而Microsoft目录下有一个bootmgfw.efi,对比发现这两文件一样的,也就是说UEFI找到的bootx64.efi就是Microsoft下的efi文件,也就直接启动了windows而忽略了ubuntu。那ubuntu目录下有什么?cd后提示文件已损坏,无法在这里创建和拷贝文件,这就是ubuntu重装时一到grub-install就失败的原因,这片区域早已损坏!efi启动文件都找不到了,哪里还能启动grub?
解决方法:
主要思路,找到grub启动程序,grubx64.efi,放到ESP分区的ubuntu目录下即可。
解决过程:
先使用fdisk进行修复,修复后ubuntu目录下啥都没有了,但是可以正常建立、复制文件。
ubuntu的启动靠grub,而咱们的ubuntu系统虽然启动不了,但是系统文件以及boot目录并没有损失,启动文件就在boot目录下。我们只需要利用u盘使用try ubuntu widthout install进入试用模式(Live CD模式,因为硬盘上的ubuntu已经不能启动了),通过终端的fdisk查看你的分区情况,找到你的boot分区位置和系统根目录位置,通过mount命令挂载到试用系统的mnt下,然后再将硬盘的ESP分区(在安装Windows时建立)也进行挂载,挂载的目的是进行访问以复制缺失的文件。
在boot目录下的grub目录中有我们需要的一切,把x86_64-efi目录下的所有文件复制到ESP分区的ubuntu目录下即可,这样相当于添加了一个启动项。在开机时选择启动项时选择ubuntu启动项即可,当然你也可以通过其他方式将启动项默认设置为grub。注意该x86_64-efi目录下有一个后缀名为efi的文件,但名称不是grubx64这没关系,UEFI识别.efi不识别名称,你可以自己改成grubx64,这也是ubuntu安装时所做的。
总结:
之所以直接进入Windows是因为ESP分区下的ubuntu目录损坏,为何损坏我也不知道,这也导致了重装ubuntu始终会在grub-install时出错。只需将装好的系统的boot/grub下的x86_64-efi下左右文件复制过去即可。
- Win10+Ubuntu双系统UEFI启动方式下GRUB消失直接进入Windows以及重装时grub-install致命错误解决方法
- Win10+Ubuntu16.04双系统重装win10后ubuntu引导失败UEFI启动方式下GRUB消失
- win7和ubuntu双系统,直接进入windows启动项选择菜单,而不进入grub的解决方案。
- Windows xp和ubuntu 9.10双系统,重装windows后,mbr被覆盖,grub不能启动的解决方法
- ubuntu和window双系统 重装windows后grub修复
- 双系统 Ubuntu的启动引导界面消失 grub
- live cd:重装windows后恢复GRUB,进入ubuntu
- Ubantu启动直接进入grub
- 双系统删除Linux进入Grub无法启动Windows的解决方案
- Windows重装导致Ubuntu无法启动,Grub信息丢失的解决方法
- 双系统,重装WINDOWS后,如何修复GRUB
- Windows、Ubuntu双系统重装windows系统后grub引导的修复及默认启动项的修改
- Windows、Ubuntu双系统重装windows系统后grub引导的修复及默认启动项的修改
- Windows、Ubuntu双系统重装windows系统后grub引导的修复及默认启动项的修改
- Windows、Ubuntu双系统重装windows系统后grub引导的修复及默认启动项的修改
- Windows、Ubuntu双系统重装windows系统后grub引导的修复及默认启动项的修改
- Windows、Ubuntu双系统重装windows系统后grub引导的修复及默认启动项的修改
- Ubuntu启动时进入禁止grub界面
- Web安全漏洞及解决办法
- SQL实现分组排序和组内排序
- HTTP学习(五)实体、编码
- 基于深度学习的目标检测研究进展
- UVA
- Win10+Ubuntu双系统UEFI启动方式下GRUB消失直接进入Windows以及重装时grub-install致命错误解决方法
- 个人信息管理系统 笔记2
- 理解Java对象序列化
- list(链表)常用成员(顺序容器)----插入push_back,push_front,insert删除pop_back,pop_front,erase,clear遍历begin,end判空emp
- [转]Android统一风格 —— 主题
- HTML--表格与表单
- 互斥锁和条件变量(2)——生产者和消费者(发送消息,循环队列执行)
- Java之File类
- CI框架学习笔记第二天