我在使用 Linux/Windows 双启动系统时遇到了问题。如果打开系统电源或重新启动系统,我的 grub 菜单就会消失,只剩下这个 Grub 屏幕:
但是,如果我启动并打开 BIOS...并且不进行任何更改,只需退出...它就可以起作用...
我已经达到了 linux-fu 的极限,因此如果能提供任何帮助我将非常感激。
**** 更新 ****
我已经跑了
sudo update-grub
并且没有效果。这是我的 /etc/default/grub 文件的内容:
GRUB_DEFAULT="0"
GRUB_TIMEOUT_STYLE="hidden"
GRUB_TIMEOUT="10"
GRUB_DISTRIBUTOR="`lsb_release -i -s 2> /dev/null || echo Debian`"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
# 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"
~
答案1
最简单的修复方法可能就是运行以下命令:
$ sudo update-grub
这显然会运行 grub 更新程序。这应该会重置,以便恢复预期的默认设置。
如果这不起作用,另一种让 Grub 菜单在启动时显示的方法是明确定义行为。文件中/etc/defaults/grub
可能有一行,也可能没有,内容如下
$ GRUB_HIDDEN_TIMEOUT= N
其中N
是一个数字。这定义了 grub 菜单在启动时应显示的时间恰好为N
秒。一旦该时间过去,将加载默认菜单。
您所描述的行为就像将其设置为零一样。检查defaults/grub
以查看行
$ GRUB_HIDDEN_TIMEOUT=0
存在。如果存在,则将 更改0
为 45 到 90 之间的数字(或您希望显示的秒数)。更改后,保存文件并重新启动。请记住,如果您在命令行编辑器(如 、nvim
、nano
或emacs
)中将其拉出gedit
,则需要使用sudo
,否则您将无法保存。
答案2
我认为我没有答案,但我遇到了类似的问题,但我通过使用 REfind 作为启动管理器解决了这个问题,然后进入 bios 并将其设为启动顺序中的第一个,然后返回到我的 xubuntu 并将其设为 uefi 启动顺序中的第一个,然后再次返回 windows 并使用 efi 工具编辑器将其再次设为启动顺序中的第一个,最后我又进行了一次 bios 启动顺序更改,使其再次位于顶部,然后它就正常工作了,我确信这可能没有帮助,但我认为这可能与此有关