除非按下任何键,否则自动启动 Windows,然后启动 Ubuntu

除非按下任何键,否则自动启动 Windows,然后启动 Ubuntu

我想禁用启动菜单,但仍然能够通过按住某个键来启动 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=

  1. 有几种方法可以实现这一点。您可以设置DEFAULT_GRUB=#,其中#是条目数Windows 7的在里面蛴螬菜单。条目从 开始0,因此如果Windows 7的是第三个菜单选项,您需要设置DEFAULT_GRUB=2。您还可以设置DEFAULT_GRUB="xxxx",其中"xxxx"是您的 Windows 7 安装在 grub 菜单中的名称。如果您选择后一个选项,请确保包含引号 (")。

保存文件并退出 gedit。

  1. 您需要取消注释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在启动过程中按下该键,蛴螬将出现菜单。

相关内容