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 <bug-grub@gnu.org>.

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


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

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
}

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.


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


Schauen Sie sich die Antwort von @ccpizza an, möglicherweise hilft dies: askubuntu.com/a/674148/97838
— Hibou57
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.