当前位置: 首页>>技术教程>>正文


如何隐藏在启动开始时显示的GRUB菜单?

, , ,

问题描述

我停止了双启动,我不想再选择操作系统了。我想直接启动到Ubuntu 12.04而不看GRUB菜单。

我怎样才能做到这一点?

最佳解决办法

您只需更改grub设置即可。

输入终端

sudo -H gedit /etc/default/grub

boot,dual-boot,grub2,ubuntu

GRUB_HIDDEN_TIMEOUT_QUIET=false更改为

GRUB_HIDDEN_TIMEOUT_QUIET=true

保存文件并退出

键入sudo update-grub

如果没有得到想要的结果,请参阅this bug

次佳解决办法

我通过禁用OS Prober解决了这个问题。我这样做是因为在模板/etc/grub.d/30_os-prober生成的部分中的/boot/grub/grub.cfg中,”timeout”被覆盖到10并且”style”被覆盖到菜单。

编辑/etc/default/grub并添加以下行:

GRUB_DISABLE_OS_PROBER=true

希望你觉得这个有用!

顺便说一下,我的完整/etc /default /grub是:

GRUB_DEFAULT=0
GRUB_TIMEOUT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_DISTRIBUTOR= [...]
GRUB_DISABLE_OS_PROBER=true
GRUB_RECORDFAIL_TIMEOUT=0

快乐的编码

第三种解决办法

我尝试了他们没有工作的所有提示,最终将超时时间减少到零,如下所示:

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

第四种办法

您需要在/etc/default/grub编辑文件以防止显示grub菜单。

默认情况下,该文件中的条目如下所示。


GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=false
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
  • 从第二行删除#标记,然后

  • GRUB_HIDDEN_TIMEOUT_QUIET=false行更改为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命令,并重新启动以查看结果。

第五种办法

我有同样的问题,这里没有任何提示工作!唯一的方法是手动更改/boot/grub/grub.cfg。在这个文件的某个时刻,他使超时达到10!所以,只需评论这些行

if [ "${timeout}" = 0 ]; then
  set timeout=10
fi

但是,你永远不能再做update-grub,否则它会回到同一个文件,超时再次变为10!保存文件(在vi中,即使你是su,也需要强制它!)。重新启动计算机,它会正常工作!

第六种办法

如果要删除引导条目,只需键入:

sudo update-grub

如果这不起作用,请安装启动管理器,如下所示:

sudo apt-get install startupmanager

有了startup-manager就可以了

  1. 选择入门启动,

  2. 选择分辨率,以及启动前等待的时间,

  3. 你也可以选择0来自动启动默认的boot-entry

第七种办法

Agustin一样,我发现我的问题出在OS Prober上。比他的解决方案更好一步,我发现this gist可以让你拥有自己的操作系统,但仍然隐藏菜单。您只需下载这两个文件,将它们放入/etc/grub.d,并赋予它们与该目录中其他模板相同的权限。

如果您想访问non-default操作系统,只需在启动时按住shift键。这将显示菜单。

第八种办法

我找到了解决问题的简单方法。

  echo "
  set timeout_style=hidden
  set timeout=2" | sudo tee --append /etc/grub.d/40_custom 

并更新grub。它将覆盖grub.cfg中的超时设置,因此无论你在/etc /default /grub中有什么。所以我有隐藏的菜单,可以通过移动调用2秒。

第九种办法

将以下行添加到/etc/default/grub

GRUB_FORCE_HIDDEN_MENU="true"

第十种办法

我一直看到很多人说建议的答案对他们不起作用。我尝试了几个选项和this one worked for me

编辑/etc/grub.d/00_header,找到:

if [ "\${recordfail}" = 1 ]; then
  set timeout=-1

把它改成……

if [ "\${recordfail}" = 1 ]; then
  set timeout=10

并运行update-grub。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/2164.html,未经允许,请勿转载。