Nach dem Aktivieren des Ruhezustands wird beim Start das Grub-Menü mit einer Zeitüberschreitung von 30 Sekunden angezeigt

Nach dem Aktivieren des Ruhezustands wird beim Start das Grub-Menü mit einer Zeitüberschreitung von 30 Sekunden angezeigt

Mein System ist kein Dual-Boot, sondern ein Einzelbetriebssystem, UBUNTU 16.04. Bevor ich die folgenden Änderungen vornahm, erschien der Grub-Bildschirm beim Start nicht (OK).

Nachdem Sie diese Schritte ausgeführt habenWie kann ich unter Ubuntu 16.04 in den Ruhezustand wechseln?So aktivieren Sie den Ruhezustand im Systemmenü:

  1. Öffnen Sie das Terminal und geben Sie ein;

    sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
    
  2. fügen Sie die Zeilen in die leere Datei ein;

    [Re-enable hibernate by default in upower]
    Identity=unix-user:*
    Action=org.freedesktop.upower.hibernate
    ResultActive=yes
    
    [Re-enable hibernate by default in logind]
    Identity=unix-user:*
    Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
    ResultActive=yes
    
  3. ^X und dann Y zum Speichern (ein Dateiname wurde vorgeschlagen und ich habe ihn akzeptiert, ohne ihn zur Kenntnis zu nehmen).

  4. Führen Sie einen Neustart durch, damit die Änderungen wirksam werden.

Der Ruhezustand funktioniert jetzt und wird im Menü angezeigt (OK), aber bei jedem Neustart erhalte ich beim Start ein Grub-Menü mit einer vollen 30-Sekunden-Zeitüberschreitung (NOK). Ich habe versucht, mit den Timeout-Einstellungen für das Grub-Menü herumzuspielen, erhalte aber immer noch die volle 30-Sekunden-Zeitüberschreitung. Wie verhindere ich, dass das Grub-Menü angezeigt wird, und reduziere meine Startzeit auf den Wert, den sie vor diesen Änderungen hatte?

Aktuelle Grub-Einstellungen;

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=""

Antwort1

Bei mir trat nach dem Ruhezustand ein Timeout von 30 Sekunden auf. Die nicht dokumentierte Einstellung GRUB_RECORDFAIL_TIMEOUThat bei mir funktioniert:

GRUB_RECORDFAIL_TIMEOUT=$GRUB_TIMEOUT

SehenDasAntworten Sie für weitere Einzelheiten.

Antwort2

Es tut mir leid, die andere Antwort herunterzustimmen, aber der dort gegebene Rat ist nicht fundiert, da er das Zeitlimit für den Fall ändert, dass das Booten fehlschlägt (aufgrund eines Hardwareausfalls oder aus irgendeinem Grund).

Grub verfügt über eine spezielle Datei, in der aufgezeichnet wird, ob der letzte Startvorgang erfolgreich war oder nicht: Zunächst wird der Startvorgang mithilfe eines recordfailBits als fehlgeschlagen aufgezeichnet, und das Hauptbetriebssystem entfernt dieses Bit, wenn es übernimmt. Auf diese Weise kann Grub beim nächsten Start feststellen, dass das Bit recordfailnoch vorhanden ist, wenn der Startvorgang fehlgeschlagen ist, und dem Benutzer mehr Zeit geben, zu prüfen, was passiert ist.

Aber beim Auftauen aus dem Ruhezustand entfernt das Betriebssystem dieses Bit nicht. Wir müssen es also durch ein Skript dazu anweisen. Eine Lösung wäre, eine Datei /lib/systemd/system-sleep/10_grubmit folgendem Inhalt anzulegen:

#!/bin/sh

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

Machen Sie es dann ausführbar mitsudo chmod +x 10_grub

Eine andere Möglichkeit besteht darin, einen systemd-Dienst zu verwenden, wie erklärtDort.

verwandte Informationen