Comment changer l'ordre de démarrage de GRUB?

336

Windows 7 et Ubuntu sont installés sur une machine partagée. Étant donné que de nombreux non-développeurs utilisent Windows, j'aimerais modifier l'ordre de démarrage pour le leur faciliter la tâche.

Actuellement, la séquence d'amorçage ressemble à ceci:

  • Ubuntu 11.10 kernelgeneric * 86
  • Ubuntu 11.10 kernelgeneric * 86 (démarrage sécurisé)
  • Test de mémoire
  • Test de mémoire
  • Windows 7 sur /dev/sda6

Comment changer l'ordre par défaut pour que Windows 7 soit en haut de la liste?

  • Windows 7 sur /dev/sda6
  • Ubuntu 11.10 kernelgeneric * 86
  • Ubuntu 11.10 kernelgeneric * 86 (démarrage sécurisé)
  • Test de mémoire
  • Test de mémoire
chrisjlee
la source
5
Questions / Réponses similaires: askubuntu.com/questions/52963/…
fossfreedom
Avez-vous fait une 'sudo update-grub' après avoir changé le fichier grub?
Tinellus
oui je pense avoir oublié de le faire, merci! Je vais essayer de mettre à jour avec les résultats.
jeffery_the_wind
kubuntu 14.04 sudo apt-get install kde-config-grub2puis dans la configuration du système, allez à l’arrêt du démarrage
n611x007

Réponses:

295

Vous pouvez utiliser une interface utilisateur conviviale appelée Grub Customizer pour vous rendre la vie un peu plus facile. Comme son nom l'indique, vous pouvez faire beaucoup plus que réorganiser les entrées du menu GRUB avec.

Vous pouvez l'installer par:

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer

(Voir question Ask Ubuntu. Les PPA peuvent-ils être ajoutés sans danger à mon système et quels sont les «drapeaux rouges» à surveiller?. )

Il existe un article de How-To Geek à ce sujet, Comment configurer le menu de démarrage de Linux GRUB 2 en toute simplicité . Jetez un coup d'oeil si vous êtes intéressé. En outre, il existe un fil résolu sur les forums Ubuntu, Modifier l'ordre de démarrage dans GRUB 2, qui mentionne cet outil.

Voici quelques captures d'écran:

screen_1

screen_2

screen_3


Un peu de dépannage:

Les paramètres de personnalisation de Grub peuvent uniquement fonctionner à partir de la dernière installation de Linux / Ubuntu, celle qui a installé Grub.

Par exemple, si quelqu'un a deux OS-es installés (Windows et Ubuntu), puis installe un troisième OS (Manjaro, etc.) et tente ensuite de suivre la réponse ci-dessus, les modifications apportées par Grub Customizer ne fonctionneront pas si elles sont effectuées à partir du second OS ( Ubuntu, dans l'exemple). Le programme doit être installé dans le troisième système d'exploitation, car il semble que Grub Customizer ne peut modifier que les fichiers Grub créés lors de l'installation du système sur lequel il est installé.

Les fichiers qui déterminent le menu d’amorçage Grub viennent dans la plupart des cas avec le dernier système installé sur une machine. Par conséquent, Grub Customizer doit être installé et utilisé à partir de ce système Linux.

Nitin Venkatesh
la source
4
Les bienvenus :) Les captures d' écran proviennent de la blogpost qui est lié ci - dessus: P
Nitin Venkatesh
2
Cela ne fonctionne pas avec le dernier Ubuntu. Pouvons-nous obtenir un post mis à jour ici?
AT
7
Je pense que votre réponse est bonne et utile, alors s'il vous plaît ne vous méprenez pas. Bien que les outils d'interface graphique soient simples et faciles, ils cachent les faits. La réponse de Marve ci-dessous traite des fichiers en cours d'utilisation et de la mise à jour manuelle de ceux-ci, fournissant ainsi un aperçu du fonctionnement de Grub. Lorsque l'interface graphique échoue, et pour certains, jetez un coup d'œil aux fondements - ils ne sont pas si difficiles après tout et la manipulation manuelle sera probablement plus facile à long terme.
Barrypicker
1
J'ai aussi rencontré des problèmes avec cet outil. Il semble que cela corrige correctement le fichier / etc / default / grub, mais ensuite, il est écrit core dump et avorted.
Mauricio Gracia Gutierrez Le
1
Cela nécessite une mise à jour liée aux deux niveaux du menu actuel.
Hannu
244

Vous pouvez également modifier l'entrée de démarrage par défaut grub à partir de la ligne de commande sans avoir à installer aucun outil supplémentaire. Cela ne changera pas l'ordre dans la liste, mais permettra à un autre système d'exploitation de démarrer par défaut, ce qui ressemble de toute façon à ce que vous souhaitez peut-être.

