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

评论

您能提供更多信息吗?您对“ grub time”的含义是什么,默认的操作系统是什么。在您的grub菜单中,有哪些不同的行?

grub time表示我必须在BIOS启动屏幕上选择操作系统时的倒计时时间。很抱歉,但我不完全知道操作系统选择菜单的名称,因此我将其发布为grub时间。

#1 楼


按Alt + F2,键入gksudo gedit /etc/default/grub,按Enter键并输入密码。

您将看到以下内容:

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 + Alt + T打开终端并输入sudo update-grub以应用您刚刚的更改完成
重新启动,您应该会看到超时/默认条目更改


链接的问题:


如何设置Windows进行启动引导加载程序中的默认设置?


评论


谢谢@Raja,但是grub / grub2是主要区别。如果您有正确的grub2,我会很乐意编辑您的答案,而不是再提出一个:)

–ish
2012年6月8日上午10:24

谢谢您的回答有效,但是您能为我解释第二点和第三点(隐藏​​的超时和grub的隐藏线)是什么意思。

–流星
2012年6月8日在13:34

请不要建议任何人通过设置任意索引来更改默认grub选项。这是非常不直观的,很可能导致灾难。用户可能输入了错误的密码,或者在升级过程中可能更改了密码,从而导致意外的行为。

–塞林
2015年4月12日17:52



这需要与当前grub菜单的双重级别相关的更新。

– Hannu
15年8月21日在9:48

@Cerin您的建议是什么?

– phil294
17年1月24日在13:08

#2 楼

如果您在上面的示例(/ 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_TIMEOUT设置为-1您想将“ grub time”设置为不确定。换句话说,它将永远不会自动启动。您必须进行选择。

最后,要回答您的问题,以下是直接来自上述参考文档的“隐藏线”的描述:

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 Customizer的应用程序。它更加容易。
可以通过以下方式安装它:
sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer

如果在添加ppa时遇到错误,则可能已经包含了grub-customizer。尝试在不添加ppa的情况下进行安装。
有一篇有关如何做的极客文章,如何轻松配置Linux GRUB 2引导菜单。另外,在Ubuntu论坛上有一个已解决的线程,其中提到了此工具,GRUB 2中的更改启动顺序。
此软件的一些屏幕截图:




评论


这需要与当前grub菜单的双重级别相关的更新。

– Hannu
15年8月21日在9:48

很好的解决方案。谢谢。

–耿鹏和
20年5月1日在17:54

Grub-customizer目前包含在我的发行版(debian测试)中,因此很有可能也包含在Ubuntu中。添加ppa失败,并显示错误(无发行文件)。我的猜测是,ppa被包括在发行版之后就停止了。

– Xavras Wyzryn
20-10-25在19:18

#4 楼

我遵循了第一个答案,但是如果您使用Windows 7 Pro和Ubuntu 16.04双重引导,则似乎需要更新。还要确保BIOS中的安全启动已关闭。

a)首先,当我认为他想使用它来打开终端窗口时,请说使用Alt + F2。就我而言,它是Ctrl + Alt + T。b)在第一个条目gksudo gedit /etc/default/grub中,默认情况下在Ubuntu 16.04中未安装gksudo命令。要解决此问题,请在终端中执行以下操作:

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

然后键入:

gedit /etc/default/grub并按Enter。

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

d)Ctrl + Q退出。

e)接下来,键入sudo update-grub并输入

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

g)重新启动

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

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

,单击开始菜单,然后在搜索框中键入CMD
右键单击CMD行,该行应位于右键单击所产生的屏幕顶部。 />单击以管理员身份运行。
在命令行中键入bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi。此项具有在Windows引导管理器中注册grub菜单的作用。 (信用:Grub在Windows 8.1 Ubuntu 13.10双启动启动时未显示)
最后,我重新启动回Windows。

希望对您有所帮助。

评论


您能否链接到“答案1中的插图”?-我找不到您的意思。

–汤姆·黑尔
16-09-22在5:49

另外,“我遵循了第一个答案”。您可以以我的“贷方为:”格式为例。很棒的第一篇文章。欢迎来到AskUbuntu。

–汤姆·黑尔
16-09-22在6:25



在运行诸如gedit之类的图形应用程序时,我以奇怪的方式中断了X窗口。我建议改用像nano这样的基于文本的编辑器。

– Arthur Tacca
17年6月11日在15:46

Alt + F2是在后台运行命令的统一快捷方式。在打开的菜单中,您可以像在终端中一样输入任何命令。但是由于它无法打开终端,您将看不到任何终端输出,也无法与终端进行交互。这就是为什么您通常将其用于启动gedit之类的GUI程序之类的原因。另外,您不能使用sudo,因为您需要使用终端。这就是为什么他们使用gksudo(GUI sudo)的原因。如果在终端中执行命令,则可以只使用普通的sudo,如下所示:sudo gedit / etc / default / grub不需要sudo -i。

–塞巴斯蒂安
17年7月20日在9:03



@Sebastian对于启动图形应用程序,sudo -H更好,即sudo -H gedit / etc / default / grub。

– wjandrea
18 Sep 9'在0:49



#5 楼

自从GRUB引入以来,使用带有数字的默认条目感到惊讶。这真是个坏主意。在许多情况下会导致编号更改(即使用备份条目进行更新)。
相反,请使用SAVED来记住上次选择的条目。用以下内容更新/etc/default/grub
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

然后应用GRUB更新:
sudo update-grub

参考:http://www.gnu.org/software/grub/manual/grub/grub。 html#Simple-configuration

评论


这不是一个大问题,但这不能解释如何或在何处进行这些更改。您可能想要链接到另一个答案。

– wjandrea
'18 Sep 9'在0:55

是的,抱歉,评论已更新:-)

– CeDeROM
19/12/9在21:49

#6 楼

在16.04上,这对我也不起作用。

,但是我通过更改文件/boot/grub/grub.cfg

sudo vim /etc/default/grub


edit grub

sudo update-grub
sudo chmod u+w /boot/grub/grub.cfg
sudo vim /boot/grub/grub.cfg


更改超时值

###segment in /boot/grub/grub.cfg:
set timeout_style=menu
if [ "${timeout}" = 0 ]; then
  #set timeout=10 # comment this original
  set timeout=0 # add this
fi

sudo chmod -w /boot/grub/grub.cfg
reboot


#7 楼

无需任何代码即可轻松完成。只需按照以下步骤操作即可。


打开文件系统。
打开/etc文件夹。
打开default文件夹。
查找grub文件并用leafpad打开(或其他任何文本编辑器。)
根据需要设置GRUB_TIMEOUT并保存。
现在打开终端并键入update-grub
重新启动系统。

就这样。

#8 楼

我认为您有这样一行:
GRUB_TIMEOUT_STYLE =隐藏

将其更改为
GRUB_TIMEOUT_STYLE = menu

,并注释所有与HIDDEN功能有关的行。