首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >启用hibernate grub菜单后,在启动时出现30秒超时。

启用hibernate grub菜单后,在启动时出现30秒超时。
EN

Ask Ubuntu用户
提问于 2017-10-22 23:44:04
回答 2查看 2.4K关注 0票数 9

我的系统不是双重引导,只是单一操作系统Ubuntu16.04。在进行以下更改之前,Grub屏幕将不会在启动时出现(确定)。

按照我如何在Ubuntu16.04上冬眠?中的以下步骤在系统菜单中启用hibernate之后:

  1. 开放终端并进入;sudo纳米/etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
  2. 将这些行添加到空文件中;默认情况下,在upower中重新启用hibernate Identity=unix-user:* Action=org.freedesktop.upower.hibernate ResultActive=yes 默认情况下,在logind中重新启用hibernate. Identity=unix-user:* unix ResultActive=yes
  3. ^X然后Y保存(建议使用一个文件名,我没有注意到就接受了)。
  4. 重新启动以使更改生效。

hibernate现在可以工作,并出现在菜单(OK)中,但是每当我重新启动时,我就会在启动时得到一个Grub菜单,超时时间为30秒(NOK)。我试着玩Grub菜单超时设置,但仍然有30秒的超时时间。如何阻止Grub菜单的出现,并将启动时间减少到进行这些更改之前的状态。

当前的Grub设置;

代码语言:javascript
复制
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=""
EN

回答 2

Ask Ubuntu用户

发布于 2017-12-14 19:30:54

在冬眠之后,我经历了30多个超时,没有文档的设置GRUB_RECORDFAIL_TIMEOUT对我起了作用:

代码语言:javascript
复制
GRUB_RECORDFAIL_TIMEOUT=$GRUB_TIMEOUT

有关更多细节,请参见答案。

票数 5
EN

Ask Ubuntu用户

发布于 2020-04-29 18:57:04

我很抱歉否决了另一个答案,但那里的建议是不合理的,因为它将改变启动失败时的超时(由于硬件中断或其他原因)。

Grub有一个特殊的文件,它记录最后一次引导是否成功:最初它将引导记录为使用recordfail位失败,而主操作系统在接管时删除该位。这样,如果引导失败,在下一次引导时,Grub可以检测到它的recordfail仍然存在,并给用户更多的时间来检查发生了什么。

但是当从冬眠中解冻时,操作系统并没有删除这个比特。所以我们必须通过写剧本来告诉它。一个解决方案是放置一个包含内容的文件/lib/systemd/system-sleep/10_grub

代码语言:javascript
复制
#!/bin/sh

case $1 in
        post)
                grub-editenv - unset recordfail
                ;;
esac

然后使用sudo chmod +x 10_grub使其可执行

另一种方法是使用systemd服务,如那里所解释的那样。

票数 3
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/967816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档