我有一台安装了 Windows 8 的笔记本电脑和一个安装了 Ubuntu 13.04 的外部硬盘,我通过 USB 连接。我在外部硬盘上安装了 grub。以前我能够毫无问题地从外部驱动器启动。但现在当我启动时,我的外部驱动器不会显示在启动选项菜单中。我的外部驱动器上有一个 ntfs 分区,Windows 可以检测到它。所以,我的笔记本电脑或外部驱动器没有任何硬件问题。
我尝试在另一台没有 UEFI 或 Windows 8 的计算机上从外部硬盘启动。它有 Windows 7 和 Ubuntu 13.04 作为双启动。当我第一次从外部驱动器启动时,我得到了 grub 救援屏幕。我按照如何修复“错误:未知文件系统。grub rescue>。我能够启动 Ubuntu,但它显示“/boot/efi”尚未准备好。我跳过了安装它,它就成功了。我以为问题已经解决了。但是当我连接到我的笔记本电脑时,它再次没有在启动选项菜单中被检测到。
这可能是什么问题以及该如何解决?
答案1
首先,/boot/efi
Ubuntu 安装的是EFI 系统分区 (ESP)。根据磁盘的分区方式,内部磁盘、外部磁盘或者两者都可能有 ESP。如果您在计算机 A 上安装了 Ubuntu,并将计算机 A 的 ESP 设置为挂载在/boot/efi
,那么当您将磁盘移动到计算机 B 并尝试启动时,它当然无法找到计算机 A 的 ESP,因此您会收到无法挂载 的错误/boot/efi
。我可以想到许多解决方法,但最好的方法可能取决于您计算机的磁盘配置(包括共享的外部磁盘);但是,如果您只是临时在计算机 B 上启动以调试问题,那么最好不要管它。如果您需要帮助解决此问题,请sudo parted -l
在两个系统上发布 的输出,并将外部磁盘连接到至少一个系统。(如有必要,使用应急磁盘启动计算机 A。)
至于您的计算机 A 启动问题,这可能是固件设置的问题,因此您应该进入固件的设置实用程序并查找与启动设备相关的选项。也可能是启动修复实用程序可能会有所帮助;但我还是要小心,因为你的设置很不寻常,而 Boot Repair 会永久更改你的启动设置——这些更改可能会有所帮助,但也可能使情况变得更糟。(如果你决定尝试,你需要从紧急磁盘启动 Boot Repair。)另一个选择是使用我的rEFInd 启动管理器。您可以使用 CD-R 或 USB 闪存驱动器映像进行测试,而无需对硬盘进行任何更改。如果可行,请启动 Linux 并安装 Debian 软件包版本。如果您确保内部硬盘的 ESP 安装在 上/boot/efi
,而不是外部磁盘上的 ESP(如果有),这可能会更可靠。