我已经在 Windows 旁边安装了 Ubuntu 20.04。当我启动系统时,它会显示 grub 菜单 10 秒钟以在 Ubuntu 和 Windows 之间进行选择。我不想要那个菜单,只想在按下电源按钮后立即启动它。我查看了这个线程并添加GRUB_HIDDEN_TIMEOUT_QUIET=true
甚至更改GRUB_TIMEOUT
为0
然后运行sudo update-grub
。但它没有用,菜单仍然在启动时显示。这是我的/etc/default/grub
文件-
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
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=""
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
如何禁用它?
解决方案/tl;博士
解释
尽管UnKNOWn 的方法确实有效,但应尽可能避免修改由基本系统安装的文件。在这种情况下(即 Ubuntu 20.04), apt-file 显示
/etc/grub.d/30_os-prober
属于该软件包(对于位于 中的所有grub-common
文件也是如此,该命令用于编译最终的 GRUB 配置文件):/etc/grub.d/
update-grub
“apt-file search /etc/grub.d/30_os-prober”的输出
如果包
grub-common
将来更新,apt 会检测到更改并提示您决定它应该做什么(因为这两个选项 - 您修改的文件以及分发者未修改的文件 - 都是有效的)。在最坏的情况下,您将不得不手动比较和合并文件内容。那么,如果我们想在多重引导环境中隐藏 GRUB 菜单,我们有哪些选择呢?这一次,该
grub-common
软件包只想确保每个用户都可以在已安装的操作系统之间切换。因此,该脚本/etc/grub.d/30_os-prober
包含以下代码片段:该脚本(在
update-grub
命令执行后进行评估)基本上允许您为多重引导环境设置自定义超时 - 但它不允许超时为 0,因为新手用户可能不知道如何在没有其他操作系统的情况下启动其他操作系统一个明显的菜单。这意味着您可以设置GRUB_TIMEOUT
为 1,因此 GRUB 菜单会在引导默认引导选项之前显示一秒钟。但是我们怎样才能在不触及系统包安装的文件的情况下永久隐藏 GRUB 菜单呢?幸运的是,该
grub-common
软件包提供了一种应用一次性设置的工具。查看update-grub
命令评估的最后一个文件/etc/grub.d/41_custom
:好的,所以每次评估 GRUB 配置文件时(即在引导时)都会获取一个名为 的文件
custom.cfg
,该文件必须与实际的 GRUB 配置文件 ( ) 放在相同的位置。因此,让我们将所需的设置添加到此文件 ( ):/boot/grub/grub.cfg
/boot/grub/custom.cfg
通过 2 个 Ubuntu 20.04 操作系统的双启动测试
/etc/default/grub
编辑文件文件中的以下行像这样
并运行以下命令
这使得超时为 0,条件是如果有单个操作系统,它将坚持为 0,否则它将被覆盖为 10。
在
/etc/grub.d/30_os-prober
文件中,更改行至
这将防止在多操作系统的情况下将超时值更改为 10 秒。
从文件中查看函数“adjust_timeout”
/etc/grub.d/30_os-prober
当您想查看 grub 菜单时,
Esc
在 rite time 按下键将显示您。(仪式时间视情况而定,一般在 BIOS 菜单移交给 grub 菜单时间之后)如果您想更改默认操作系统,您可以从同一个文件进行设置
/etc/default/grub
。第一次,
Esc
在仪式时间点击进入 grub 菜单。然后从上数从 0 开始的数字,列出你最喜欢的 OS Entry..例如,我有两个 20.04 操作系统。一个在
/dev/sda2
,另一个在/dev/sda6
/dev/sda2
是默认的。如果我想把它/dev/sda6
作为默认操作系统,我需要找到它的编号,如下所示。因此,它的位置在第 2 位。
编辑文件
/etc/default/grub
并更改行至
然后运行以下命令
系统将直接启动到 Ubuntu 20.04
/dev/sda6