如果未插入 U 盘,则启动时使用 Grub 控制台

如果未插入 U 盘,则启动时使用 Grub 控制台

我使用可启动的 USB 笔式驱动器安装了 Ubuntu 14.04 LTS,创建了与 Windows 10 的双启动。Windows 和 EFI 分区位于一个磁盘上,Ubuntu 及其交换分区位于另一个磁盘上。在安装过程中,我选择 EFI 分区作为 Ubuntu 引导加载程序的目标(我在先前的安装中也尝试过选择整个 sda 磁盘而不是 EFI 分区 sda2,但结果出现了以下问题)。

安装后,如果我尝试在未插入 U 盘的情况下启动,Grub 控制台就会出现,我无法继续。我唯一可以正常启动的方法是插入 U 盘,这样就会显示操作系统选择屏幕,我就可以进入启动界面。

我尝试执行启动修复工具,无论是从已安装的 Ubuntu 版本还是从 Live USB,它都能正常进行到最后并显示启动过程已被修复,但如果我尝试在未插入 U 盘的情况下启动,Grub 就会再次出现。

答案1

您的问题是一个常见问题,并且您的问题是重复的,尽管我无法通过网络搜索找到相关的重复问题。

Ubuntu 以 EFI 模式安装 GRUB 的方式比较疯狂,部分内容分散在两个分区:

  • EFI 系统分区 (ESP)保存grubx64.efi二进制文件和一两个其他相关文件。就您而言,它位于硬盘上。
  • GRUB 配置文件存储在 Ubuntu/boot目录中,在您的情况下,该目录位于 USB 闪存驱动器上。GRUB 配置文件定义了您通常看到的启动菜单,因此如果无法访问,您会收到无用的grub>提示(或类似内容)。

有许多解决方案,包括:

  • 在您的内部磁盘上创建一个/boot分区——这会将所有关键的 GRUB 文件放在那里,以便 GRUB 将继续工作。
  • 安装另一个启动管理器,例如我的rEFInd 启动管理器-- rEFInd 的基本功能不依赖于跨分区配置文件,因此如果您将其安装到内部磁盘的 ESP 并将 rEFInd 设为默认设置,则当拔下 USB 驱动器时,您将能够启动 Windows,或者当插入 USB 驱动器时,您将能够启动任一操作系统。设置正确的选项后,当拔下 USB 驱动器时,/boot/efi/EFI/refind/refind.conf您将能够直接启动到 Windows,当插入 USB 驱动器时,您将能够直接启动到 Ubuntu。
  • 安装自定义 GRUB — 可以将 GRUB 配置为依赖于 ESP 上的配置文件,而不是 中的配置文件/boot。这需要相当多的专业知识才能进行设置。请参阅这一页了解关于这个主题的一些内容。(请注意,该页面包含一条通知,指出它已过时并请参考另一个页面,但较新的页面缺少相关详细信息。)
  • 依靠计算机的内置启动管理器——通常,按 Esc、Enter、F8 或其他功能键会调出启动管理器,让您在 Ubuntu 和 Windows 之间进行选择。您可以使用它来控制启动过程,并在拔下 USB 驱动器时绕过 GRUB。

编辑:*我刚刚提交了有关此问题的错误报告:

https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1567534

相关内容