大约一个月前,我在 Windows 8 上安装了 Xubuntu 后,一直在尝试修复这个错误。为了让我的笔记本电脑运行 GRUB2 而不是原始的 Windows 启动加载程序,我使用 Windows 上的 bcdedit 通过命令行编辑了 Windows 启动管理器的 EFI 文件路径。
遇到许多问题后,我不得不格式化我的硬盘,而且只能安装 Linux 操作系统。Windows 操作系统则不行,我的笔记本电脑甚至找不到 Windows 恢复盘上的启动文件。我确实认为,由于 Windows 启动管理器加载 EFI 文件的路径与它应该加载的路径不同,它无法再启动任何 Windows。我尝试在磁盘和 USB 密钥上安装 Windows 7、8 和 10。
顺便说一句,我曾尝试使用 VirtualBox 和物理硬盘启动 Windows 磁盘。在非 EFI 模式下,安装软件运行良好,但由于磁盘格式而拒绝安装任何内容。在 EFI 模式下(即我的硬盘),它在启动前会冻结。
我看过关于 rEFInd 和 boot-repair 的帖子,但在尝试这些之前,我很想知道是否有人可以回答下面的问题。
是否可以从 Ubuntu 手动编辑这些路径?它必须存储在某个地方,但我似乎找不到在哪里。
===============
在 ubfan1 的帮助下找到解决方案:
我打开了一个终端并输入以下命令来获取 UEFI 启动项列表:
sudo efibootmgr -v
我通过键入以下内容删除了 Windows 启动管理器条目和另一个名为“是”的启动条目:
sudo efibootmgr -B {boot_entry}
对彼此而言。
我重新启动后发现我不再有 Windows 启动加载程序。我启动到 Ubuntu 并通过输入以下内容将其重新添加:
sudo efibootmgr -L "Windows Boot Manager" -l "/EFI/Microsoft/Boot/bootmgfw.efi" -p 1
然后我重启进入 Ubuntu 并发现更改已经完成。现在可以从任何设备启动 Windows 了。
答案1
efibootmgr 是管理 UEFI 启动项及其顺序的程序。手册页有完整的说明。
也许 Packard Bells 必须对你的(新) efi 启动文件设置“信任”。请参阅双启动 om 包 bell 的问题 设置安全启动,选择“选择要信任的 UEFI 文件”。启用管理员密码后,您可能会获得更多选择。在此网站上搜索 Packard Bell,看看您能找到什么。
在 efibootmgr 中输入 Windows 启动条目与输入 Ubuntu 条目基本相同。
sudo efibootmgr -v
检查那里有什么。典型的 Windows 条目如下所示:
Boot0004* Windows Boot Manager HD(2,e1800,82000,04b9edc2-fc48-11e1-8ec1-e7137b3aaf29)File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...n.............
输入一个新的(-p 表示 EFI 分区,默认为 1)
sudo efibootmgr -L "Windows Boot Manager" -l "/EFI/Microsoft/Boot/bootmgfw.efi" -p 1
也许 -c 用来创建或 -b 用来编辑现有条目,请查看手册页。也许路径需要反斜杠 \ 而不是斜杠 /。