Faire fonctionner «l'enregistrement par défaut» avec GRUB2…?

8

Je viens d'installer le système d'exploitation Moblin. Il utilise GRUB2. Sur mon Ubuntu 8.04, GRUB 0.97 était utilisé dans lequel j'utilisais confortablement l'option enregistrée par défaut . J'ai trouvé qu'avec GRUB2 je ne devais pas éditer /boot/grub/menu.lst directement mais je l'ai fait :) parce que mon Moblin ne contient aucun / etc / default / grub où ils disent que je devrais faire la modification que je veux.

Donc, ce que j'ai fait, c'est ce qui n'a pas fonctionné:

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

Ce faisant, j'aurais dû basculer automatiquement entre Moblin et Window à chaque démarrage, mais cela ne fonctionne pas.

Presque tous les dépanneurs sur Internet disent que je devrais activer l' option DEFAULT = save dans / etc / default / grub mais je ne trouve pas ce fichier. Une idée que dois-je faire d'autre?

Merci beaucoup

Mise à jour:

J'ai utilisé le signe égal à parce que par défaut, mon menu.lst avait une entrée par défaut = 0 . Cependant, la valeur par défaut 0 fonctionne également correctement.

De plus, le menu.lst que j'ai est en fait un lien symbolique vers ./grub.conf . J'ai également remarqué que les commandes grub-intall et grub-set-default ne fonctionnent pas.

Usman
la source
Vous utilisez une numérotation basée sur 0 pour les partitions de disque - qui ne ressemble pas à GRUB2, qui ressemble à Legacy GRUB.
éphémère
si vous avez un /boot/grub/menu.lst fonctionnel, vous n'utilisez pas Grub2. Grub2 utilise /boot/grub/grub.cfg . vous pouvez voir les deux fichiers de configuration si vous avez mis à jour vers Grub2 à partir d'une ancienne installation qui utilisait Grub1.
Quack Quichote

Réponses:

19

La syntaxe correcte pour l'activation savedefaultdans /etc/default/grub(GRUB 2) est avec les lignes:

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

et non avec la ligne DEFAULT=savesuggérée par le demandeur.

Après avoir ajouté les deux lignes ci-dessus à /etc/default/grub, il faut mettre à jour la configuration de GRUB, en tant que superutilisateur, avec les commandes suivantes:

grub-mkconfig
update-grub

Au moins sur Lubuntu 12.10, grub-mkconfign'est pas nécessaire (car il, sans options, vide le fichier de configuration sur stdout). La seule commande nécessaire est celle update-grubqui est réellement invoquée grub-mkconfigavec l' -o fileoption appropriée .

edin1
la source
Un détail est qu'au moins sur Ubuntu, les entrées memtest ne seront pas sauvegardées au cas où vous décideriez de les essayer pour tester la fonctionnalité rapidement ...
Cher
1

Je ne sais pas si GRUB autorise le =signe; ma configuration lit default saved.

Votre problème est que l' Pathetic Windowsentrée ne fait pas savedefault, donc l'entrée par défaut n'est jamais modifiée pour Windows.

Modifier : En outre, savedefaultpar défaut, enregistre l'entrée actuelle; ce n'est que si vous lui donnez un numéro qu'il enregistrera une autre entrée que l'actuelle.

Essaye ça:

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

Je ne sais pas Moblin , mais dans d' autres distributions , il est courant d'avoir la part du fichier de configuration /boot/grub, pas /etc.

Thomas
la source
Je voudrais mettre la commande saveefault en premier, car il n'est pas clair pour moi si les appels du chargeur de chaîne ou du noyau quittent immédiatement le chargeur de démarrage ..
J'utilise le signe égal à parce que par défaut mon menu.lst avait une entrée par défaut = 0. Cependant, la valeur par défaut 0 fonctionne également correctement. De plus, le menu.lst que j'ai est en fait un lien symbolique vers ./grub.conf J'ai également vérifié que les commandes grub-intall et grub-set-default ne fonctionnent pas.
Voir aussi mon montage. Vous ne devez pas donner de savedefaultchiffre.
la syntaxe savedefault Nne l' est pas savedefault=N(encore une fois, si vous voulez qu'elle enregistre une autre entrée comme valeur par défaut - si vous voulez l'entrée actuelle, laissez-la Ndésactivée).
Quack Quichotte
+1 cuz, cela a fonctionné pour moi (bien que l'OP ait posé des questions sur grub2)
nhed