OS par défaut pour le grub (bootloader)

Fermé
Eltorosam137 Messages postés 28 Date d'inscription samedi 15 octobre 2011 Statut Membre Dernière intervention 19 mai 2012 - 23 mars 2012 à 09:25
mamiemando Messages postés 33372 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 22 novembre 2024 - 22 mai 2012 à 19:47
Bonjour,

j'ai repéré pas mal de sujets concernant le Grub.
Le grub est le bootloader installé suite à l'installation d'un O.S. Linux en mode dualboot.
Beaucoup d'utilisateurs sont confrontés à la sélection par défaut du dernier O.S. installé, et beaucoup n'arrivent pas à remédier à ce problème à cause des commandes à effectuer.
Alors j'ai décidé de plancher sur le sujet et de créer un petit tutoriel pour les utilisateurs un peu moins expérimentés. (Je ne suis pas non plus un expert en linux) Donc pour des raisons de facilité, je vais passer un minimum par le terminal (il n'y aura que une seule ligne de commande à taper) afin de rester un maximum sur l'interface graphique de l' O.S.

Remarque: cette manipulation n'est pas valide pour toutes les versions de Ubuntu.
Pour être sur d'être dans le bon dés le début, vérifiez que vous avez bien le fichier "grub.cfg" dans le dossier "Système de fichier -> boot -> grub -> grub.cfg "

1) Lancez Ubuntu lors de la sélection de l' O.S. en notant quelque part la première ligne de la liste de sélection (pour ma part il s'agissait de Ubuntu).

2) ouvrir le fichier se trouvant à l'adresse suivante de votre poste de travail :
Système de fichier -> boot -> grub -> grub.cfg

3) ouvrez ce fichier. Pas de panique, il est en lecture seule donc il n'y a pas à avoir peur de faire une fausse manipulation pour l'instant.

4) Si vous parcourez ce fichier vous allez pouvoir repérer qu'il y a plusieurs "blocs" tels que celui-ci:
### BEGIN /etc/grub.d/30_os-prober ###
...
menuentry "Window 7 (loader) on ..."
...
### END /etc/grub.d/30_os-prober ###

Attention, ne pas se tromper de début de bloc et de fin de bloc! Pour ne pas se tromper, vérifiez que le BEGIN et le END ont le même chemin d'accès /etc/... .

5) Je vais vous montrer comment sélectionner Windows 7 (pour l'exemple), pour d'autres O.S. c'est la même manip.

Repérez le bloc contenant la ligne
menuentry "Windows 7 (loader) on ..."

Sélectionnez le complètement (de ### BEGIN.... jusque ... ### END /etc/...os-prober###

Clic droit et faites "couper".

Trouvez le bloc contenant la ligne
menuentry "l'O.S. que vous avez noté quelque part en point 1)"

Normalement il n'y a pas de bloc contenant de ligne
menuentry "quelque chose" avant ce bloc.

Avant la ligne ### BEGIN de ce bloc, collez le texte coupé précédemment.

Ainsi le texte que vous avez collé contient l' O.S qui se retrouvera en tête de liste et sera sélectionné par défaut lors du prochain démarrage.

Mais ce n'est pas tout.

6) Fermez le fichier
Un message vous invitera à enregistrer le fichier. Vous ne pourrez pas l'enregistrer à la place de grub.cfg.
Donc ici nous allons l'enregistrer dans Documents (dans Poste de travail).
Une fois ceci fait, fermez la fenêtre, et allez dans documents, sélectionnez votre fichier grub.cfg et clic droit "copier". (évitez le "couper" car en cas de fausse manoeuvre on peut tout recommencer).

7) ouvrer le terminal et tapez la ligne de commande
sudo nautilus
il est possible que le terminal vous demande votre mot de passe (il est à taper mais il ne s'affiche pas, donc écrivez le puis tapez Enter).
Là une fenêtre explorateur s'ouvrira à vous.
Nautilus permet de passer outre les droits de permission que vous n'avez pas.
Retournez à l'adresse suivante :
"Système de fichier -> boot -> grub -> grub.cfg "
et envoyez le dossier grub.cfg à la corbeille.
Ensuite collez le dossier copié en point 6.

8) Fermez la fenêtre et le terminal. Vérifiez que vous avez bien le fichier grub.cfg au bon endroit et vous pouvez redémarrer votre ordinateur.

9) Enjoy :)

J'ai effectué la manipulation sur plusieurs ordinateurs et elle à toujours fonctionné.

