从 USB 安装了 Ubuntu 17.04,但现在无法启动

从 USB 安装了 Ubuntu 17.04,但现在无法启动

我将 Ubuntu 17.04 从实时 USB 安装在格式化的硬盘上,因为我以前也这样做过,所以我以为它会像往常一样运行。然而,在重新启动时,我收到错误:“正在检查媒体存在......没有媒体......无法打开 \EFI\BOOT\shimx.efi - 未找到无法加载映像与之前相同的路径:未找到无法启动 MokManager - 未找到”

我确实启用了 UEFI 模式并且我的 HDD 已使用 GPT 格式化。

我尝试过多次使用启动修复,它说我的系统上存在 GRUB(并且 ubuntu 安装程序指出 Ubuntu 17.04 也已安装),但无论何时重新启动,GRUB 或 Ubuntu 都不会加载(除非我插入了实时 USB,否则什么都不会启动)。

任何帮助均感激不尽。

编辑:

我已经禁用安全启动。

启动修复报告结果:
pastebin.com/xP92a5wD

硬件规格:东芝 satellite C55 B5200、6GB 内存、64 位 i3

答案1

我有同样的电脑,只是内存是 4GB。我在 EFI 启动时遇到了同样的问题。找不到可启动设备。

我的系统在驱动器上首先有一个系统恢复分区,其次是 EFI 分区。对我来说,解决方法是使用我的 Windows 恢复磁盘对驱动器进行分区。然后,删除除第一个(恢复)之外的所有分区。然后安装 ubuntu。
我的系统也仅由设备启动(没有操作系统启动),因此必须创建默认媒体路径。将 /EFI/ubuntu/shimx64.efi 复制到 /EFI/BOOT/ 并将其重命名为 BOOTx64.efi,效果很好。

尝试在驱动器开头创建一个 NTFS 分区并将其标记为系统恢复。以及一个标记为 ESP 的 FAT32 分区。然后安装 ubuntu。

答案2

需要注意的是,您报告的错误消息似乎来自 Shim ( shimx64.efi),这意味着计算机正在启动启动过程。需要注意的是:您报告了以下错误消息:

Failed to open \EFI\BOOT\shimx.efi - Not Found

此消息采用来自 Shim 的消息形式;然而,Shim 启动GRUB,因此应该抱怨找不到grubx64.efi,而不是shimx64.efi。您还说它抱怨找不到 MokManager,这进一步澄清了这一定是 Shim 消息——据我所知,没有 EFI 会查找 MokManager,但 Shim 会。由于这是 Shim 消息,我假设您误报了这个细节。如果不是,那么您遇到了一些新的和奇怪的事情,这可能会使我下面的分析复杂化——但也许它仍然适用......

您的 Boot Repair 输出表明shimx64.efigrubx64.efi都存在于EFI/ubuntuESP 中。您的EFI/BOOT目录中有一个bootx64.efi文件,但仅从 Boot Repair 输出无法确定它是什么。EFI/BOOT但是,由于错误消息引用了 ,因此很可能EFI/BOOT是 Shim 的副本,并且正在运行的就是这个二进制文件。如果是这样,并且该目录中没有其他任何东西,那么错误消息是有道理的,至少如果它实际上引用了grubx64.efi

考虑到所有这些,最简单的解决方案可能是将EFI/ubuntu/grubx64.efiEFI/ubuntu/grub.cfg复制EFI/BOOT到 ESP 上(/dev/sda1就您而言)。复制这些文件后,Shim 应该能够启动 GRUB,尽管是从EFI/BOOT而不是 从 启动EFI/ubuntu。这应该是一个相当简单的修复。这样做的缺点是,将来对 GRUB 和 Shim 的更新将无法完全安装 - 或者更准确地说,它们会安装但永远不会运行。

您的 Boot Repair 输出中的以下内容建议进行另一种可能的修复:

=================== efibootmgr -v
BootCurrent: 0003
Timeout: 0 seconds
BootOrder: 0000,0002,0001,0003
Boot0000* ubuntu    VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)
Boot0001* UEFI: IP4 Realtek PCIe FE Family Controller   PciRoot(0x0)/Pci(0x1c,0x2)/Pci(0x0,0x0)/MAC(f8a96315c2b0,0)/IPv4(0.0.0.0:0<->0.0.0.0:0,0,0)..BO
Boot0002* UEFI: IP6 Realtek PCIe FE Family Controller   PciRoot(0x0)/Pci(0x1c,0x2)/Pci(0x0,0x0)/MAC(f8a96315c2b0,0)/IPv6([::]:<->[::]:,0,0)..BO
Boot0003* UEFI:  USB Flash Memory1.00   PciRoot(0x0)/Pci(0x14,0x0)/USB(2,0)..BO

这个输出需要一些专业知识来解析,但这ubuntu行很奇怪。它通常看起来应该更像这样:

Boot0000* ubuntu    HD(2,GPT,6e49fcaf-d054-47c9-ba69-a668c5ee8192,0xc00,0x114000)/File(\EFI\ubuntu\shimx64.efi)

细节(特别是所有十六进制数字)可能会有所不同,但通常是HD(...)指 的条目EFI\ubuntu\shimx64.efi。因此,您可以尝试以下操作:

  1. 启动应急磁盘。
  2. 打开终端窗口。
  3. 类型sudo efibootmgr -c -l \\EFI\\ubuntu\\shimx64.efi -L ubuntu
  4. 键入sudo efibootmgr -v以检查新的启动顺序列表。您应该会看到类似我上面显示的条目,并且它应该是行中的第一个BootOrder

也就是说,Ubuntu 安装程序和 Boot Repair 基本上都是在后台执行此操作,而您的系统仍然有此问题。因此,您遇到的可能是错误,可能是计算机固件中的错误,也可能是 Ubuntu 中的某些东西(很可能是efibootmgr,但也可能是在内核或其他东西中)。某些东芝电脑的 EFI 不稳定,因此您的固件中完全有可能存在错误。(如果您尚未运行最新固件,则值得尝试更新到最新固件。)

另一种方法是使用fallback.efi(又名fbx64.efi),您将其安装在 中EFI/BOOT,以及目录BOOT.CSV中名为 的文件EFI/ubuntu。不过,设置起来有点繁琐。请参阅rEFInd 文档的这一页了解如何使用 rEFInd 执行此操作的详细信息——但您需要稍微调整细节才能使其与 Ubuntu 配合使用。我没有在您的 Boot Repair 输出中看到任何fallback.efi或的迹象fbx64.efi,因此它可能未安装在您的系统上。

相关内容