双系统win10自动改动EFI启动顺序解决方案

笔者设备简述

电脑系列:暗影精灵7
CPU: AMD R7
显卡: RTX3070 8G
系统:win10/ubuntu20.02
BIOS: 戴尔自己搞得花哨的系统,少了很多选项

在win10基础上安装双系统大致经历

  1. 由于带显卡,又是AMD CPU,无法进入正常的ubuntu安装引导,只能选择ubuntu (safe graphics)这个选项进入
  2. 安装显卡驱动时候又在secure boot浪费了些时间
  3. 第一次安装的时候显卡驱动没有装完全,卡在开机过程中,左上方有光标一直在闪烁,这时按ctrl+alt+F2,再输入sudo ubuntu-drivers autoinstall, 最后重启解决
  4. 主要花时间的是开机后的EFI引导问题

问题描述

  1. 第一次安装好ubuntu后,重启,有引导界面,可以选择进入win10系统还是ubuntu系统,但是只要进入win10,再重启,引导界面就没有了,而是直接进入win10系统

  2. 于是用刚才装机烧录了ubuntu20.04的U盘插入,以它为启动盘,进入ubuntu (safe graphics)然后使用try ubutnu(而不是install ubuntu),修复boot,参考Ubuntu windows双系统没有引导界面的解决办法 中的方案二

  3. 修复后,和原来一样, 只要不进入win10都没问题,进了win10, 就会出现引导消失的情况

  4. 我注意到这个修复方案最后有一个提示 If your UEFI firmware does not allow to change the boot order, change the default boot entry of the Windows bootloader. For example you can boot into Windows, then type the following command in an admin command prompt: bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi 就是说如果这个修复办法还不好用, 就在win10中用管理员权限打开cmd, 使用bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi 来改动启动规则,可以避开win10对boot启动的改动

  5. 我使用后,发现启动win10后,再次启动会出现 Failed to open \EFI\ubuntu\■■坏死■ - Invalid Parameter 这样的错误,也就是EFI文件损坏, 没办法只好再用2中的修复办法

问题成因猜想

经过网上探索和自己的试验,我认为是win10在启动后就破坏了\EFI\ubuntu\shimx64.efi 这个文件

解决方案

针对这个猜想, 有两种解决方案

1. 添加windows脚本

具体来说,就是想办法备份一个没有损坏的\EFI\ubuntu\shimx64.efi 然后通过bcdedit这个命令行工具,在开机后将这个文件恢复,然后把这些指令写到bat脚本文件中,并在开机启动程序中激活,听起来有点麻烦,我也没有真正尝试过

2. 改变efi文件路径

Ubuntu windows双系统没有引导界面的解决办法方案二中, 最后运行完$ sudo boot-repair后会有一份报告, 其中有几行引起了我的注意

生成\EFI\ubuntu路径下的efi文件

grub-install --efi-directory=/boot/efi --target=x86_64-efi --uefi-secure-boot
df /dev/nvme0n1p1

备份/EFI/Boot/bootx64.efi/EFI/Boot/bkpbootx64.efi

mv /mnt/boot-sav/nvme0n1p6/boot/efi/EFI/Boot/bootx64.efi /mnt/boot-sav/nvme0n1p6/boot/efi/EFI/Boot/bkpbootx64.efi

备份/EFI/ubuntu/shimx64.efi /EFI/Boot/bootx64.efi

cp /mnt/boot-sav/nvme0n1p6/boot/efi/EFI/ubuntu/shimx64.efi /mnt/boot-sav/nvme0n1p6/boot/efi/EFI/Boot/bootx64.efi

也就是boot-repair帮我备份了一份ubuntu/shimx64.efi , 两者内容是一样的,这样我在win10中将它推荐的指令改为bcdedit /set {bootmgr} path \EFI\Boot\bootx64.efi

经过多次重启win10后,发现EFI引导都正常存在

总结