Tout d’abord, faites une copie de sauvegarde de /etc/default/grub. En cas de problème, vous pouvez facilement revenir à la copie qui convient:

sudo cp /etc/default/grub /etc/default/grub.bak

Puis éditez le fichier en utilisant vimou l’éditeur de texte de votre choix:

sudo vim /etc/default/grub

Trouvez la ligne qui contient

GRUB_DEFAULT=0

et le mettre à

GRUB_DEFAULT=x

xest l'index de l'élément de menu grub auquel vous souhaitez démarrer par défaut. Notez que les éléments de menu sont indexés à zéro. Cela signifie que le premier élément de la liste est 0et que le sixième est en réalité 5. Donc, pour démarrer au sixième élément de la liste, la ligne se lirait comme suit:

GRUB_DEFAULT=5

Si vous avez oublié l'ordre des articles, jetez un coup d'oeil /boot/grub/grub.cfg. Chaque entrée de menu est spécifiée par une ligne de type:

menuentry 'Ubuntu' [options] {

Vous pouvez également choisir la valeur par défaut par le nom plutôt que par l'index, par exemple:

GRUB_DEFAULT='Ubuntu'

s'il y avait une menuentry 'Ubuntu'ligne sur /boot/grub/grub.cfg. Cela peut être une meilleure méthode, car elle ne dépend pas de l'ordre des entrées, ce qui pourrait changer.

Pour utiliser un noyau dans le sous-menu "Previous Linux Versions", utilisez:

GRUB_DEFAULT="Previous Linux Versions>x"

(veillez à inclure les citations), où xest l’index de l’ancien noyau dans le sous-menu, ou le nom du noyau tel qu’il apparaît dans /boot/grub/grub.cfg. Par exemple,

GRUB_DEFAULT="Previous Linux Versions>4.13.0-43-generic"

Puis construisez le menu grub mis à jour:

sudo update-grub
dcharles
la source
5
La dernière fois que j'ai regardé, grub2 génère tellement d'entrées à la volée qu'il est vraiment difficile de savoir quel numéro utiliser pour une entrée.
Joe
52
L'utilisation d'un index peut être assez compliquée - la liste des systèmes d'exploitation peut changer après une mise à jour. Mais vous pouvez consulter /boot/grub/grub.cfg et rechercher le nom du système d'exploitation par défaut souhaité. Ensuite, utilisez le nom cité au lieu d'un index. Exemple: GRUB_DEFAULT="Microsoft Windows XP Professional (on /dev/sda1)"au lieu deGRUB_DEFAULT=7
geekQ
1
Cela nécessite une mise à jour liée aux deux niveaux du menu actuel.
Hannu
5
Avec la version actuelle d'Ubuntu 16.04, si vous souhaitez sélectionner un noyau spécifique pour démarrer, vous devez ajouter des éléments au Advanced options for Ubuntusous-menu, comme ceci:GRUB_DEFAULT='Advanced options for Ubuntu>Ubuntu, with Linux 4.4.0-34-generic'
Geoff Williams
1
@BandaMuhammadAlHelal Cela tentera de démarrer le 7ème élément de votre liste - est-ce ce que vous voulez? Si vous voulez le 6ème élément de votre liste, utilisez GRUB_DEFAULT=5.
Nick
39

Sur le site de tombuntu (article de Tom ):

GRUB peut être configuré à l'aide du /etc/default/grubfichier. Avant d’apporter des modifications, il peut être judicieux de le sauvegarder en créant une copie:

sudo cp /etc/default/grub /etc/default/grub.bak

Vous pouvez restaurer la copie de la sauvegarde sur l'original:

sudo cp /etc/default/grub.bak /etc/default/grub

Ouvrez le fichier en utilisant l'éditeur de texte avec les privilèges root:

gksu gedit /etc/default/grub

La ligne GRUB_DEFAULT=0signifie que GRUB sélectionnera le premier élément de menu à démarrer. Changer ceci en GRUB_DEFAULT=saved. Cette modification facilitera la modification ultérieure de l'élément par défaut.

Enregistrez et fermez le fichier. Exécutez cette commande pour appliquer vos modifications à la configuration de GRUB:

sudo update-grub

Le changement de configuration que nous avons effectué permet d'utiliser les commandes grub-set-default et grub-reboot à tout moment. Celles-ci vous permettent de modifier l'élément de démarrage par défaut de manière permanente ou uniquement pour le prochain démarrage, respectivement.

Exécutez grub-set-defaultou grub-reboot(avec sudo) avec le numéro de l'élément de menu à démarrer (le premier élément est 0). Cette commande changera la valeur par défaut au deuxième élément:

sudo grub-set-default 1
silenTK
la source
15
Cette réponse est tirée presque textuellement de tombuntu.com/index.php/2011/09/25/… . S'il vous plaît donner crédit lorsque le crédit est dû.
James McMahon
Cette réponse ne semble pas changer l'ordre des éléments de démarrage.
Sparhawk
J'utilise Linux Mint Debian Edition. Je n'avais pas de fichier / etc / default / grub, mais j'ai trouvé que la valeur GRUB_DEFAULT à modifier était plutôt dans /etc/grub.d/00_header. Après avoir modifié GRUB_DEFAULT dans 00_header avec le nom de l'entrée de démarrage souhaité, j'ai simplement exécuté "sudo update-grub" et le tour est joué.
Analyse floue
J'ai vu ces mêmes commandes dans tipsonubuntu.com/2016/07/20/grub2-boot-order-ubuntu-16-04. J'ai réalisé que ces commandes ne fonctionneraient que si elles étaient émises à partir du système dans l'ordre de démarrage 0.
Sun Bear
-2

J'ai essayé ce qui suit et obtenu de bons résultats.

Ouvrir une fenêtre de terminal ( Ctrl+ Alt+ T),

Tapez sudo gksu nautiluset appuyez sur Entrée. Tapez votre mot de passe utilisateur.

Accédez au fichier /boot/grub/grub.cfg. Copier et coller le fichier dans le même répertoire, devrait créer une copie du fichier grub.cfg à des fins de sauvegarde. Double-cliquez ensuite sur grub.cfg pour ouvrir le fichier dans un éditeur de texte.

Dans le fichier, vous trouverez la ligne ( set default="0"). Modifiez le 0 en fonction du numéro de ligne à charger dans Grub. La mienne était la sixième ligne, donc j'ai utilisé 5, car la première ligne est considérée comme 0. Enregistrez le fichier. Redémarrez le PC et si vous choisissez la bonne ligne, celle-ci sera mise en surbrillance lors du chargement de Grub.

Bonne chance

Outkast
la source
10
comme vous pouvez le voir au début du fichier, cela dit que vous ne devriez pas faire cela. à la place, éditez /etc/default/grubet exécutez update-grub.
sazary
7
et je ne recommanderais pas de gksu nautilus non plus. Trop facile de larguer une bombe dans votre système à partir de là.
Sylvainulg
vérifier ce post: psychocats.net/ubuntu/bootmenu
tqjustc
Pour une raison quelconque, cette réponse apparaît comme "réponse automatique" dans Google lors de la recherche de: "grub change boot order".
lepe
@lepe, ne vous inquiétez pas, pour moi, par défaut, c'est linuxandubuntu.com/home/…
vladkras
-5

Ouvrez une fenêtre de terminal ( Ctrl+ Alt+ T) ou appuyez sur Alt+ F2.

Tapez gksu nautiluset appuyez sur Enter.

Cela ouvrira le navigateur de fichiers Nautilus avec l’autorisation de modifier les fichiers appartenant à root.

Naviguez jusqu'au fichier /boot/grub/grub.cfget double-cliquez dessus pour l'ouvrir dans un éditeur de texte.

Coupez, déplacez et collez les sections de ce fichier appartenant à différents systèmes d'exploitation. Vous devez faire très attention lorsque vous faites cela, car si vous le faites mal, vous ne pourrez plus démarrer. Le démarrage de Windows peut toujours être réparé avec les outils d'un disque d'installation Windows ( FIXMBR), qui écrase GRUB-MBR avec un Windows-MBR typique.

Je l'ai testé d'Ubuntu 9.04 à 12.04 et il a bien fonctionné à chaque fois.

Mais j’ai seulement essayé de déplacer la section de démarrage de Windows en haut de la liste pour en faire la valeur par défaut.

Si ma mémoire est correcte, chaque section du menu de démarrage dans le fichier commence par un begin... et se termine par un ... end. Et s'étend sur plusieurs lignes de texte.

Le texte de ce fichier est devenu un peu plus compliqué et il n'a pas la même apparence dans la dernière version d'Ubuntu que dans les versions précédentes. Utilisez donc votre cerveau pour vous éviter de commettre une erreur.

Curt Jonsson
la source
4
Vous n'avez pas à courir sudo update-grubà un moment donné?
Eliah Kagan
4
/boot/grub/grub.cfgest écrasé à chaque paquet installé / mis à jour, déclenchant une mise à jour de Grub, invoquant effectivement update-grub. Et cela génère un nouveau grub.cfg. Par conséquent, la configuration de Grub est effectuée dans les fichiers du /etcrépertoire, comme expliqué dans les autres réponses, afin de vous assurer qu'il est persistant.
gertvdijk