我的系统不是双启动,而是在金属上运行标准的Ubuntu桌面系统(我认为在VM中运行是相同的)。

在启动时按c不会导致GRUB菜单出现(我相信它对双引导系统有用)。

如何获取GRUB菜单以在单引导系统上显示自己?

评论

+1了一个很好的问题,公开了Ubuntu引导过程的一个基本未记录的功能,这个答案是我在通过grub.cfg进行爬网时偶然发现的。感谢您将其提升到最高(Googleable)级别。

归功于应归功于信贷...这个问题是我的另一个问题(深藏在评论中)。豪尔赫·卡斯特罗(Jorge Castro)建议,将其本身的问题作为一个问题提出来是一个好主意……(所以要对他表示敬意……我很高兴沐浴在反射的光芒中;)我可以看到……的价值。这是主要的Q / A。

#1 楼

如果使用BIOS引导,在加载Grub时按住Shift将出现菜单。当您的系统使用UEFI启动时,按Esc键。

要进行永久更改,您需要编辑/etc/default/grub文件-在GRUB_HIDDEN_TIMEOUT=0行的开头放置一个“#”符号。

保存更改并运行sudo update-grub以应用更改。

文档:https://help.ubuntu.com/community/Grub2

评论


@codeMonk:糟糕! (我删除了先前的评论,因为我走的路不正确)...我最初误解了“ GRUB_TIMEOUT = 0”的上下文。您所指的上下文与GRUB菜单的“永久”显示有关...我认为您与“ Shift”键方法有关...的确,对于永久性重复显示,您既需要“ #GRUB_HIDDEN_TIMEOUT = 0“和” GRUB_TIMEOUT = * NON-ZERO *“,如答案中的链接所述(我已经双向测试了。)

– Peter.O
2010-12-3 17:24



保持左移对我不起作用:(

–尼克
17年4月30日在22:31

在Ubuntu 18.04中,我的/ etc / default / grub中没有GRUB_HIDDEN_TIMEOUT = 0行-而是GRUB_TIMEOUT_STYLE = hidden(引导过程中的移位对我不起作用(Dell?))。知道该怎么办吗?

–耶拿
18年8月22日在9:10

@jena我发现/ etc / default / grub顶部的建议很有帮助:即查看info -f grub -n'简单配置'。这说明了选项。使用GRUB_TIMEOUT_STYLE =菜单显示菜单。或按ESC(如果您将设置保留为隐藏,但要查看菜单)。

– bovender
19年2月18日在10:18

Grub在每个发行版中都会发生变化,请考虑添加版本信息。例如,事实仅适用于14.04。它肯定不再与18.04相关

–知道
19年4月12日在18:18

#2 楼

我已经尝试了Shift键和Space键,但是没有用。在启动时,只有Esc键适用于Ubuntu 14.04和16.04才能获取Grub Menu。

评论


同样在这里。只有ESCAPE密钥可用于Ubuntu 14.04。

– atmelino
2015年12月17日下午4:52

与Ubuntu 16.04相同-仅Escape可用。在文档(恢复模式)中应该提到这一点

–已配对
16年4月23日在13:30

Ubuntu 14.04在这里。没什么用。

– yPhil
16年5月16日在23:25

Shift键可以在我的v16.04上正常工作。

– Sopalajo de Arrierez
16 Sep 26 '20:56



我不得不反复按ESC键,而不是按住它。让我们用6种方法来做同样的事情。 Linux很有趣。

–杰弗里·布拉特曼(Jeffrey Blattman)
18年2月23日在23:37

#3 楼

在Ubuntu 18.04中,GRUB_HIDDEN_TIMEOUT=0中没有/etc/default/grub行-而是GRUB_TIMEOUT_STYLE=hidden。根据info -f grub -n 'Simple configuration':如果未设置此选项或将其设置为“菜单”,则GRUB将显示菜单,然后等待GRUB_TIMEOUT设置的超时时间到期后再启动默认条目。按下键会中断超时。


因此,如果要删除该行或将其注释为:

#GRUB_TIMEOUT_STYLE=hidden


并运行sudo update-grub,则默认情况下将显示菜单。

18.04 +非双引导,在grub中启动5秒:


GRUB_TIMEOUT_STYLE = false

GRUB_TIMEOUT =(无值)。适用于LVM。


评论


完善!使用此QEMU设置进行了测试:askubuntu.com/questions/924913/…

– Ciro Santilli郝海东冠状病六四事件法轮功
19年1月16日在9:53

也适用于18.10

–预算技术
19年1月31日下午4:46

这在我与Lubuntu 19.04一起在2010年末发布的MBP中起作用。

– SurvivalMachine
19年5月20日在17:22

修改之后是否需要运行sudo update-grub?

–康纳·麦考密克(Connor McCormick)
19-10-29在17:20

是的,运行update-grub。应该在回答

– qwr
19年11月3日在6:02

#4 楼


按住Shift键,直到看到“抓取消息”。
在消息后,按住Shift键,直到出现菜单。


评论


这是帮助我最终进入的细微差别!谢谢! :)

