| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| grub-pc [Le 17/02/2026, 23:30] – [Configuration] +donner un titre au chapitre expliquant ce qu'on y décrit / reformulation krodelabestiole | grub-pc [Le 17/04/2026, 22:25] (Version actuelle) – [Édition] niveau titre | tip grub.d krodelabestiole |
|---|
| Si vous souhaitez réinstaller après un souci, référez vous au chapitre //[[#Réinstaller/Restaurer GRUB 2]]//. | Si vous souhaitez réinstaller après un souci, référez vous au chapitre //[[#Réinstaller/Restaurer GRUB 2]]//. |
| |
| ===== Fonctionnement général ===== | ===== Utilisation du menu ===== |
| | |
| | <note important> |
| | Par défaut, le menu de GRUB ne s'affiche pas dans les configurations ne comportant qu'un seul système. |
| | </note> |
| | |
| | Pour l'afficher, il faut maintenir enfoncée la touche ''Echap'' (ou //esc//) au démarrage (ou la touche ''Maj'' -- //shift// -- si vous démarrez en //Legacy BIOS//). |
| | |
| | GRUB affiche alors le menu qui permet de choisir le système désiré : |
| | * sans intervention aucune, le système sélectionné par défaut est lancé automatiquement après quelques secondes. |
| | * on peut selectionner un autre des systèmes affichés à l'aide des flèches du clavier ''↑'' ''↓'', puis le lancer avec la touche ''Entrée ↵'' (ou la flèche ''→''). |
| | |
| | Il est également possible : |
| | * de modifier la ligne du menu avec la touche ''e'' pour, par exemple, ajouter un paramètre (''Ctrl''+''X'' : lance le système en appliquant la modification, ''Échap'' permet de revenir en arrière sans changement) |
| | * de basculer GRUB en ligne de commande avec la touche ''c'' (''Échap'' pour revenir au menu). |
| | |
| | ===== Configuration ===== |
| | |
| | ==== Fonctionnement général ==== |
| |
| La configuration finale de GRUB est stockée dans le fichier ''/boot/grub/grub.cfg'', mais ce fichier ne doit pas être modifié manuellement ! | La configuration finale de GRUB est stockée dans le fichier ''/boot/grub/grub.cfg'', mais ce fichier ne doit pas être modifié manuellement ! |
| Il existe une interface graphique proposant de configurer grub mais celle-ci est //largement déconseillée// (rarement à jour, incorrectement conçue, elle est connue pour poser plus de problèmes qu'elle en résout) : [[:grub-customizer|Grub Customizer]]. | Il existe une interface graphique proposant de configurer grub mais celle-ci est //largement déconseillée// (rarement à jour, incorrectement conçue, elle est connue pour poser plus de problèmes qu'elle en résout) : [[:grub-customizer|Grub Customizer]]. |
| |
| ===== Utilisation du menu ===== | ==== Édition ==== |
| | |
| | Pour éditer le fichier ''/etc/default/grub'' avec les [[:permissions administrateur]] (requiert le mot de passe), il existe deux possibilités : |
| | * utiliser un éditeur de texte "graphique" qui propose un [[:elevation_privileges#gnome_fichiers_et_gedit|mode administrateur]], par exemple : |
| | * avec l'éditeur de texte par défaut depuis la version [[:kinetic|Kinetic 22.10]] de Ubuntu ([[:GNOME]]) :<code>gted admin:///etc/default/grub</code> |
| | * ou (pour les versions d'Ubuntu antérieures) :<code>gedit admin:///etc/default/grub</code> |
| | * ou avec un éditeur de texte en mode [[:terminal|console]] :<code>sudoedit /etc/default/grub</code>qui sous ×buntu équivaut à :<code>sudo nano /etc/default/grub</code> |
| |
| <note important> | <note important> |
| Par défaut, le menu de GRUB ne s'affiche pas dans les configurations ne comportant qu'un seul système. | Une fois un fichier de configuration modifié (''/etc/default/grub'' ou autre dans ''/etc/default/grub.d''), il faut toujours appliquer les changements avec la commande ''[[man>update-grub]]'' :<code>sudo update-grub</code> |
| </note> | </note> |
| |
| Pour l'afficher, il faut maintenir enfoncée la touche ''Echap'' (ou //esc//) au démarrage (ou la touche ''Maj'' -- //shift// -- si vous démarrez en //Legacy BIOS//). | <note tip> |
| | Bien que ce soit rarement documenté, il peut être plus fiable de créer et éditer ces variables de configuration dans un fichier ''/etc/default/grub.d/custom'' plutôt que directement dans ''/etc/default/grub''. |
| |
| GRUB affiche alors le menu qui permet de choisir le système désiré : | Ce fichier surchargera les valeurs déclarées dans ''/etc/default/grub'' sans risquer d'être écrasé par une [[:upgrade|mise à niveau majeure]]. |
| * sans intervention aucune, le système sélectionné par défaut est lancé automatiquement après quelques secondes. | </note> |
| * on peut selectionner un autre des systèmes affichés à l'aide des flèches du clavier ''↑'' ''↓'', puis le lancer avec la touche ''Entrée ↵'' (ou la flèche ''→''). | |
| | |
| Il est également possible : | |
| * de modifier la ligne du menu avec la touche ''e'' pour, par exemple, ajouter un paramètre (''Ctrl''+''X'' : lance le système en appliquant la modification, ''Échap'' permet de revenir en arrière sans changement) | |
| * de basculer GRUB en ligne de commande avec la touche ''c'' (''Échap'' pour revenir au menu). | |
| | |
| ===== Configuration ===== | |
| |
| ==== Afficher le menu ==== | ==== Afficher le menu ==== |
| - Enregistrer et quitter, puis appliquer les changements avec la commande ''[[man>update-grub]]'' :<code>sudo update-grub</code> | - Enregistrer et quitter, puis appliquer les changements avec la commande ''[[man>update-grub]]'' :<code>sudo update-grub</code> |
| |
| ==== Habillage et thèmes ==== | ==== Choisir le système par défaut ==== |
| |
| Veuillez consulter le tutoriel cité plus haut pour : | On peut choisir le système seléctionné par défaut et lancé automatiquement au bout du //timeout//, simplement en adaptant la ligne : |
| * **[[:tutoriel:grub2_parametrage_manuel#Habillage (mode texte)|l'habillage (mode texte)]]** : image de fond et couleurs d'affichage | <file> |
| * **[[:tutoriel:grub2_parametrage_manuel#THEME|l'utilisation des Thèmes Grub2]]** : où les trouver et comment les mettre en oeuvre | GRUB_DEFAULT=0 |
| | </file> |
| ==== Ajouter du rootdelay au démarrage ==== | où ''0'' correspond à la première ligne du menu. ''1'' à la seconde, etc. |
| | |
| Si vous tombez sur une Busybox au démarrage, il est possible que le système n'ait pas attendu assez longtemps pour que les disques durs s'initialisent. Vous pouvez continuer le démarrage par un simple CTRL+D dans la Busybox. Si cela fonctionne, une solution sera d'insérer un rootdelay dans GRUB. | |
| | |
| Pour cela [[:tutoriel:comment_modifier_un_fichier|éditer]] /etc/default/grub **avec les droits d'administration** (voir [[tutoriel:comment_modifier_un_fichier|tuto "Comment modifier un fichier ?"]]) pour mettre par exemple : | |
| <file>GRUB_CMDLINE_LINUX_DEFAULT="rootdelay=40 quiet splash"</file> | |
| | |
| Pour prendre en compte ce changement, on lancera la commande de mise à jour : | |
| <code>sudo update-grub</code> | |
| |
| ==== Démarrer sur le dernier OS chargé ==== | ==== Démarrer sur le dernier OS chargé ==== |
| Cette technique peut aussi être intéressante pour faciliter les mises à jour de certains OS propriétaires, qui demandent plusieurs redémarrages après un temps de calcul conséquent, en évitant de redémarrer entre temps automatiquement sur Ubuntu. | Cette technique peut aussi être intéressante pour faciliter les mises à jour de certains OS propriétaires, qui demandent plusieurs redémarrages après un temps de calcul conséquent, en évitant de redémarrer entre temps automatiquement sur Ubuntu. |
| </note> | </note> |
| | |
| | ==== Habillage et thèmes ==== |
| | |
| | Veuillez consulter le tutoriel cité plus haut pour : |
| | * **[[:tutoriel:grub2_parametrage_manuel#Habillage (mode texte)|l'habillage (mode texte)]]** : image de fond et couleurs d'affichage |
| | * **[[:tutoriel:grub2_parametrage_manuel#THEME|l'utilisation des Thèmes Grub2]]** : où les trouver et comment les mettre en oeuvre |
| | |
| | ==== Ajouter du rootdelay au démarrage ==== |
| | |
| | Si vous tombez sur une Busybox au démarrage, il est possible que le système n'ait pas attendu assez longtemps pour que les disques durs s'initialisent. Vous pouvez continuer le démarrage par un simple CTRL+D dans la Busybox. Si cela fonctionne, une solution sera d'insérer un rootdelay dans GRUB. |
| | |
| | Pour cela [[:tutoriel:comment_modifier_un_fichier|éditer]] /etc/default/grub **avec les droits d'administration** (voir [[tutoriel:comment_modifier_un_fichier|tuto "Comment modifier un fichier ?"]]) pour mettre par exemple : |
| | <file>GRUB_CMDLINE_LINUX_DEFAULT="rootdelay=40 quiet splash"</file> |
| | |
| | Pour prendre en compte ce changement, on lancera la commande de mise à jour : |
| | <code>sudo update-grub</code> |
| |
| ===== Astuce ==== | ===== Astuce ==== |
| |
| En cas de dual-boot / multi-système d'exploitation : au lieu de redémarrer la machine et d'aller au menu GRUB pour choisir le système d'exploitation à démarrer, on peut le faire directement à partir d'Ubuntu avec cette commande. L'action est temporaire et valable uniquement pour le prochain redémarrage. Le chiffre étant le numéro de ligne du choix du menu GRUB (0 étant la première ligne). Par exemple, si Ubuntu est la première ligne du menu GRUB et Windows la deuxième ligne, alors cette commande, exécutée sous Ubuntu, va directement redémarrer la machine sous Windows. Rq : reboot nécessite sudo sur les anciens Ubuntu. | En cas de dual-boot / multi-système d'exploitation : au lieu de redémarrer la machine et d'aller au menu GRUB pour choisir le système d'exploitation à démarrer, on peut le faire directement à partir d'Ubuntu avec la commande ''[[man>grub-reboot]]''. |
| | |
| | L'action est temporaire et valable uniquement pour ce redémarrage. Le chiffre étant le numéro de ligne du choix du menu GRUB (''0'' étant la première ligne). |
| | |
| | Par exemple, si Ubuntu est la première ligne du menu GRUB et Windows la deuxième ligne, alors cette commande, exécutée sous Ubuntu, va directement redémarrer la machine sous Windows : |
| <code>sudo grub-reboot 1 ; reboot</code> | <code>sudo grub-reboot 1 ; reboot</code> |
| | |
| | <note>''[[man>reboot]]'' requiert ''[[:sudo]]'' sur les anciennes [[:versions]] d'Ubuntu.</note> |
| |
| ===== Réparation & maintenance ===== | ===== Réparation & maintenance ===== |
| |
| === Depuis votre Ubuntu ayant démarré === | === Depuis votre Ubuntu ayant démarré === |
| | |
| Si vous avez la **possibilité de démarrer** le système qui contient le **grub que vous souhaitez rétablir** (avec une [[#Créer une clé USB de secours|clé USB de secours]], un autre menu Grub,..), alors tapez **dans un terminal ces commandes** : | Si vous avez la **possibilité de démarrer** le système qui contient le **grub que vous souhaitez rétablir** (avec une [[#Créer une clé USB de secours|clé USB de secours]], un autre menu Grub,..), alors tapez **dans un terminal ces commandes** : |
| <code>sudo fdisk -l # -L pour identifier le disque contenant Ubuntu, relevez son code, par exemple /dev/sda | <code>sudo fdisk -l # -L pour identifier le disque contenant Ubuntu, relevez son code, par exemple /dev/sda |
| |
| === Depuis un autre système === | === Depuis un autre système === |
| | |
| Si vous réussissez à lancer un autre linux contenant Grub2 (live-cd, système sur un autre disque,..), vous avez 2 cas de figure : | Si vous réussissez à lancer un autre linux contenant Grub2 (live-cd, système sur un autre disque,..), vous avez 2 cas de figure : |
| * **pour une installation classique** la commande à lancer est : | * **pour une installation classique** la commande à lancer est : |
| Depuis Ubuntu [[:jammy|Jammy 22.04]] //OS Prober// est désactivé par défaut, donc Windows n'est plus détecté automatiquement. | Depuis Ubuntu [[:jammy|Jammy 22.04]] //OS Prober// est désactivé par défaut, donc Windows n'est plus détecté automatiquement. |
| |
| Pour modifier ce comportement vous pouvez ajouter la ligne suivante au fichier ''/etc/default/grub'' : | Pour modifier ce comportement, avec les [[:permissions_administrateur#prefixe_admin|permissions administrateur]], ajouter la ligne suivante au fichier ''/etc/default/grub'' : |
| <file conf grub>GRUB_DISABLE_OS_PROBER=false</file> | <file conf grub>GRUB_DISABLE_OS_PROBER=false</file> |
| |
| | Enregistrer le fichier et appliquer les changements avec la commande ''[[man>update-grub]]'' :<code>sudo update-grub</code> |
| | |
| | <note> |
| Pour en savoir plus à ce sujet vous pouvez consulter [[https://forum.ubuntu-fr.org/viewtopic.php?id=2073309|ce sujet]] sur le forum. | Pour en savoir plus à ce sujet vous pouvez consulter [[https://forum.ubuntu-fr.org/viewtopic.php?id=2073309|ce sujet]] sur le forum. |
| | </note> |
| |
| ==== grub:sh (Shell GRUB 2 à l'amorçage) ==== | ==== grub:sh (Shell GRUB 2 à l'amorçage) ==== |