我想禁用启动菜单,但仍然能够通过按住某个键来启动 Ubuntu 而不是 Windows。
这可能吗?
答案1
根据您的需要,您必须编辑 GRUB 配置:
使用 sudo 从终端执行 /etc/default/grub
sudo gedit /etc/default/grub
全新安装应如下所示:
# This file is sourced by update-grub, and its variables are propagated
# to its children in /etc/grub.d/
GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT="3"
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
# 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 entrys
## Bis GRUB 1.98
#GRUB_DISABLE_LINUX_RECOVERY="true"
## Ab GRUB 1.99
#GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
要自动启动 Windows,你必须更改
GRUB_DEFAULT=0
GRUB 中 Windows 条目的编号。请记住,菜单条目从 0 开始,而不是从 1 开始。
要禁用菜单,您必须启用
#GRUB_HIDDEN_TIMEOUT=0
通过删除“#”并将值从“0”更改为“1”,如下所示:GRUB_HIDDEN_TIMEOUT=1
。
您还必须禁用
GRUB_TIMEOUT="3"
通过在行首放置一个“#”,如下所示:#GRUB_TIMEOUT="3"
编辑完成后,保存文件,然后运行以下命令应用更改:
sudo update-grub
如果您想要启动 Ubuntu(或任何其他操作系统),您必须Shift ⇧在启动时按住,然后会显示 GRUB 菜单,您可以选择 Ubuntu。
答案2
您可以配置grub2来做你想做的事。你可以配置grub2/etc/default/grub
通过在运行时编辑Ubuntu。
sudo -i gedit /etc/default/grub
它会要求您输入密码。这意味着您的系统正在试图保护您免受自己的攻击。确保您知道自己在做什么。不要轻信我的话。阅读文档。如果您不清楚自己在做什么,最好在sudo cp /etc/default/grub /etc/default/grub.old
编辑文件之前创建一个保留默认设置的备份 ( )。
输入密码后,编辑应该会打开。下面是我打开时看到的内容。由于我没有双启动,所以您会看到与此略有不同的内容:
# 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_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=""
# 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"
你想要的是(1)蛴螬引导Windows 7的默认并(2)蛴螬除非按下某个键,否则菜单是不可见的。 (1)可以通过改变 的值来实现DEFAULT_GRUB=
, (2)可以通过改变 的值来实现GRUB_HIDDEN_TIMEOUT=
。
- 有几种方法可以实现这一点。您可以设置
DEFAULT_GRUB=#
,其中#
是条目数Windows 7的在里面蛴螬菜单。条目从 开始0
,因此如果Windows 7的是第三个菜单选项,您需要设置DEFAULT_GRUB=2
。您还可以设置DEFAULT_GRUB="xxxx"
,其中"xxxx"
是您的 Windows 7 安装在 grub 菜单中的名称。如果您选择后一个选项,请确保包含引号 (")。
保存文件并退出 gedit。
- 您需要取消注释
GRUB_HIDDEN_TIMEOUT
并注释掉该GRUB_TIMEOUT
行。我们还需要将隐藏的超时值设置为 1。
运行以下命令进行更改:
sudo sed -i 's/^\#GRUB_HIDDEN_TIMEOUT/GRUB_HIDDEN_TIMEOUT/g;s/^GRUB_TIMEOUT/#GRUB_TIMEOUT/g;s/^GRUB_HIDDEN_TIMEOUT=.*$/GRUB_HIDDEN_TIMEOUT=1/g'
最后,运行以下命令将更改应用到 grub,一切就绪:
sudo update-grub
当你重新启动计算机时,它应该启动Windows 7的无需展示蛴螬菜单。只需shift在启动过程中按下该键,蛴螬将出现菜单。