我的系统不是双重引导,只是单一操作系统Ubuntu16.04。在进行以下更改之前,Grub屏幕将不会在启动时出现(确定)。
按照我如何在Ubuntu16.04上冬眠?中的以下步骤在系统菜单中启用hibernate之后:
hibernate现在可以工作,并出现在菜单(OK)中,但是每当我重新启动时,我就会在启动时得到一个Grub菜单,超时时间为30秒(NOK)。我试着玩Grub菜单超时设置,但仍然有30秒的超时时间。如何阻止Grub菜单的出现,并将启动时间减少到进行这些更改之前的状态。
当前的Grub设置;
GRUB_DEFAULT="0"
GRUB_HIDDEN_TIMEOUT="0"
GRUB_HIDDEN_TIMEOUT_QUIET="true"
GRUB_TIMEOUT="1"
GRUB_DISTRIBUTOR="`lsb_release -i -s 2> /dev/null || echo Debian`"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""发布于 2017-12-14 19:30:54
在冬眠之后,我经历了30多个超时,没有文档的设置GRUB_RECORDFAIL_TIMEOUT对我起了作用:
GRUB_RECORDFAIL_TIMEOUT=$GRUB_TIMEOUT有关更多细节,请参见这答案。
发布于 2020-04-29 18:57:04
我很抱歉否决了另一个答案,但那里的建议是不合理的,因为它将改变启动失败时的超时(由于硬件中断或其他原因)。
Grub有一个特殊的文件,它记录最后一次引导是否成功:最初它将引导记录为使用recordfail位失败,而主操作系统在接管时删除该位。这样,如果引导失败,在下一次引导时,Grub可以检测到它的recordfail仍然存在,并给用户更多的时间来检查发生了什么。
但是当从冬眠中解冻时,操作系统并没有删除这个比特。所以我们必须通过写剧本来告诉它。一个解决方案是放置一个包含内容的文件/lib/systemd/system-sleep/10_grub:
#!/bin/sh
case $1 in
post)
grub-editenv - unset recordfail
;;
esac然后使用sudo chmod +x 10_grub使其可执行
另一种方法是使用systemd服务,如那里所解释的那样。
https://askubuntu.com/questions/967816
复制相似问题