N'hésitez pas à poster des questions si un point n'est pas clair! :)

Merci de m'avoir lu ^^.

Eltorosam137


A voir également:

8 réponses

mamiemando Messages postés 33372 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 22 novembre 2024 7 802
23 mars 2012 à 09:33
Sous Debian et les distributions qui en dérive, ce n'est pas /boot/grub/grub.cfg que tu dois modifier, car il sera écrasé à chaque fois que tu installeras désinstalleras un noyau (paquets linux-image-...). Il faut corriger le fichier /etc/default/grub :

gksudo gedit /etc/default/grub


... et ensuite tu dois lancer en root ou avec sudo la commande :

update-grub


En effet dans ce fichier tu as cette ligne :

GRUB_DEFAULT=0


Celle-ci indique la position du curseur au démarrage (numérotée à partir de 0 de haut en bas). Il suffit donc de la corriger pour positionner le curseur là où tu veux.

Bonne chance
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
23 mars 2012 à 09:34
Salut,

Zéro pointé !

La seule bonne et unique façon de faire c'est celle décrite ici : OS sélectionné par défaut.

Le fichier grub.cfg étant généré automatiquement, il ne faut sous aucun prétexte le modifier manuellement !

Extrait :

/boot/grub/grub.cfg : il est généré automatiquement par update-grub et ne doit donc pas être modifié manuellement.
C'est lui qui est lu au démarrage comme l'était menu.lst sur grub-legacy.

0
Eltorosam137 Messages postés 28 Date d'inscription samedi 15 octobre 2011 Statut Membre Dernière intervention 19 mai 2012 7
28 mars 2012 à 14:18
Il est généré automatiquement mais il peut être modifié par les utilisateurs tant qu'il ont des bases en programmation comme moi, il suffit de comprendre le code.

je ne le modifie pas réellement, je ne fais que déplacer la chaîne de caractères correspondant au lien pour windows. C'est de la manipulation de base pour les fichier config de Linux =) .
J'ai confronté mon idée à des professeurs d'université que je tiens dans mes contacts, eux mêmes disent que si la manipulation est bien suivie et est accomplie dans les conditions respectées, elle est sans effet néfaste au Grub qui n'est qu'un simple petit programme en fin de compte =).

Maintenant, j'admets que cette méthode peut avoir des réfractaires =) .

Merci encore =) .
0
jeanbi Messages postés 15118 Date d'inscription samedi 9 décembre 2006 Statut Contributeur Dernière intervention 6 février 2023 2 182
28 mars 2012 à 19:59
bonjour,
désole de contredire tes profs et toi même il ne faut en aucun cas modifier /boot/grub/grub.cfg
de plus les modifs que tu va effectue seront détruites au moindre changement effectué par le système exemple modification du kernel .
donc comme zip31 je donne zéro pointé
a+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
28 mars 2012 à 20:34
Bjr,

Ne m'étant jamais penché réellement sur le problème, je formule une simple hypothèse qui peut servir de base de travail...


Pour modifier l'ordre des entrées, j'irais personnellement voir du côté des fichiers 00_header, 10_linux ou 30_os-prober qui contribuent à générer le fichier grub.cfg .

Je pense (sans certitude) que c'est dans l'un des trois (le premier sans doute) qu'on peut intervenir et rendre la modification "durable", notamment dans le cadre d'un sudo update-grub.


Comme tu sembles intéressé (ce qui n'est pas mon cas, je l'avoue), jette un oeil de ce côté-là. Tu seras accueilli comme un sauveur par beaucoup d'utilisateurs qui souhaitent placer Ws en tête de liste.
0
mamiemando Messages postés 33372 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 22 novembre 2024 7 802
29 mars 2012 à 09:25
Ikewdu a raison normalement ce sont les fichiers qui te permettent de générer grub que tu es sensé modifier (voir /etc/grub.d/).

Bonne chance
0
Re,

En fait, en y réfléchissant, ça semble tout simple :

1. On renomme 30_os-prober pour qu'il soit lu avant 10_linux (histoire de mettre Ws en tête):

sudo mv /etc/grub.d/30_os-prober /etc/grub.d/09_os-prober (par exemple... seul le nombre importe, on peut mettre 09_toto si on veut).

2. On modifie l'entrée par défaut dans /etc/default/grub à la ligne GRUB_DEFAULT=n pour pointer sur windows (on peut même le faire en graphique avec grub customizer)

