Damit funktioniert "Standard gespeichert" mit GRUB2 ...?

8

Ich habe gerade das Moblin-Betriebssystem installiert. Es verwendet GRUB2. Auf meinem Ubuntu 8.04 wurde GRUB 0.97 verwendet, in dem ich die standardmäßig gespeicherte Option bequem verwendete. Ich fand, dass ich mit GRUB2 /boot/grub/menu.lst nicht direkt bearbeiten sollte, aber ich tat es :), weil mein Moblin kein / etc / default / grub enthält, wo sie sagen, ich sollte die gewünschte Änderung vornehmen.

Also habe ich Folgendes getan, was nicht funktioniert hat:

default=saved
timeout=1
#splashimage=(hd0,0)/boot/grub/splash.xpm.gz
#hiddenmenu
#silent
title Moblin (2.6.31.5-10.1.moblin2-netbook)
        root (hd0,0)
        kernel /boot/vmlinuz-2.6.31.5-10.1.moblin2-netbook ro root=/dev/sda1 vga=current
        savedefault=1

title Pathetic Windows
        rootnoverify (hd0,1)
        chainloader +1
        savedefault=0

Auf diese Weise hätte ich bei jedem Start automatisch zwischen Moblin und Window wechseln sollen, aber es funktioniert nicht.

Fast alle Problemlöser im Internet sagen, dass ich die Option DEFAULT = save in / etc / default / grub aktivieren sollte, aber ich kann diese Datei nicht finden. Irgendeine Idee, was ich sonst noch tun soll?

Vielen Dank

Aktualisieren:

Ich habe das Gleichheitszeichen verwendet, da meine menu.lst standardmäßig einen Eintrag als Standard = 0 hatte . Die Standardeinstellung 0 funktioniert jedoch ebenfalls einwandfrei.

Außerdem ist das menu.lst , das ich habe, tatsächlich ein symbolischer Link zu ./grub.conf . Ich habe auch festgestellt, dass die Befehle grub-intall und grub-set-default nicht funktionieren.

Usman
quelle
Sie verwenden eine 0-basierte Nummerierung für Festplattenpartitionen - das sieht nicht nach GRUB2 aus, das sieht nach Legacy GRUB aus.
Ephemient
Wenn Sie eine funktionierende Datei /boot/grub/menu.lst haben, verwenden Sie Grub2 nicht . Grub2 verwendet /boot/grub/grub.cfg . Möglicherweise werden beide Konfigurationsdateien angezeigt, wenn Sie von einer älteren Installation, die Grub1 verwendet hat, auf Grub2 aktualisiert haben.
Quacksalber Quijote

Antworten:

19

Die korrekte Syntax zum Aktivieren savedefaultin /etc/default/grub(GRUB 2) lautet wie folgt:

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

und nicht mit der Zeile DEFAULT=save, die der Antragsteller vorgeschlagen hat.

Nach dem Hinzufügen der beiden obigen Zeilen /etc/default/grubzu muss die GRUB-Konfiguration als Superuser mit den folgenden Befehlen aktualisiert werden:

grub-mkconfig
update-grub

Zumindest unter Lubuntu 12.10 wird grub-mkconfiges nicht benötigt (da es ohne Optionen die Konfigurationsdatei auf stdout speichert). Der einzige erforderliche Befehl ist der, update-grubder tatsächlich grub-mkconfigmit der richtigen -o fileOption aufgerufen wird.

edin1
quelle
Ein Detail ist, dass zumindest unter Ubuntu die Memtest-Einträge nicht gespeichert werden, wenn Sie sie ausprobieren, um die Funktion schnell zu testen ...
Teuer
1

Ich bin mir nicht sicher, ob GRUB das =Zeichen zulässt . Meine Konfiguration lautet default saved.

Ihr Problem ist, dass der Pathetic WindowsEintrag kein a ausführt savedefault, sodass der Standardeintrag niemals in Windows geändert wird.

Bearbeiten : Außerdem savedefaultwird standardmäßig der aktuelle Eintrag gespeichert. Nur wenn Sie ihm eine Nummer geben, wird ein anderer Eintrag als der aktuelle gespeichert.

Versuche dies:

default saved
timeout 1
#splashimage (hd0,0)/boot/grub/splash.xpm.gz
#hiddenmenu
#silent
title Moblin (2.6.31.5-10.1.moblin2-netbook)
        root (hd0,0)
        kernel /boot/vmlinuz-2.6.31.5-10.1.moblin2-netbook ro root=/dev/sda1 vga=current
        savedefault

title Pathetic Windows
        rootnoverify (hd0,1)
        chainloader +1
        savedefault

Ich kenne Moblin nicht, aber in anderen Distributionen ist es üblich, dass die Konfigurationsdatei irgendwo drin ist /boot/grub, nicht drin /etc.

Thomas
quelle
Ich würde den Befehl savedefault an die erste Stelle setzen, da mir unklar ist, ob Chainloader- oder Kernel-Aufrufe den Bootloader sofort verlassen.
Ich verwende das Gleichheitszeichen, da meine menu.lst standardmäßig einen Eintrag als Standard = 0 hatte. Die Standardeinstellung 0 funktioniert jedoch ebenfalls einwandfrei. Außerdem ist das menu.lst, das ich habe, tatsächlich ein symbolischer Link zu ./grub.conf. Ich habe auch überprüft, dass die Befehle grub-intall und grub-set-default nicht funktionieren.
Siehe auch meine Bearbeitung. Sie sollten keine savedefaultNummer geben.
Die Syntax ist savedefault Nnicht savedefault=N(wieder, wenn Sie möchten, dass ein anderer Eintrag als Standard gespeichert wird - wenn Sie den aktuellen Eintrag möchten, lassen Sie ihn Nweg).
Quacksalber Quijote
+1 weil es für mich funktioniert hat (obwohl das OP nach grub2 gefragt hat)
nhed