我不能做出任何保证,但是请使用具有管理员权限的Windows命令提示符窗口尝试以下操作:
bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
注意,{bootmgr}
应键入准确;那不是一个变量。如果那行不通,您可以在Linux中尝试:
- 备份
/boot/efi
(您的EFI系统分区或ESP)的全部内容。
- 输入
sudo mv /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft
。
- 输入
cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
。
- 创建一个新
/etc/grub.d/40_custom
文件引用EFI/Microsoft/bootmgfw.efi
。在/boot/grub/grub.cfg
引用的现有条目之后对其进行建模EFI/Microsoft/Boot/bootmgfw.efi
; 只需Boot
从启动路径中删除,然后为条目指定一个新名称即可。
- 键入
sudo update-grub
以安装新的GRUB条目。
重新启动时,GRUB应该启动。问题在于,如果/当Windows决定重新安装其引导程序时,系统将再次开始直接引导至Windows。
对于步骤4,您可以:
- 复制位于一组和标记/注释之间的
40_custom
条目。这是路径包含的条目。menuentry 'Windows ...'
### BEGIN <path> ###
### END <path> ###
Boot
/etc/grub.d/40_custom
通过添加复制的文件在文件中创建一个新条目menuentry
。
- 更改新条目的名称(原始名称应为
Windows Boot Manager
或类似名称)。
- 将路径从更改
EFI/Microsoft/Boot/bootmgfw.efi
为EFI/Microsoft/bootmgfw.efi
。
编辑:
自编写此答案以来,我已经知道了名为EasyUEFI的第三方Windows工具,它比bcdedit
从Windows调整EFI引导顺序要容易得多。我不知道EasyUEFI是否会阻止Windows进行更改,如果Windows习惯于在每次引导时将其自身设置为默认值。因此,bcdedit
可能仍然需要,但EasyUEFI绝对也值得尝试。