Wie kann man grub2 dazu bringen, sich an die letzte Wahl zu erinnern?

102

Grub2 - Community Ubuntu Documentation sagt Folgendes:

Das Speichern eines Betriebssystems kann durch Ausführen von sudo grub-set-default erreicht werden, wenn DEFAULT = saved in / etc / default / grub festgelegt ist. Es kann auch gespeichert werden, wenn GRUB_SAVEDEFAULT = true ebenfalls in / etc / default / grub festgelegt ist. In diesem Fall bleibt das Standard-Betriebssystem so lange bestehen, bis ein neues Betriebssystem manuell aus dem GRUB 2-Menü ausgewählt oder der Befehl grub-set-default ausgeführt wird.

Ich habe die Linien DEFAULT=savedund GRUB_SAVEDEFAULT=truein /etc/default/grubund lief sudo grub-set-default. Hier ist die Ausgabe:

$ sudo grub-set-default
entry not specified.
Usage: grub-set-default [OPTION] entry
Set the default boot entry for GRUB.

  -h, --help              print this message and exit
  -v, --version           print the version information and exit
  --boot-directory=DIR    expect GRUB images under the directory DIR/grub
                          instead of the /boot/grub directory

ENTRY is a number or a menu item title.

Report bugs to <[email protected]>.

Folge ich der Dokumentation nicht richtig? Was ist der richtige Weg, um dies zu tun?

Jay Sullivan
quelle
2
Nach dem Ändern der Grub-Datei führen Sie am besten immer " sudo update-grub" aus.
Julien Chau
Führen Sie einfach Folgendes aus: sudo grub-set-default saved So einfach ist das.
T. Coles

Antworten:

153

Die Dokumentation ist in diesem Fall falsch. Alle Variablen /etc/default/grubbeginnen mit GRUB_, es ist so GRUB_DEFAULT=saved, nicht DEFAULT=saved . Ich habe das Ubuntu-Wiki korrigiert, um das zu berücksichtigen.

Das offizielle Grub-Handbuch beschreibt dies korrekt: http://www.gnu.org/software/grub/manual/grub.html#Simple-configuration

Geben Sie Folgendes ein /etc/default/grub:

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

Dann renne:

sudo update-grub
Jordan Uggla
quelle
4
+1 für den Link, ich habe Ihre Antwort mit der Lösung bearbeitet, die für mich funktioniert hat (die ich aus dem von Ihnen bereitgestellten Link abgeleitet habe)
Jay Sullivan
Die Verknüpfung in dieser Antwort ist unterbrochen. 'Seite 404'.
SDLINS
soll ich bestehende Linie entfernen GRUB_DEFAULT=0?
Benutzer25
@ user25 ja entfernen GRUB_DEFAULT=0, die GRUB_DEFAULT=saved
zeile
4

In meinem Fall funktionierte es nicht für Einträge, über /etc/grub.d/40_customdie die savedefaultZeile fehlte .

menuentry "Chameleon" {
    savedefault ### <<<< this must be added
    set root="(hd1)"
    chainloader +1
}
ccpizza
quelle
3

Sie vergessen die Nummer (dh "ENTRY ist eine Nummer oder ein Menüelementtitel." In Ihrem Text).

sudo grub-set-default 1

Für Option 1 ist dies die Standardeinstellung.

Führen Sie den sudo update-grubBefehl immer aus, nachdem Sie die /etc/default/grubDatei geändert haben, um die Änderungen zu übernehmen.

Rinzwind
quelle
7
Das hat bei mir nicht geklappt, es stellt nur das GRUB-Menü so ein, dass es auf Eintrag Nr. 1 zeigt, nicht auf die letzte Wahl
Jay Sullivan,
Wenn Ihre Menüoption in einem Untermenü vergraben wäre, wie in 'Erweiterte Optionen für Ubuntu', lautet das Format 'Untermenü-Index> Untermenü-Element-Index'. Sie müssen also 1> "Index Ihrer Wahl" angeben. Sie sollten auch in der Lage sein, für jede Auswahl einen Zeichenfolgennamen anzugeben.
Epu
2

savedefault funktioniert nicht, wenn in der automatisch generierten grub.cfg kein richtiger Header vorhanden ist

Um den richtigen Header zu generieren, müssen Sie in / etc / default / grub festlegen

GRUB_DEFAULT=saved

und machen Sie grub-mkconfig, um Ihre Kopie von grub.cfg zu ersetzen

grub-mkconfig -o /boot/grub.cfg

Für savedefault aus Grub 2.02 sind keine zusätzlichen Argumente erforderlich

Sie können die Quelle von savedefault in grub.cfg sehen

Dblmok
quelle
Schauen Sie sich die Antwort von @ccpizza an, möglicherweise hilft dies: askubuntu.com/a/674148/97838
Hibou57