我在 7 月底更新到了 Windows 10,它删除了我电脑上的所有启动项。我能够找到正确的 Windows 启动 efi 文件,并添加了启动选项,但我找不到 ubuntu efi 文件。我可以通过 Windows 访问文件,但我想重新使用 Ubuntu。我应该寻找哪个启动项?如果它不在那里,我可以下载 EFI 文件并将其添加到正确的位置吗?
答案1
假设您的 Ubuntu 安装完好无损(不是一个安全的假设),您应该能够按如下方式重新启动并运行:
- 下载我的 USB 闪存驱动器或 CD-R 版本的rEFInd 启动管理器。
- 利用下载的文件准备一个介质。
- 如有必要,请禁用安全启动。(在启用安全启动的情况下,有多种方法可以执行此操作,但需要添加更多步骤。)
- 启动 rEFInd 介质。它应该会向您提供启动 Windows 和 Ubuntu 的选项。
- 突出显示 Ubuntu 选项并按 Enter 键启动它。(警告:如果您有单独的
/boot
分区,则必须按两次 F2 或 Insert,而不是按 Enter。这将打开一个文本编辑器,您必须在其中添加一个root={something}
选项,其中{something}
是您的根 [/
] 文件系统,例如/dev/mapper/ubuntu
或/dev/sda6
。) - 一旦出现 Ubuntu,您可以:
- 重新安装 GRUB,可能通过
sudo grub-install
在命令提示符下输入来完成。 - 通过安装 Debian 包或 PPA 将 rEFInd 安装到硬盘,按照 rEFInd 文档中所述。
- 重新安装 GRUB,可能通过
- 如果你禁用了安全启动,那么此时你应该能够重新启用它,但是如果你用 rEFInd 替换 GRUB,你可能需要完成一些额外的步骤,如rEFInd 安全启动文档。
如果您完成此过程并在最后安装 GRUB,结果应该与使用 Boot Repair 非常相似;只是实现步骤不同。无论哪种方式,如果 Windows 删除了您的grubx64.efi
文件(以及 ESP 上的相关文件),则必须恢复这些文件。
不过,回到这个答案的第一个字,检查 Ubuntu 安装的当前状态可能是必要的。可以肯定的是,如果缺少 Ubuntu,我刚刚概述的过程将在步骤 #4 中失败——rEFInd 将不显示任何 Ubuntu 条目(或者可能是最终失败的 GRUB 条目)。此外,可能一切都保持安装状态,但您的启动顺序已经改变。如果您查看的是错误的分区,您可能会认为 GRUB 已被删除。Ubuntu 有时会将 GRUB 安装到一个分区,即使 Windows 使用另一个分区作为其引导加载程序,因此这种混淆很容易发生。在这种情况下,efibootmgr
在 Linux 中使用它来调整启动顺序会更有效(但不一定更有效)。出于所有这些原因,运行启动信息脚本并粘贴其生成的文件的链接RESULTS.txt
(发布在pastebin 网站) 可能是值得的。
答案2
我遇到了和你类似的问题,我使用以下方法解决了它简易UEFI显然,它对于家庭使用是免费的(在非企业 Windows 版本上)。安装并打开后,只需执行以下操作:
- 选择左边“管理 EFI 启动选项”,
- 单击带有工具提示的按钮“创建新条目”(中心按钮行,从顶部开始第二个)。
- 现在输入或者输入Shim的文件路径:“\EFI\ubuntu\shimx64.efi”(或者如果安全启动未启用,那么您也可以让它直接指向 Grub),添加如下描述“乌班图”或类似内容,然后单击“确定”进行确认。
- 将刚刚创建的条目移至顶部(再次按中心行中的顶部按钮)。
就是这样,它应该会自动再次引导您进入 Grub。无需从闪存驱动器或类似设备引导。
或者,如果 Grub/Shim 条目仍然存在,只是不是启动顺序中的第一个
在提升的提示下执行:
bcdedit /enum all
在其输出中查找引导加载程序条目的 ID。它类似于:
Firmware Application (101fffff) ------------------------------- identifier {8b455a95-4c31-11e6-9f4c-8066cf6e9636} device partition=\Device\HarddiskVolume2 path \EFI\ubuntu\shimx64.efi description Ubuntu
将其设置为首先尝试启动的:
bcdedit /bootsequence <ID OF YOUR BOOT LOADER ENTRY>