如何设置 grub 超时和 grub 默认启动项?

如何设置 grub 超时和 grub 默认启动项?

在 Ubuntu 12.04(或更高版本)中,由于我双启动 Windows(7/8)和 Ubuntu(12.04 或更高版本),如何设置 GRUB 时间和默认操作系统(我在启动时看到的)?

答案1

  • 以 root 身份编辑文件/etc/default/grub。为此,请按Ctrl+ Alt+打开终端T,然后运行此命令(系统将要求您输入密码):

    sudo gedit /etc/default/grub
    
  • 您将在文本编辑器中看到以下内容:

    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=""
    
  • 您可以将默认值从 0 更改为任意数字,对应于 Grub 启动菜单中的条目(第一个条目是 0,第二个是 1,等等)

  • 您可以更改“隐藏超时”(无菜单);还可以显示倒计时(GRUB_HIDDEN_TIMEOUT_QUIET=false

  • 您可以通过注释掉行首带有的两GRUB_HIDDEN行来强制显示 grub 菜单#

  • 并设置grub菜单超时时间(默认为10秒)

  • 进行更改,按Ctrl+S保存并按Ctrl+Q退出

  • 重要的:使用Ctrl++打开终端并输入以应用刚刚所做的更改AltTsudo update-grub

  • 重新启动,你应该看到你的超时/默认条目改变


相关问题:

答案2

如果您阅读上面示例中正在编辑的文件 (/etc/default/grub),您会注意到前几行指示您update-grub在进行更改后运行,以更新 grub 读取的实际文件以“获取其指令”(/boot/grub/grub.cfg)。请注意,您必须sudo先使用该命令实际运行它,因为您需要 root 权限才能实际运行该命令(这就是上面的发帖人说要键入 的原因sudo update-grub)。这将导致您所做的更改写入 /boot/grub/grub.cfg。接下来的几行告诉您可以通过键入 来阅读该文件(再次是 /etc/default/grub)中选项的完整文档info -f grub -n 'Simple configuration'

也就是说,如果您想将“grub 时间”设置为无限期,请将 GRUB_TIMEOUT 设置为 -1。换句话说,它永远不会自动启动。您必须做出选择。

最后,为了回答您的问题,以下是来自上述文档的关于这些“grub 隐藏线”的描述:

GRUB_HIDDEN_TIMEOUT
    Wait this many seconds for a key to be pressed before displaying
    the menu.  If no key is pressed during that time, boot
    immediately.  Unset by default.

GRUB_HIDDEN_TIMEOUT_QUIET
    In conjunction with `GRUB_HIDDEN_TIMEOUT', set this to `true' to
    suppress the verbose countdown while waiting for a key to be
    pressed before displaying the menu.  Unset by default.

我希望这有帮助!

答案3

您可以使用一个名为Grub 定制器. 这更加容易。

您可以通过以下方式安装:

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer

如果添加 ppa 时出错,则可能已包含 grub-customizer。请尝试在不添加 ppa 的情况下进行安装。

有一篇关于它的 How-To Geek 文章,如何轻松配置 Linux GRUB 2 启动菜单。此外,Ubuntu 论坛上有一个已解决的帖子,更改 GRUB 2 中的启动顺序提到了这个工具。

以下是该软件的一些屏幕截图:

截屏

截屏

答案4

我按照第一个答案操作,但如果您使用 Windows 7 Pro 和 Ubuntu 16.04 进行双启动,似乎需要更新。另外请确保 BIOS 中的安全启动已关闭。

a) 首先,我认为他想使用 + 来打开终端窗口,但他却说使用Alt+ 。在我的例子中,它是+ + 。F2CtrlAltT

b) 在第一个条目中,gksudo gedit /etc/default/grubgksudo命令未默认安装在Ubuntu 16.04。要解决此问题,请在终端中执行以下操作:

sudo -i然后按下Enter并输入您的密码,然后Enter再次按下。

然后输入:

gedit /etc/default/grub然后按Enter

c) 您现在将看到蛴螬更改菜单,如答案 1 所示。按照他的回答,直到他找到Ctrl+S以保存更改。这在 Ubuntu 16.04 中不起作用,但您应该在屏幕的右上角看到一个保存按钮。单击它。

d)Ctrl+Q退出。

e) 下一类型sudo update-grubEnter

f) 输入exit。您需要执行两次。

g)重新启动

我发现在我的电脑上登录几次后,启动过程不会显示蛴螬启动时出现此屏幕,因此我无法进入 Ubuntu,因为我已将 Windows 设置为默认启动项,并设置了 7 秒的延迟,以防我想进入 Ubuntu。

要解决此问题,您需要进入 Windows。

  1. 单击开始菜单并CMD在搜索框中输入。

  2. 右键单击 CMD 行,该行应位于右键单击后显示的屏幕顶部。

  3. 点击以管理员身份运行

  4. 在命令行中输入bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi。此条目的作用是向 Windows 启动管理器注册 grub 菜单。(来源:Windows 8.1 Ubuntu 13.10 双启动时不显示 Grub

  5. 最后,我重新启动回到 Windows。

我希望这有帮助。

相关内容