我对 Ubuntu 还很陌生,但大多数情况下,我都能按照自己想要的方式设置一切。我使用的是 HP Spectre,装有 Windows 10 和 Ubuntu(UEFI)。我唯一遇到困难的是使用 Refind 而不是 Grub。我安装了 Refind 并禁用了安全启动。当我启动计算机时,会出现 Refind 菜单,我可以在 Windows 10 或 2 个 Ubuntu 分区之间进行选择。我的问题是,当我单击 Ubuntu 时,它也会立即加载 Grub,但当我单击 Windows 时,它会直接加载到操作系统中。在 Refind 选择中单击 Ubuntu 后,如何禁用 Grub。如果不是强制性要求,我不一定想从计算机中删除它,但我希望能够加载到 Ubuntu 中,而无需在 Grub 中执行任何操作。我到处搜索,但找不到解决方案。此外,有没有办法让第二个 Ubuntu 启动消失而不删除它?感谢您的帮助,我真的很感激!
答案1
有多种方法可以实现您想要的效果。广义上讲,它们是:
- 配置 GRUB 以隐藏其自己的菜单并仅启动其默认条目。(您应该能够在 GRUB 启动后立即通过按空格键来启动旧内核,IIRC;但时间可能有点棘手。)Liso 的回答应该可以帮助您做到这一点。
- 使用 rEFInd 条目直接启动 Linux 内核,绕过 GRUB。这种方法可能是最简单的方法。当您从 rEFInd 启动 Ubuntu 时,它还为您提供了通过按 F2 或 Insert 键(而不是 Enter 键)来选择较旧的内核的选项。
- 安装另一个引导加载程序,将其配置为不显示菜单即可启动,然后使用它。有许多选项可用;请参阅我关于这个主题的页面有关详细信息,请参阅。不过,这种方法可能是最复杂的,而且很可能与前两种方法相比没有任何优势。我提到它只是为了完整性。
在这三种情况下,您可能会遇到的一个问题是 Ubuntu 的 rEFInd 中有多个条目。据我了解,您现在看到两个这样的条目,其中一个启动 GRUB,另一个启动您的 Linux 内核。(您可以通过在 rEFInd 菜单中突出显示它们时出现的描述来区分它们。)如果您想隐藏未使用/不需要的条目,您可以通过多种方式进行,如所述这里在 rEFInd 文档中。最好的方法可能是编辑/boot/efi/EFI/refind/refind.conf
:添加一行dont_scan_dirs
指定ubuntu
(隐藏 GRUB);或取消注释该scan_all_linux_kernels
行并将其设置为false
以防止 rEFInd 显示您的 Linux 内核。如果您更喜欢通过 GRUB 启动,删除内核所在文件系统的 rEFInd 驱动程序可能更简单。(驱动程序应该在 中/boot/efi/EFI/refind/drivers_x64
,假设您使用的是 x86-64 系统。)
话虽如此,最好还是保留冗余条目,因为这样万一其中一个出现故障,你还有额外的启动选项。例如,GRUB 可能会配置错误,因此通过内核及其 EFI 存根加载程序启动的选项可能是值得的;或者内核更新可能会破坏 EFI 存根加载程序,这种情况至少已经发生过一次(请参阅错误 #1649326)。因此,拥有备份启动路径是值得的,即使它增加了一个您很少使用的冗余菜单项到 rEFInd。
答案2
我不知道如何禁用它,但您可以尝试隐藏 grub 启动菜单,这很容易做到。
按下键盘上的Ctrl+ Alt+T打开终端,粘贴并运行以下命令:
gksudo gedit /etc/default/grub
弹出窗口会询问您的
sudo
密码,请填写。这是因为您要修改grub
配置文件(需要 root 权限)。当文件打开时,删除
#
前面的符号GRUB_HIDDEN_TIMEOUT=0
并设置GRUB_HIDDEN_TIMEOUT_QUIET=true
。因此它看起来像:GRUB_DEFAULT=0 GRUB_HIDDEN_TIMEOUT=0 GRUB_HIDDEN_TIMEOUT_QUIET=true GRUB_TIMEOUT=10 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" GRUB_CMDLINE_LINUX=""
- 保存文件,打开终端并运行
sudo update-grub
来源:http://ubuntuhandbook.org/index.php/2014/06/ubuntu-1404-hide-grub-menu/