我被这个问题难住了:
我在 UEFI HP 机器上安装了 Ubuntu。安装后第一次重启时一切顺利,GRUB 引导加载程序菜单对话框按预期出现,允许与 Windows 10 进行双启动。但是,在启动 Ubuntu 并进行系统更新并安装一些 NVidia 软件后,下一次重启时,我不得不经历 BIOS 带来的一些 MOK 操作(机器所有者密钥),也许吧(?)。一切似乎都很好,直到我不得不重启。在这里,我在纯黑屏幕上遇到了一个沉闷的 grub 提示符。
但是,我重新启动并进入 UEFI BIOS 并重新排列启动顺序,将 Ubuntu 置于 Windows 启动管理器之上。
系统顺利启动到 GRUB 引导加载程序菜单,Ubuntu 启动。一切正常,直到下次系统启动时,我再次遇到了 grub 提示符。
物理系统基于两个磁盘:一个预装 Windows 10 的 SSD 和一个 1TB 驱动器,其中 200 BG 分区用于 Windows 10 工作,其余用于 Ubuntu。包含所有启动文件的 EFI 分区位于 SSD 驱动器上。我尝试通过在 Ubuntu 中运行 grub update 命令来解决启动问题,该命令报告所有操作均已成功执行。但直接启动到 grub 提示符的问题仍然存在。
我应该注意到,我在硬盘上的 /dev/sda2 处发现了第二个空分区 - 但这未列在 BIOS 启动顺序列表中。考虑到这会给 BIOS 造成混乱,我将启动目录和文件从 SSD 分区复制到 /dev/sda2,但这只会在再次检查 BIOS 启动顺序并发现它们出现在那里时引起麻烦,使所有内容都重复 - 这些后来被删除,因此 /dev/sda2 处的 EFI 分区再次为空。
那么,为什么计算机在开机时会启动到 grub 提示符,但是只有在开机时按 F10 键并快速访问 BIOS(不做任何更改而退出)后,才会启动到 GRUB 引导加载程序菜单?
(我浏览过许多以前的帖子,但绝大多数都涉及 MBR 而不是 GPT 启动表,并且我感兴趣的是保持安全启动的完整性。)
干杯,
古斯塔夫
答案1
我已经解决了计算机在启动时立即直接进入 grub 提示符的问题:
我意识到实际发生的情况是,按下开机按钮后几秒钟内,计算机直接启动到 grub 提示符。但是,如果我只短暂访问 BIOS,计算机就会经历整个启动过程,即显示 BIOS HP 屏幕几秒钟,然后我最终会看到 GRUB 引导加载程序菜单。我创建的系统实际上非常健康,安全引导加载程序文件完好无损,并且位于正确的分区中。
因此,我不得不以某种方式减慢启动过程,以便启动过程读取相关的启动文件。这台机器在 BIOS 中没有“快速启动”可以关闭,这是我在故障排除时已经寻找过的东西,但它在 BIOS 中有一个高级 -> 开机选项部分:我找到了 POST 延迟(以秒为单位)并将其设置为 1o
此后每次开机都会直接进入 Grub Bootloader 菜单。
我希望这能帮助其他试图解决类似问题的人。
干杯!古斯塔夫