尝试安装 grub2 失败

尝试安装 grub2 失败

最近我拿回了保修的笔记本电脑,因为硬盘意外烧坏了。它刚装了 Windows 10。

我尝试卸载灾难发生前使用的 Linux 发行版 ElementaryOS,但当我将其安装在专用分区中时,启动菜单不见了。在尝试多次修复它并在 stackexchange 上询问无果后,我放弃了,决定尝试安装 Ubuntu,也许是因为它安装 grub 的方式有效。不,它没有。

如果这些信息有帮助的话,我记得/dev/sda从 Live USB 安装 Ubuntu 时选择了 grub 的安装位置。

因此我再次尝试多次修复此问题,但没有成功。

首先我关注本指南但是当执行此命令时,grub-install /dev/sda我收到一条错误消息cannot find EFI directory

寻找这个问题的解决方案使我其他指南但我在这一点上遇到了困难:grub-install --efi-directory=/boot/efi --target=x86_64-efi /dev/sdX因为有一个错误说这样的目录不存在,还有其他错误。

这又让我这个问题在 askubuntu 上。我按照答案中的说明进行操作,一切都可以顺利执行,没有任何错误。但是,重新启动笔记本电脑时,grub 菜单仍然不会显示。

说实话我不知道还能做什么。几个星期以来我到处寻找并寻求帮助,但我的问题仍然存在。

我能做些什么?

答案1

如果计算机上安装了 Ubuntu,但由于缺少引导加载程序而无法启动它,则必须首先确定它是安装在 GPT 磁盘还是 MBR 磁盘上。前者通常用于 EFI 模式启动,后者通常用于 BIOS 模式启动,尽管这种联系并不像 Windows 那样紧密。如果您有 MBR 磁盘但想以 EFI 模式启动,或者有 GPT 磁盘但想以 BIOS 模式启动,则应重新评估您的情况以决定要做什么——继续进行不寻常的配置、更改分区表类型或更改引导加载程序类型。

假设您有(或转换为)GPT 磁盘并想要安装 EFI 模式引导加载程序,则有很多选择。最简单的两个是:

  • GRUB/启动修复-- 启动 Ubuntu 安装程序在 EFI 模式下,安装启动修复程序,并运行它。这应该在磁盘上正确设置 GRUB。最大的警告是,尽管 Boot Repair 通常有效,但有时却无效,而且在极少数情况下,它实际上会使情况变得更糟。当然,由于您现在无法启动,情况变得更糟的风险似乎很小。
  • 重新索引-- 您可以禁用安全启动(如果处于活动状态),下载我的 USB 闪存驱动器或 CD-R 版本的rEFInd 启动管理器,并从中启动。rEFInd 应该能够启动 Ubuntu。如果可行,请安装 PPA 或 Debian 软件包版本。rEFInd 将成为您的默认启动管理器,使您无需 GRUB 即可启动。这种方法更加渐进 - 每一步的风险都很低,因为您要么不更改磁盘,要么您知道当您对磁盘进行更改时该程序几乎肯定会工作。

如果您仍然遇到问题,或者您没有 GPT/EFI 设置,您应该回复详细信息。Boot Repair 提供的 URL 将显示有关您系统的详细信息,这可能有助于我们给出更好的答案。或者,您可以运行启动信息脚本,RESULTS.txt将其生成的文件发布到pastebin 网站,并在此处发布您的文档的 URL。


编辑:

您的症状与固件错误一致;众所周知,一些制造商发布的计算机带有错误的 EFI,会“忘记”或忽略其启动项。但是,您的问题暗示这一切在安装 Elementary OS 时都运行正常。这反过来又表明固件的 NVRAM 条目在某种程度上已损坏,从而阻止记录新条目。这也是一个错误,但可能会被克服。

可以尝试的一件事是进入固件的设置实用程序并选择将所有设置重置为默认值的选项。不幸的是,我无法确切地告诉你这个选项在哪里,因为它因固件而异。(你的固件甚至可能没有这样的选项。)完成后,你可以尝试再次运行 Boot Repair 或按照上述说明安装 rEFInd,如果幸运的话,修复将成功。

您还可以尝试以下方法简易UEFI在 Windows 中运行。您可以使用它来重新排序现有条目、删除现有条目以及创建新条目。您应该能够为 Ubuntu 创建一个条目(\EFI\ubuntu\shimx64.efi——请注意使用 Windows 和 EFI 样式的反斜杠作为目录分隔符)并对其进行测试。您还可以使用 EasyUEFI 清除任何额外或多余的条目——但efibootmgrBoot Repair 运行中的输出看起来没有任何可疑或多余的条目需要清除。不过,使用另一个工具(即 EasyUEFI)进行检查可能是值得的。

相关内容