Dualboot Ubuntu/Windows:“错误:找不到文件‘/EFI/Microsoft/Boot/bootmgfw.efi’”

Tay*_*yfe 6 boot grub2 dual-boot windows uefi

我有一个双引导系统,在一个硬盘上装有 Ubuntu 20.04 和 Windows 10。过去 4 周一切正常,直到一个小时前:

在尝试从 GRUB 启动 Windows 时,突然出现此错误:

error: file '/EFI/Microsoft/Boot/bootmgfw.efi' not found
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

到目前为止我尝试和检查的内容:

  • 更新了 grub
  • 检查给定的文件:它确实存在!它的大小为 1558328 字节,所以它不是空的
  • 按照这个答案并尝试引导修复以及 Rescatux(重新安装 Mictrosoft Windows UEFI)

是我通过引导修复分析的当前引导设置的报告。

到目前为止,这些尝试都没有修复它。有没有人有解决方案或至少可以尝试的东西?

[编辑]

所以到目前为止我所取得的成就是我能够使用 UEFI 再次启动到两个操作系统。在启动时按 DEL 时,我可以使用 UEFI 的启动菜单启动到 grub(并从那里进入 ubuntu)或进入 Windows。但是当开始进入 grub 并尝试从那里启动 windows 时,我仍然收到相同的错误消息。是由 boot-repair 分析的另一个引导报告。正如你在第 97 行看到的

Boot0011* (Rescapp) bootmgfw.efi    HD(1,GPT,84e08278-2d18-4a4c-9885-fde204e033e6,0x800,0x32000)/File(\EFI_PRE_RESCATUX_2020-09-01-20-46-59\Microsoft\Boot\bootmgfw.efi)
Run Code Online (Sandbox Code Playgroud)

UEFI 上有一个条目可以引导到 Windows。但是这个条目使用 EFI 的备份来引导到 Windows。GRUB 而是使用更新的文件来尝试引导 Windows,如您在 grub.cfg 文件中所见:

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows Boot Manager (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-efi-92CE-E05A' {
    insmod part_gpt
    insmod fat
    set root='hd0,gpt1'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1  92CE-E05A
    else
      search --no-floppy --fs-uuid --set=root 92CE-E05A
    fi
    chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
set timeout_style=menu
if [ "${timeout}" = 0 ]; then
  set timeout=10
fi
### END /etc/grub.d/30_os-prober ###
Run Code Online (Sandbox Code Playgroud)

我想简单地改变线路

/EFI/Microsoft/Boot/bootmgfw.efi
Run Code Online (Sandbox Code Playgroud)

/EFI_PRE_RESCATUX_2020-09-01-20-46-59/Microsoft/Boot/bootmgfw.efi
Run Code Online (Sandbox Code Playgroud)

但是在文件顶部它说你不应该编辑这个配置文件所以我不敢这样做。它可以打破任何东西吗?为什么只有备份版本有效,而最近的版本无效?我的整个启动设置对我来说看起来有点混乱。

小智 6

这对我来说是工作。

  1. 创建可启动的 Windows 10 USB。
  2. 从启动菜单中选择 USB。
  3. “修复计算机”>“疑难解答”>“启动修复”。
  4. 完毕

需要几秒钟。:)


Tay*_*yfe 1

我不确定解决这个问题的确切方法是什么。但我尝试了一些事情,终于想出了一个解决方案!所以至少有一个小总结:

在某些时候,我觉得我完全搞乱了 UEFI。启动时,笔记本电脑的鼠标和键盘会闪烁一次,然后在加载 GRUB 或 UEFI 之前再次自行关闭。当尝试从 USB 记忆棒启动时,我也遇到了空白屏幕。所以我决定简单地将 UEFI 重置为出厂标准。这解决了鼠标、键盘和 U 盘的问题!

为了解决实际问题

error: file '/EFI/Microsoft/Boot/bootmgfw.efi' not found
Run Code Online (Sandbox Code Playgroud)

我决定尝试一下并编辑/boot/grub/grub.cfg,如我的第一篇文章中所述。我只更改了这一行,没有其他任何更改!这使它对我有用!现在我可以再次从 GRUB 启动到 Ubuntu 和 Windows 10。我真正想知道的唯一一件事是我从哪里获得这个文件/EFI_PRE_RESCATUX_2020-09-01-20-46-59/Microsoft/Boot/bootmgfw.efi。是的,它看起来很像 Rescatux 负责的,但我不知道我到底做了什么,rescatux 创建了这个备份文件。

如果您遇到类似的问题,祝您好运!:)