win10在启动中既会调整EFI启动顺序,也会有意无意地破坏EFI中ubuntu文件夹中的efi文件

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在安装Ubuntu 20.04和Windows 10双系统时,可以选择手动分区并配置EFI引导。下面是一个简单的步骤指南: 1. 首先,确保你已经准备好了一个空出来的分区来安装Ubuntu。你可以在Windows 10的磁盘管理器中进行分区,或者使用其他工具,如GParted。 2. 在安装Ubuntu时,选择“手动分区”选项。这将打开一个分区编辑器,你可以在其中配置你的分区。 3. 找到你要用于安装Ubuntu的分区,并确保它是未分配的空间。如果你已经有一个未使用的分区,你可以选择直接使用它,或者创建一个新的分区。 4. 右键点击未分配的空间,并选择“新建”选项。选择分区的大小,建议至少为20GB,然后选择文件系统为“ext4”,挂载点为“/”。 5. 确保为新创建的分区指定了正确的挂载点和文件系统类型后,继续创建一个EFI系统分区。这个分区将用于安装引导加载程序。 6. 选择未分配的空间,右键点击并选择“新建”选项。选择分区的大小为200MB到500MB,并选择文件系统类型为“EFI系统”,这将自动将挂载点设置为“/boot/efi”。 7. 此时,你应该有两个新的分区:一个用于Root文件系统的分区,一个用于EFI系统分区。 8. 现在可以开始安装Ubuntu了。按照安装向导进行操作,当遇到引导加载器的安装选项时,选择“/boot/efi”分区作为引导目标。 9. 完成Ubuntu的安装后,重新启动计算机。你应该看到一个引导菜单,可以选择启动UbuntuWindows 10。 注意:在安装双系统之前,建议在Windows 10上创建一个备份以防止数据丢失。此外,如果你对手动分区不太熟悉,建议在进行任何操作之前先了解更多相关知识或寻求专业帮助。 ### 回答2: 以下是Ubuntu 20.04和Windows 10双系统的安装教程,手动分区和使用EFI引导方式。 1. 准备工作: - 下载Ubuntu 20.04的ISO镜像文件并制作启动U盘。 - 在Windows 10上创建可用的空闲磁盘空间。 2. 启动Ubuntu 20.04安装程序: - 在启动时按下计算机的启动菜单键(通常是F12或ESC),选择U盘作为启动设备。 - 选择“Install Ubuntu”(安装Ubuntu)进入安装程序。 3. 选择安装类型: - 在“Installation Type”(安装类型)页面上,选择“Something Else”(其他选项)。 4. 手动分区: - 如果你有多个硬盘,请选择正确的磁盘。 - 点击“New Partition Table”(新分区表)创建一个新的分区表。 - 右击空闲空间并选择“Create Partition”(创建分区)。 - 设置分区大小、文件系统类型和挂载点。 - EFI分区:选择大小为200-500MB的分区,文件系统类型选择“EFI System Partition”,并设置挂载点为“/boot/efi”。 - 根分区:选择一个适当的大小,文件系统类型选择“Ext4”,并设置挂载点为“/”。 - 如果需要,可以创建其他分区,如交换分区或家庭分区。 5. 安装Ubuntu: - 确保选择正确的磁盘和分区后,点击“Install Now”(现在安装)进行安装。 - 在安装过程中,设置国家/地区、键盘布局等选项。 - 创建并输入用户名和密码等必要的信息。 6. 安装引导程序: - 在安装完成后,选择“Continue Testing”(继续测试)以进入已安装的Ubuntu系统。 - 打开终端,运行命令“sudo update-grub”以更新引导菜单。 - 运行命令“sudo grub-install /dev/sda”(如果Ubuntu安装在sda磁盘上)以安装引导程序。 7. 安装Windows 10: - 重新启动计算机并选择Windows 10的安装媒体。 - 在安装过程中,选择自定义安装。 - 选择先前在Ubuntu安装中创建的空闲空间进行安装,并按照Windows 10的安装向导进行操作。 8. 双系统引导: - 完成Windows 10的安装后,计算机将自动启动Windows 10。 - 重启计算机并按下启动菜单键,选择启动Ubuntu。 - 进入Ubuntu后,打开终端,运行命令“sudo update-grub”以更新引导菜单。 - 重启计算机,此时将出现引导菜单,可以选择启动UbuntuWindows 10。 希望以上教程能帮助到你成功安装Ubuntu 20.04和Windows 10双系统,并正确设置EFI引导方式。如果有任何问题,请随时向我提问。 ### 回答3: 以下是Ubuntu 20.04和Windows 10的双系统安装教程,手动分区并使用EFI引导: 1. 准备工作: 确保你有一台已经安装了Windows 10的计算机,并完成了Windows 10的所有更新。还需要Ubuntu 20.04的安装介质,可以下载ISO镜像并制作成可引导的USB驱动器。 2. 创建可启动Ubuntu USB驱动器: 使用软件如Rufus或Etcher等,在一张空白的USB驱动器上创建一个可引导的Ubuntu 20.04安装驱动器。 3. 启动Ubuntu安装程序: 将Ubuntu USB驱动器插入计算机,并重启计算机。在启动过程中,按下相应的按键(通常是F2、F12或Del键)来进入启动选项菜单。选择从USB驱动器启动。 4. 进入Ubuntu安装程序: 在引导选项菜单中选择“Install Ubuntu”(安装Ubuntu)。 5. 选择语言和时区: 根据你的偏好,选择适当的语言和时区。 6. 准备磁盘空间: 在“Installation Type”(安装类型)屏幕,选择“Something else”(其他)选项,这将允许手动分区。 7. 创建EFI分区: 找到Windows 10所在的磁盘,并确保它的分区方案为GPT。在未分配的空间上,右键点击并选择“New Partition”(新建分区)。设置新分区大小为至少200 MB,并选择“Use as: EFI System Partition”(用作:EFI系统分区)。点击“OK”(确定)按钮来创建EFI分区。 8. 创建Ubuntu分区: 在未分配的空间上,右键点击并选择“New Partition”(新建分区)。设置新分区大小(通常建议至少20 GB),选择文件系统为“Ext4”,并设置挂载点为“/”。点击“OK”(确定)按钮来创建Ubuntu分区。 9. 修改分区相关设置: 在上述步骤中,你可能还需要设置“Format?”(格式化?),确保选择了“Format”(格式化)。对于EFI分区,选择“Use as: EFI System Partition”(用作:EFI系统分区),并确保挂载点为空。 10. 安装Ubuntu: 双击“Install Now”(立即安装)按钮开始安装Ubuntu。稍等片刻,安装程序将安装所有的必要文件并设置引导。 11. 完成安装: 安装完成后,重启计算机。在重启时,进入计算机的BIOS设置,并确保UEFI引导模式是启用的。选择Ubuntu来引导你的系统。 这就是Ubuntu 20.04和Windows 10的双系统安装教程,手动分区并使用EFI引导的步骤。请确保在进行这些步骤之前备份所有重要的数据,并谨慎操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值