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

您所在的位置:网站首页 win10系统开机画面更改 双系统win10自动改动EFI启动顺序解决方案

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

2024-07-15 12:07| 来源: 网络整理| 查看: 265

双系统win10自动改动EFI启动顺序解决方案 笔者设备简述在win10基础上安装双系统大致经历问题描述问题成因猜想解决方案1. 添加windows脚本2. 改变efi文件路径总结

笔者设备简述

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

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

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

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

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

我注意到这个修复方案最后有一个提示 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启动的改动

我使用后,发现启动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文件



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3