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


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

, , ,

问题描述

在Ubuntu 12.04(或以上)中,我如何设置GRUB时间和默认操作系统(我在启动时看到),因为我是dual-booting Windows(7/8)和Ubuntu(12.04或更高版本)?

最佳解决思路

  • Alt + F2,输入gksudo gedit /etc/default/grubEnter并输入您的密码。

  • 您将看到以下内容: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等)

  • 您可以更改”hidden timeout”(无菜单);并显示倒计时(GRUB_HIDDEN_TIMEOUT_QUIET=false)

  • 您可以强制grub菜单通过在行的开头用#注释掉两个GRUB_HIDDEN行来显示

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

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

  • 重要提示:使用Ctrl + Alt + T打开一个终端,然后键入sudo update-grub以应用您刚刚完成的更改

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


链接问题:

次佳解决思路

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

也就是说,如果要将”grub time”设置为不确定,请将GRUB_TIMEOUT设置为-1。换句话说,它永远不会自动启动。你将不得不做出选择。

最后,回答你的问题,下面是直接来自above-referenced文档的那些“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.

我希望这有帮助!

第三种解决思路

您可以使用名为Grub Customizer的应用程序。这更容易。

你可以通过以下方式安装它

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

有关于它的How-To Geek文章,How to Configure the Linux GRUB 2 Boot Menu the Easy Way。另外,Ubuntu论坛上有一个解决的线索,Change boot order in GRUB 2提到了这个工具。

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

boot,dual-boot,grub2,ubuntu

boot,dual-boot,grub2,ubuntu

boot,dual-boot,grub2,ubuntu

第四种思路

我跟着第一个答案,但它似乎需要更新,如果你是双启动与Windows 7专业版和Ubuntu 16.04。还要确保BIOS中的安全启动已关闭。

a)首先,他说当我想他打算使用终端窗口时,使用Alt + F2。在我的情况下,它是Ctrl + Alt + T

b)在第一个条目gksudo gedit /etc/default/grub中,gksudo命令在Ubuntu 16.04中默认不安装。为了解决这个问题,在终端上执行以下操作:

sudo -i并按下Enter,然后输入您的密码,然后重新输入Enter

然后键入:

gedit /etc/default/grub并按Enter

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

d)Ctrl + Q退出。

e)下一种sudo update-grubEnter

f)键入exit。你需要这样做两次。

g)重新启动

我发现在我的计算机上几次登录后,启动过程不会在启动时显示grub屏幕,因此我无法进入Ubuntu,因为我已将Windows设置为默认启动,延迟时间为7秒,以防我想要进入Ubuntu。

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

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

  2. 右键单击CMD线,该线应位于右键单击所产生的屏幕顶部。

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

  4. 在命令行上键入bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi。此条目具有在Windows启动管理器中注册grub菜单的效果。 (贷:Grub not showing on startup for Windows 8.1 Ubuntu 13.10 Dual boot)

  5. 最后,我重新启动回窗户。

我希望这有帮助。

参考资料

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