什么会导致全新安装的 Debian 9.5 直接启动到 grub2 命令行而不是 grub 菜单?在提示符下输入“exit”将进入菜单,我可以在其中毫无问题地引导系统。但由于某种原因,默认行为是引导至 grub 命令行。
我没有看到可以在 /etc/default/grub 中设置任何选项来覆盖此行为。
答案1
您可以尝试以 root 身份从命令行再次安装 grub。
我认为你的设备是,/dev/sda
但它可能会有所不同。
首先检查fdisk -l
和/或。parted -l
确保不要将 grub 安装到诸如/dev/sda1
.
例子:
grub-install /dev/sda
grub-install --recheck /dev/sda
update-grub
答案2
在评论中您提到有问题的磁盘是 NVMe SSD。这使得系统很可能以 UEFI 方式启动 - 如果在操作系统安装中未完全擦除 ESP 分区,则 ESP 上可能残留有以前的引导加载程序。
对于 UEFI 系统,您可以使用efibootmgr -v
查看固件启动设置:该BootCurrent
行将识别最近用于启动系统的启动设置,因此您可以使用该efibootmgr
命令的其他选项来删除从以前的操作系统安装。
为了完整起见,您还应该查看/boot/efi/
目录:每个已安装的操作系统、Linux 发行版或引导加载程序都应该有一个子目录。如果有以前安装的残余,您可以将它们删除,因为它们是常规文件。
这种问题在使用传统 BIOS 引导过程的系统上不太可能发生,除非您有多个磁盘,因为一次只有一个引导加载程序可以占用磁盘的主引导记录。
但是,如果您在配置为允许本机 UEFI 和传统 BIOS 样式引导过程的现代系统上使用 MBR 分区,并且引导优先级设置为首先尝试传统过程,则可能会残留 BIOS 样式 GRUB仍然嵌入在 MBR 中以及 MBR 和第一个分区开头之间的空白区域,这会给您 GRUB 提示,因为它使用的实际 GRUB 配置文件早已不复存在。当您退出时,固件意识到传统 BIOS 风格的引导尝试失败,并将以 UEFI 风格重试,现在将找到当前的引导加载程序。如果这是问题所在,最简单的解决方法可能是进入 BIOS 设置并将引导过程设置为“仅 UEFI”。
请注意,不要同时启用安全启动,因为 Debian 9.x 没有标准的安全启动支持。