首先安装 Windows 10,然后在其上安装 Ubuntu 20.04,双启动。几个月来运行良好,突然 Windows 启动选项返回此信息:
“错误:未找到文件‘/EFI/Microsoft/Boot/bootmgfw.efi’”
我运行了bootinfoscript
,并得到了第一个 RESULTS.txt:https://u.pcloud.link/publink/show?code=XZXMYlXZGVTc4SlE7LR0sfdKoPUuORUcRubV
我检查了 EFI 系统分区 (sdb1) 中的此文件夹,果然那里没有“bootmgfw.efi”文件。我从 Windows 分区 (/Windows/Boot) 获取此文件并尝试将其复制到 grub 正在寻找的位置,但我得到的却是:
root@i3-4170-ubuntu:/mnt/EFI/Microsoft/Boot# cp -f /home/wolf/bootmgfw.efi /mnt/EFI/Microsoft/Boot/.
cp:无法创建常规文件“/mnt/EFI/Microsoft/Boot/./bootmgfw.efi”:只读文件系统
我按照论坛帖子中的说明进行操作sudo update-grub
,结果是:
源文件“/etc/default/grub”
源文件“/etc/default/grub.d/init-select.cfg”
正在生成 grub 配置文件...
找到 Linux 映像:/boot/vmlinuz-5.11.0-27-generic
找到 initrd 映像:/boot/initrd.img-5.11.0-27-generic
找到 Linux 映像:/boot/vmlinuz-5.11.0-25-generic
找到 initrd 映像:/boot/initrd.img-5.11.0-25-generic
找到:'/boot/efi/EFI/Microsoft/Boot/es-ES':输入/输出错误
为 UEFI 固件设置添加启动菜单条目
完毕
我重新启动了,这一次,Windows 启动选项根本没有出现。事实上,计算机直接启动进入 Ubuntu 20.04,完全跳过了菜单。
我尝试了boot-repair
,这也是论坛中建议的。它无法修复 GRUB,并指出它找到了 LegacyWindows 分区,并且必须在 UEFI 固件中设置兼容模式。我对此非常怀疑,因为我非常有意识地在 UEFI 模式下安装了 Windows 10 和 Ubuntu,并禁用了 Legacy。此外,在过去的几个月里,这从来没有成为问题。
我执行bootinfoscript
了这个操作,并得到了第二条日志,重命名为 RESULTS-2.txt:https://u.pcloud.link/publink/show?code=XZMxYlXZHrECQn04trJYv3eYKdrNYRIwXuCk
上面这句话update-grub
引起了我的注意:find: ‘/boot/efi/EFI/Microsoft/Boot/es-ES’: Input/output error
。但如果有人能帮忙的话,在得到帮助之前我不会再继续捣鼓它了。
答案1
解决了:
- 尝试直接从 UEFI 启动菜单启动到 Windows 分区。没有成功。
-启动到 Windows 10 安装 USB 闪存盘,然后“修复”,然后“修复 Windows 初始化”或类似操作。它会自动找到 Windows 分区并进行修复。
-这样,我就可以从 UEFI 启动 Windows 了。我只需要修复 GRUB,然后启动 Ubuntu 并运行sudo update-grub
感谢@ChanganAuto 的帮助。