| 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:04] – c'est <file> pour le contenu d'un fichier 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 ===== | |
| |
| 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 est généré automatiquement par la commande ''[[man>update-grub]]'' à partir des entrées suivantes : | |
| * Le fichier de configuration général : ''/etc/default/grub'' (mieux vaut éviter de le modifier directement, les modifications pourraient être écrasées lors d'une [[:upgrade|mise à jour majeure]]). | |
| * Les fichiers de configuration personnalisés : tous les fichiers ''*.cfg'' présents dans le répertoire ''/etc/default/grub.d/''. | |
| * Tous les fichiers dans : ''/etc/grub.d/'' | |
| * dont le fichier ''/etc/grub.d/40_custom'' qui contient votre configuration personnelle en option | |
| |
| Plus d'information sur la //[[:tutoriel:grub2_parametrage_manuel|Configuration de GRUB]]//. | |
| |
| 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 ===== | ===== Utilisation du menu ===== |
| ===== Configuration ===== | ===== Configuration ===== |
| |
| Un comportement différent peut être obtenu en [[:tutoriel:comment_modifier_un_fichier|modifiant]] le fichier ''/etc/default/grub'' avec les [[:permissions administrateur]] : ''GRUB_TIMEOUT_STYLE=menu'' (au lieu de ''hidden'') et ''GRUB_TIMEOUT=10'' (au lieu de ''0'') puis en faisant la mise à jour de GRUB par la commande ''sudo update-grub''. | ==== Fonctionnement général ==== |
| |
| ==== Habillage et thèmes ==== | La configuration finale de GRUB est stockée dans le fichier ''/boot/grub/grub.cfg'', mais ce fichier ne doit pas être modifié manuellement ! |
| |
| Veuillez consulter le tutoriel cité plus haut pour : | Il est généré automatiquement par la commande ''[[man>update-grub]]'' à partir des entrées suivantes : |
| * **[[:tutoriel:grub2_parametrage_manuel#Habillage (mode texte)|l'habillage (mode texte)]]** : image de fond et couleurs d'affichage | * Le fichier de configuration général : ''/etc/default/grub'' (mieux vaut éviter de le modifier directement, les modifications pourraient être écrasées lors d'une [[:upgrade|mise à jour majeure]]). |
| * **[[:tutoriel:grub2_parametrage_manuel#THEME|l'utilisation des Thèmes Grub2]]** : où les trouver et comment les mettre en oeuvre | * Les fichiers de configuration personnalisés : tous les fichiers ''*.cfg'' présents dans le répertoire ''/etc/default/grub.d/''. |
| | * Tous les fichiers dans : ''/etc/grub.d/'' |
| | * dont le fichier ''/etc/grub.d/40_custom'' qui contient votre configuration personnelle en option |
| |
| ==== Ajouter du rootdelay au démarrage ==== | Plus d'information sur la //[[:tutoriel:grub2_parametrage_manuel|Configuration de GRUB]]//. |
| |
| 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. | 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]]. |
| |
| 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 : | ==== Édition ==== |
| <file>GRUB_CMDLINE_LINUX_DEFAULT="rootdelay=40 quiet splash"</file> | |
| |
| Pour prendre en compte ce changement, on lancera la commande de mise à jour : | Pour éditer le fichier ''/etc/default/grub'' avec les [[:permissions administrateur]] (requiert le mot de passe), il existe deux possibilités : |
| <code>sudo update-grub</code> | * 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> |
| |
| ==== Démarrer sur le dernier OS chargé ==== | <note important> |
| | 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> |
| |
| Souvent les mises à jour de certains OS propriétaires demandent plusieurs reboots après un temps de calcul conséquent. | <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''. |
| |
| Pour éviter de redémarrer sur Ubuntu, il faut modifier la ligne : | Ce fichier surchargera les valeurs déclarées dans ''/etc/default/grub'' sans risquer d'être écrasé par une [[:upgrade|mise à niveau majeure]]. |
| | </note> |
| | |
| | ==== Afficher le menu ==== |
| | |
| | Pour afficher le menu à chaque démarrage de l'ordinateur, [[:tutoriel:comment_modifier_un_fichier|modifier le fichier]] ''/etc/default/grub'' avec les [[:permissions administrateur]]. |
| | |
| | - Remplacer :<file>GRUB_TIMEOUT_STYLE=hidden</file>par :<file>GRUB_TIMEOUT_STYLE=menu</file> |
| | - Définir le délai d'affichage du menu (avant le lancement du choix par défaut), ici à 10 secondes en remplaçant :<file>GRUB_TIMEOUT=0</file>par :<file>GRUB_TIMEOUT=10</file> |
| | - Enregistrer et quitter, puis appliquer les changements avec la commande ''[[man>update-grub]]'' :<code>sudo update-grub</code> |
| | |
| | ==== Choisir le système par défaut ==== |
| | |
| | On peut choisir le système seléctionné par défaut et lancé automatiquement au bout du //timeout//, simplement en adaptant la ligne : |
| | <file> |
| | GRUB_DEFAULT=0 |
| | </file> |
| | où ''0'' correspond à la première ligne du menu. ''1'' à la seconde, etc. |
| | |
| | ==== Démarrer sur le dernier OS chargé ==== |
| | |
| | Pour démarrer par défaut sur le dernier système utilisé, [[:tutoriel:comment_modifier_un_fichier|éditer le fichier]] ''/etc/default/grub'' avec les [[:permissions administrateur]] afin de remplacer la ligne : |
| <file> | <file> |
| GRUB_DEFAULT="0" | GRUB_DEFAULT="0" |
| GRUB_SAVEDEFAULT=true | GRUB_SAVEDEFAULT=true |
| </file> | </file> |
| Suivi d'un : | Enregistrer et quitter, puis appliquer les changements avec la commande ''[[man>update-grub]]'' : |
| <code> | <code> |
| sudo update-grub | sudo update-grub |
| </code> | </code> |
| | |
| | <note tip> |
| | 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> |
| | |
| | ==== 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) ==== |
| Au prochain reboot, le message ne devrait plus apparaître. | Au prochain reboot, le message ne devrait plus apparaître. |
| |
| ===== Liens externes ===== | ===== Voir aussi ===== |
| |
| * [[http://www.gnu.org/software/grub/manual/grub.html|Manuel grub-pc (en anglais)]] | * **(//en//)** [[https://www.gnu.org/software/grub/manual/grub.html|Documentation officielle]] |
| * [[http://tradinfo.e-monsite.com|Manuel GNU GRUB (en français)]] | * [[https://papy-tux.legtux.org/doc1192/index.html|Personnalisation de Grub Partie 1]] |
| * [[http://papy-tux.legtux.org/doc1192/index.html|Personnalisation de Grub Partie 1]] | * [[https://papy-tux.legtux.org/doc1048/index.html|Personnalisation de Grub Partie 2]] |
| * [[http://papy-tux.legtux.org/doc1048/index.html|Personnalisation de Grub Partie 2]] | |
| * [[http://www.pixelbeat.org/docs/disk/|Comprendre le fonctionnement de Grub avec quelques schémas (en anglais)]] | |
| * [[http://www.it-connect.fr/contourner-lauthentification-linux-en-editant-le-grub/|Contourner l'authentification Linux en éditant le GRUB (fr)]] | * [[http://www.it-connect.fr/contourner-lauthentification-linux-en-editant-le-grub/|Contourner l'authentification Linux en éditant le GRUB (fr)]] |
| |
| ===== Autres pages en rapport ===== | ==== Pages en rapport ==== |
| |
| * [[:grub-customizer|Grub Customizer : une interface graphique gérant Grub 2 et permettant de le personnaliser]], | * [[:grub-customizer|Grub Customizer]] : une interface graphique gérant Grub 2 et permettant de le personnaliser (vivement décoonseillée) |
| * [[:tutoriel:grub2_lancer_des_images_iso|Tutoriel pour lancer des images iso directement depuis GRUB 2]]. | * [[:tutoriel:grub2_lancer_des_images_iso|Tutoriel pour lancer des images iso directement depuis GRUB 2]] |
| * [[:tutoriel:comment_recuperer_ubuntu_apres_installation_windows|Récupérer Ubuntu après installation de Windows]] | * [[:tutoriel:comment_recuperer_ubuntu_apres_installation_windows|Récupérer Ubuntu après installation de Windows]] |
| * [[refind|rEFInd]], un chargeur de boot alternatif à Grub | * [[:rEFInd]] : un chargeur de démarrage alternatif à GRUB |
| |
| ---- | ---- |
| | //[[:Contributeurs]] : [[:utilisateurs:Frombenny]], [[:utilisateurs:Theozzfancometh]], [[:utilisateurs:f.x0]], [[:utilisateurs:albanmartel]], [[:utilisateurs:perco]], [[:utilisateurs:krodelabestiole]].// |
| //[[:Contributeurs]] : [[:utilisateurs:Frombenny]], [[:utilisateurs:Theozzfancometh]], [[:utilisateurs:f.x0]], [[:utilisateurs:albanmartel]], [[:utilisateurs:perco|perco]].// | |
| |