今天在装linux的window双系统时,出现在无法使用linux引导的问题,开机总是自动进windows,照理来说我先装的window,后装的linux,应该是开机进grub引导才对。在主板的boot里根本没有linux项,后来用EasyUEFI检查发现linux的启动项被禁止和隐藏了!!

后来查了查,部分品牌的电脑会出现无法使用linux引导的问题,BIOS的boot里只有windows的启动项。如果是传统的引导方式,可以通过EasyBCD在windows系统下添加linux启动项,而UEFI的启动方式就没法用window引导linux了。

此时可以使用linux的引导文件替换windows的引导文件,让主板以为你这是windows的引导项。

虽然通过正常的方式无法进入linux系统,但是可以通过linux的启动盘找到linux的启动项,我用的是manjaro系统,插入刻录好的U盘,选择USB方式引导,在Detect EFI bootloaders里可以找到安装好的manjaro系统的引导项。通过它可以进入Linux系统。

进入系统的/boot/efi/EFI/目录可以看到如下三个文件夹

总用量 32
drwx------ 2 root root 8192 10月 7 05:53 Boot
drwx------ 2 root root 8192 10月 7 14:14 Manjaro
drwx------ 4 root root 8192 10月 7 15:07 Microsoft

其中Manjaro里的grubx64.efi就是Linux的bootloader。

为了开机使用Linux引导我们可以使用Manjaro的grubx64.efi替换Microsoft的bootmgfw.efi,在我电脑上的具体命令是:

# 备份原文件
cp Microsoft/Boot/bootmgfw.efi Microsoft/Boot/bootmgfw1.efi # 替换
cp Manjaro/grubx64.efi Microsoft/Boot/bootmgfw.efi

但这么以来即使你在Linux的grub里选择Windows Boot Manager项也不能进入Windows了,因为这个启动项指向的Windows bootloader已经被Linux替换了,所以还需要修改grub的Windows启动项,让它指向我们备份的bootmgfw1.efi。efi文件是不可读的,我们可以修改的是cfg文件。

看一个当前目录的Boot文件夹,里面有一个叫grub.cfg的文件,使用cat命令查看内容:

cat Boot/grub.cfg

search.fs_uuid 766eca58-fb60-457a-b79c-607f2c728407 root hd1,gpt4
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg

发现它实际上是引用的/boot/grub/grub.cfg的内容,使用vim打开它,搜索Windows可以发现Windows的启动项