– ATSiem
14-10-24在3:35



那样对我不起作用。不管我对这个糟糕的SHIFT键做什么,此Intel NUC都会跳过grub菜单:(

– yPhil
16年5月16日在23:22

@yPhil英特尔NUC是吃Shift的怪胎。它在其他任何地方都可以使用。我很幸运Esc为我的NUC工作,但它似乎并不适合您,对吗?

–于富兰
18年8月24日在15:36

#5 楼

默认情况下,如果安装了第二个操作系统,则GRUB将显示菜单。如果仅安装了Ubuntu,则GRUB通常将在不显示菜单的情况下加载Ubuntu。要将GRUB重新配置为始终显示菜单:



编辑/etc/default/grub

设置GRUB_HIDDEN_TIMEOUT=(在=符号后没有值)。
设置GRUB_TIMEOUT=n以显示菜单n秒钟。

运行update-grub以根据/boot/grub/grub.cfg设置重新生成/etc/default/grub


您可以获取GRUB来显示菜单。即使默认的GRUB_HIDDEN_TIMEOUT=0设置生效:


如果您的计算机使用BIOS进行引导,则在加载GRUB时按住Shift键可以获得引导菜单。
如果您的计算机使用UEFI进行引导,请在加载GRUB时按Esc几次以获取引导菜单。

希望这消除了为何Shift对某些用户有效而Esc对其他用户有效的困惑。 br />

#6 楼

编辑/etc/default/grubsudo -H gedit /etc/default/grub)...

更改:

GRUB_TIMEOUT_STYLE=hidden


到:

GRUB_TIMEOUT_STYLE=menu


然后保存文件并退出编辑器。下次运行:

sudo update-grub 



GRUB_TIMEOUT_STYLE

如果未设置此选项或将其设置为menu,则GRUB将显示菜单和然后等待GRUB_TIMEOUT设置的超时到期,然后再引导默认条目。

如果将此选项设置为countdownhidden,则GRUB将在显示菜单之前等待GRUB_TIMEOUT设置的超时到期。如果在此期间按下ESC,它将显示菜单并等待输入。如果按下与菜单项关联的热键,它将立即启动关联的菜单项。如果超时在任何一个发生之前到期,它将启动默认条目。在countdown情况下,它将以单行显示剩余时间。

#7 楼

我听说过Shift可以做到。
但是我以前使用过Space并可以正常工作。

评论


我刚刚在两种情况下同时尝试了Shift和Space:在VM中和“在金属上” ...“ Shift”在两种情况下都有效...“ Space”在两种情况下都失败了...

– Peter.O
2010-12-3 15:39



如果您不能使用shift,请尝试转义。似乎可以在Ubuntu 12.10上为我工作。

–user530873
13年3月25日在23:34

Ubuntu 15.04。空格键起作用。谢谢!

– DmitryKanunnikoff
2015年10月8日,9:11

#8 楼

对于较新的Ubuntu版本,没有GRUB_HIDDEN_TIMEOUT,而是默认有设置为GRUB_TIMEOUT_STYLEhidden

打开文件sudo nano /etc/default/grub
GRUB_TIMEOUT_STYLE的值从hidden更改为menu,并确保未设置GRUB_TIMEOUT设置为0然后运行

sudo update-grub

完成!

#9 楼

对我来说,我发现问题是我没有将USB记忆棒插入计算机。我想计算机正在尝试从USB记忆棒引导。
一旦我卸下了USB记忆棒,我可以按shift或esc或space键(我想这取决于您使用的Ubuntu版本)。