![Grub 菜单工作但被隐藏,无法使其可见](https://linux22.com/image/1165871/Grub%20%E8%8F%9C%E5%8D%95%E5%B7%A5%E4%BD%9C%E4%BD%86%E8%A2%AB%E9%9A%90%E8%97%8F%EF%BC%8C%E6%97%A0%E6%B3%95%E4%BD%BF%E5%85%B6%E5%8F%AF%E8%A7%81.png)
升级到 19.04 后,Grub 菜单被隐藏了。它仍然有效,我可以通过盲目找到条目并按回车键来启动 Windows 10 和 Ubuntu。我尝试编辑/etc/default/grub
并随后运行sudo update-grub
,但没有变化。现在它看起来是这样的:
# 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_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
GRUB_TIMEOUT_STYLE=menu
GRUB_HIDDEN_TIMEOUT_QUIET=false
# 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"
我无法使用Shift
或Esc
使其可见。按下其中任何一个后,Grub 不再工作,我需要关闭笔记本电脑然后再打开才能启动。
编辑:不确定这是否有帮助,但我刚刚意识到,如果我退出 BIOS 时进入 BIOS,grub 菜单就会毫无问题地显示出来。下次启动时,grub 菜单又不可见了。
答案1
我也遇到了同样的问题。
尝试了几种解决方案后,终于有一种方法奏效了(详细说明,以防别人需要):
/etc/default/grub
通过在正确的文件夹中的终端运行进行编辑:sudo gedit grub
取消注释该行
#GRUB_TERMINAL=console
。正确版本应为:GRUB_TERMINAL=console
保存文件。
在终端中运行:
sudo update-grub
重新启动。现在应该会出现 GRUB 菜单。
注意:我不知道为什么,但是图形终端无法工作。控制台有点丑,但我不在乎。
答案2
我也遇到了这个问题。您的描述让我找到了最终的解决方案:GRUB-GFXMODE=auto
是这个问题。
我通过按进入 GRUB 控制台C(在我取消注释 GRUB 控制台输出以便再次可以看到 GRUB 菜单之后)并运行了没有返回任何内容的/etc/default/grub
命令。videoinfo
好吧,如果自动模式不起作用,任何输出都很困难 ;-) 这就是问题的原因。系统不会自动检测屏幕分辨率。需要手动输入合适的值。
我将其更改为GRUB-GFXMODE=1280x800
,这是我的笔记本电脑的已知分辨率,您的值当然可能有所不同。grub
可以在图形模式下编辑文件,文件管理器以 root 模式打开(您需要 root 权限才能更改系统文件),对于命令,grub-update
我当然使用终端,如中所述Felipe 的帖子。
最后,我又看到了漂亮的 GRUB 屏幕 :-)
答案3
对于 Manjaro 21.2 及以上版本或 Ubuntu 20.04 及以上版本,在 /boot/grub/grub.cfg 中添加以下几行
videoinfo
并在/etc/default/grub
注释中输入以下行以启用 grub 主题
# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console
如果这个方法有效,你可以将这些行添加到 /etc/grub.d/00_header 中。这个解决方案在 Ubuntu 18.04 中不起作用,可能是因为我没有更努力,我不知道。
此解决方案假设 grub 在视频模块完全加载到内存之前向其发出了主题编译指令。这会导致视频模块崩溃,但 grub 不会受到影响。因此,此解决方案强制 grub 在模块加载时在控制台上停留一段时间,然后最终转到 gfxmode
答案4
我遇到了同样的问题并且我无法忍受丑陋的文本/控制台菜单。
答案来自汉克·W解决了它但每次重启时视频信息都会闪烁,因此可以使用另一个命令来代替videoinfo
相同的目的:
sleep .5
这样,grub 需要一段时间来加载模块,然后才能进入图形模式,并且不会在屏幕上显示任何内容。
笔记:您可以尝试使用该sleep
值(以秒为单位)来让它正常工作,而不会花费太多时间。我发现它sleep .1
在我的系统中仍然可以正常工作。
笔记:如果您不确定如何在文件中包括该命令/etc/grub.d/00_header
,以下是我找到的方法(请注意,编辑 grub 文件可能会导致你的系统无法启动)
sudo gedit /etc/grub.d/00_header
找到下面这行set gfxmode
set gfxmode=${GRUB_GFXMODE}
load_video
insmod gfxterm
并在 load_video 之前插入命令,如下所示:
set gfxmode=${GRUB_GFXMODE}
sleep .1
load_video
insmod gfxterm
在那次跑步之后
sudo grub-mkconfig -o /boot/grub/grub.cfg
最后重启。对我来说,它成功了!