menuentry 'Windows Boot Manager (on /dev/sdb1)' --class windows --class os $menuentry_id_option 'osprober-efi-000E-17EB' {
savedefault
insmod part_gpt
insmod fat
set root='hd1,gpt1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,gpt1' --hint-bios=hd1,gpt1 --hint-efi=hd1,gpt1 --hint-baremetal=ahci1,gpt1 000E-17EB
else
search --no-floppy --fs-uuid --set=root 000E-17EB
fi
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

将chainloader中的bootmgfw.efi改成bootmgfw1.efi

重启应该就可以了。

双系统使用Linux引导的更多相关文章

  1. 双系统windows+linux如何正确删除linux

    双系统windows+linux如何正确删除linux 2017年11月16日 10:42:49 dovepym 阅读数:26363   之前在windows的基础上又安装了ubuntu系统16.04 ...

  2. windows和linux双系统删除linux

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

  3. win10与ubantu双系统产生的引导错误问题-----unknown filesystem

    在win10和ubantu双系统中开机启动时出现unknown filesystem的解决办法   出现上述问题是引导区出错了. 方法如下: grub rescue>ls grub rescue ...

  4. win10与Ubantu双系统:Linux下开启FTP服务器与创建无线热点(实现文件共享)

    如何在win系统下使用filelizza这个软件搭建FTP服务器,然后建立一个无线局域网,让平板终端连接以后,访问电脑硬盘的文件. 如果是只在win7环境下,一切都很简单,按照上文提供的教程就可以实现 ...

  5. 双系统卸载linux和装双系统的方法

    卸载linux系统: 因为本人装的是windows和Ubuntu,所以引导程序在linux系统里,linux系统可以引导windows系统,而Windows不能引导linux,所以需要修改引导程序,使 ...

  6. centos7 windows7 双系统重新构建引导和启动顺序

    安装centos后无法引导启动windows7的解决方法 在电脑Windows7系统上安装Centos7,安装后找不到Windows7引导菜单. 原因:因为CentOS 7已采用新式的grub2系统, ...

  7. 双系统删除Linux系统

    1.首先解决Linux的grub引导问题.电脑先安装了Windows10,然后又安装了Linux,grub直接覆盖了Windows的引导, 所以每次开机都是进入了Linux的grub引导,现在我们需要 ...

  8. Ubuntu和win10双系统Grup无法引导解决方案

    通常我们经常安装双系统, 但是有时候安装完系统无法正常引导, 以下就说明Ubuntu和win10双系统, win10在grub界面不断循环的解决方案 直接在win10启动项目上按e进入编辑模式 在文档 ...

  9. windows10双系统删除linux

    问题 在这里删除后会发现有残留一个引导区,几百m(下图已经删除完),而且启动会进linux引导,然后必须f12进入选择启动项才可以启动windows 解决方法 使用删除引导就可以了 再使用傲梅分区助手 ...

随机推荐

  1. mysql数据库自带数据库介绍

    show databases:查看mysql自带数据库有information_schema,mysql, performance_schema, test information_schema数据库 ...

  2. python可视化:matplotlib系列

    matplotlib 的官方文档: https://matplotlib.org/users/index.html 1 子图布局管理 布局参数 紧密布局的方法 坐标轴的公用和隐藏 2 直方图bar和b ...

  3. tz汇报

    不爽,不满意,存在太多Bug,汇报前的了解不充分,了解到了有那些领导参加,但是没有具体了解领导的时间安排,没有按照领导的时间调整汇报提纲及思路,汇报到1个半小时,领导需要参加会议,提前离开,没能够与领 ...

  4. Object.create()的使用方法

    Object.create()的使用方法:https://blog.csdn.net/wang252949/article/details/79109437

  5. Luogu P1315 [NOIP2012]观光公交

    题目 每次把加速器用在可以是答案减少最多的地方就即可.(这不是废话吗?) 具体而言,我们处理出: \(sum_i\)到\(i\)为止下车人数之和. \(t_i\)在\(i\)最晚的上车的人的上车时间. ...

  6. 05: 常用反扒机制 & 解决方法

    1.1 常用反扒机制   参考博客:https://blog.csdn.net/python36/article/details/90174300 1.header  浏览器的请求头 header中添 ...

  7. HTTPS和HTTP的区别,http协议的特征

    http协议传输的数据都是没有经过加密的,也就是明文,所以http用于传输数据并不安全.而https是是使用了ssl(secure socket layer)协议+http协议构成的可加密传输,身份认 ...

  8. AFNetworking2.0源码解析<四>

    结构 AFURLResponseSerialization负责解析网络返回数据,检查数据是否合法,把NSData数据转成相应的对象,内置的转换器有json,xml,plist,image,用户可以很方 ...

  9. readline和xreadline的区别

    readline就是直接读取一行 xreadline是生成了一个生成器,遍历的时候才真正生成具体的内容 与range和xrange的区别一样 print range() # 直接创建所有的元素 pri ...

  10. 基于双XCKU060+双C6678 的双FMC接口40G光纤传输加速计算卡381

    一.板卡概述 板卡采用基于双FPGA+双DSP的信号采集综合处理硬件平台,板卡大小360mmx217mm.板卡两片FPGA提供两个FMC接口,4路QSFP+接口:每片FPGA挂接2簇32-bit DD ...