3. On met un petit dièse devant la boucle while ...do dans 10_linux pour ne lire que le dernier noyau. (si on ne veut pas faire de nettoyage tous les jours)

4. un petit sudo update-grub pour générer le grub.cfg.

Et ça doit fonctionner, je pense... à tester sur un Linux virtuel si ça amuse quelqu'un.
0
Utilisateur anonyme
29 mars 2012 à 12:02
Je suis trop curieux.... je viens de tester en réel. Ca fonctionne, et même l'étape 2 n'est pas utile (grub définit les entrées par emplacement).

On fait finalement tout ça en trente secondes.
0
jeanbi Messages postés 15118 Date d'inscription samedi 9 décembre 2006 Statut Contributeur Dernière intervention 6 février 2023 2 182
Modifié par jeanbi le 29/03/2012 à 19:42
bonjour,
pour info
GRUB_DEFAULT=n 

n peut etre remplacer par le ligne du kernel a lancer ou meme w$
exemple
tu fait un petit
sudo cat boot/grub/grub.cfg | grep menuentry 

ensuite
 sudo gedit /etc/defaut/grub 

et par exemple
GRUB_DEFAULT="Windows 7 (loader) (on /dev/sda2)" 

et
sudo update-grub

pour que ce soit pris en compte
tu peux ensuite verifier si c'est bon
sudo cat /boot/grub/grub.cfg

et c'est toujours w$ qui sera lance en 1er
j'ai écris quelques ligne pour fedora
http://perso.numericable.fr/bijean/etapes/linux.php#grub.
a+

FC 15 - Mandriva 2010 -Debian 6.0-
Les meilleures choses ont besoin de patience.(JC ANGLADE)
0
Merci pour les précisions... je creuserai tout ça un de ces jours (lorsque j'aurai le temps).

Ah, au fait, j'ai repéré un tag bom sur ton site (le sigle  en bas de page). J'ai eu ça une fois sur le mien (c'était l'éditeur de kde dont j'ai oublié le nom qui le générait. En changeant d'éditeur, j'ai réglé le problème... qui est somme toute bénin).
0
Eltorosam137 Messages postés 28 Date d'inscription samedi 15 octobre 2011 Statut Membre Dernière intervention 19 mai 2012 7
30 mars 2012 à 14:26
le problème est que la ligne GRUB DEFAULT n'apparait pas dans toutes les versions, néanmoins c'est clair que si le fichier générateur peut être modifié on peut passer par la aussi :)

Sinon pour l'histoire de la modification du fichier.cfg, il n'est en rien mal de le changer soi même, rien qu'en le lisant on aperçoit de la programmation simple =).

PS: je ne nie en rien la pertinence de vos remarques à tous :)
je crois juste que sur certains points c'est question de gouts et de couleurs, ce qui serait bien c'est de faire un tuto qui marche pour les nouvelles version de linux Ubuntu, parce que il n'y en a pas des masses de clairs et nets =/
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
30 mars 2012 à 14:37
le problème est que la ligne GRUB DEFAULT n'apparait pas dans toutes les versions,
Ah ? Et dans quelle(s) version(s) n'apparaît-il pas ???


Sinon pour l'histoire de la modification du fichier.cfg, il n'est en rien mal de le changer soi même, rien qu'en le lisant on aperçoit de la programmation simple =).
Preuve que tu lis mal ce qu'on te donne à lire !!! ;-((

Je cite : "il ne faut en aucun cas modifier /boot/grub/grub.cfg de plus les modifs que tu va effectuer seront détruites au moindre changement effectué par le système exemple modification du kernel . "


PS: je ne nie en rien la pertinence de vos remarques à tous :)
Tu ne les nies pas, mais tu ne veux pas les admettre, ce n'est guère mieux ;-\
0
Utilisateur anonyme
31 mars 2012 à 12:14
Re,

Je pense également qu'il est absurde de modifier le grub.cfg.... il est regénéré trop souvent pour que l'intervention ait une utilité, même à court terme.

Mais la proposition était intéressante en soi, et ça nous a permis de réfléchir à la question, ce qui n'est pas si mal en soi.
0
Eltorosam137 Messages postés 28 Date d'inscription samedi 15 octobre 2011 Statut Membre Dernière intervention 19 mai 2012 7
19 mai 2012 à 16:04
Merci à tous pour vos interventions :)

Sinon, il faudrait que linux se mette à programmer des interfaces afin de gérer ce genre de choses :)

Ca leur fera augmenter leur succès :)
0