| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| grub-pc [Le 25/02/2021, 17:50] – [Démarrer Ubuntu à partir de grub> et grub rescue>] 88.122.224.21 | grub-pc [Le 17/02/2026, 23:47] (Version actuelle) – réorganisation / + choix système par défaut / mise en forme "astuce" / détails krodelabestiole |
|---|
| {{tag>boot amorçage}} | {{tag>boot amorçage}} |
| |
| ---- | |
| |
| ====== GRUB 2 (version Compatibles PC) ====== | ====== GRUB 2 (version Compatibles PC) ====== |
| |
| //**GR**and **U**nified **B**ootloader, version 2// (ou **GRUB 2**) est la seconde version de %%GNU GRUB%%. C'est un logiciel permettant de [[:amorçage|charger un système d'exploitation]]. Il pourra amorcer lui-même des systèmes compatibles avec la norme %%POSIX (GNU/Linux, *BSD, Mac OS, etc.)%% ou enchaîner vers un autre chargeur d’amorçage pour les autres systèmes. | **[[wpfr>GNU_GRUB|GRUB 2]]** pour (//**GR**and **U**nified **B**ootloader, version 2//) est la seconde version de %%GNU GRUB%%. C'est un logiciel permettant de [[:amorçage|charger un système d'exploitation]]. |
| |
| {{http://pix.toile-libre.org/upload/original/1353953772.png}} | Il affiche un menu pendant quelques secondes au démarrage, qui permet de choisir des options, une version particulière du [[:kernel|noyau]] à charger avec Ubuntu, ou de sélectionner le système à démarrer dans le cadre d'un //[[:tutoriel:multiboot_avance|dual-boot]]//. |
| |
| Plus qu’une continuité du projet [[:grub_legacy|GRUB Legacy]] précédent, **GRUB 2 en est une réécriture complète.** Il a pour but d’être un chargeur d’amorçage plus modulaire et portable que son prédécesseur avec notamment une interface graphique et une portabilité vers diverses architectures matérielles (BIOS, EFI, Coreboot...). | **GRUB 2** est le chargeur d'amorçage installé par défaut. Il prend en charge les systèmes [[:EFI]]. Il n'est donc pas nécessaire d'installer le paquet ''[[:grub-uefi|grub-efi]]'' manuellement. |
| |
| GRUB 2 est le chargeur d'amorçage installé par défaut, ce document concerne la version de GRUB 2 pour les ordinateurs Compatibles PC (la plupart des ordinateurs actuels) ; des paquets **[[:grub-uefi|grub-efi]]** et **//grub-coreboot//** existent pour les architectures basées sur EFI (tels les MacIntel) et sur Coreboot/LinuxBIOS. Pour le moment, il n'est pas conçu pour démarrer une architecture [[:ubuntu_arm|ARM]]. | Plus qu'une continuité du projet [[:grub_legacy|GRUB Legacy]] précédent, GRUB 2 en est une réécriture complète. Il est plus modulaire et portable que son prédécesseur avec notamment une interface graphique et une portabilité vers diverses architectures matérielles ([[wpfr>BIOS_(informatique)|BIOS]], [[:EFI]], [[wpfr>Architecture_ARM|ARM]], [[wpfr>Coreboot]]...). Il peut amorcer lui-même des systèmes compatibles avec la norme [[wpfr>POSIX]] (GNU/Linux, *BSD, macOS, etc.) ou enchaîner vers un autre chargeur d'amorçage pour les autres systèmes. |
| |
| ===== Pré-requis===== | |
| * Disposer des [[:sudo|droits d'administration]] ; | |
| * Disposer d'une connexion à Internet configurée et activée. | |
| ===== Installation ===== | ===== Installation ===== |
| |
| Lors d’une **installation classique** d'Ubuntu ([[http://www.ubuntu-fr.org/telechargement|depuis un support d'installation]]), si vous n’avez pas paramétré les options avancées, GRUB 2 est **installé automatiquement** et est votre chargeur d’amorçage principal pour Ubuntu. | **GRUB 2** est installé automatiquement avec Ubuntu et est votre chargeur d'amorçage principal. |
| |
| Une vérification peut être faite depuis un [[:terminal]] avec la [[:commande_shell|commande]] : <code>grub-install -V</code> | Une vérification peut être faite depuis un [[:terminal]] avec la [[:commande_shell|commande]] : <code>sudo grub-install -V</code> |
| Si vous voyez //%%GNU GRUB%% 1.98// ou +, vous avez GRUB 2, si c’est 0.97, vous avez [[:Grub Legacy]]. | Si vous voyez //%%GNU GRUB%% 2// ou +, vous avez GRUB 2. |
| |
| Si vous **souhaitez installer** Grub 2 sur le [[:mbr|MBR]] **ou le réinstaller** après un souci, référez vous à **[[#Réinstaller/Restaurer GRUB 2|cette explication]]**. | 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 ===== |
| La configuration finale de grub est dans le fichier **/boot/grub/grub.cfg** | |
| |
| Ce fichier est généré automatiquement par la commande **update-grub** à partir des entrées suivantes : | <note important> |
| * Le fichier de paramétrage général : **/etc/default/grub** | Par défaut, le menu de GRUB ne s'affiche pas dans les configurations ne comportant qu'un seul système. |
| * Tous les fichiers dans : **/etc/grub.d/** | </note> |
| * dont le fichier **/etc/grub.d/40_custom** qui contient votre configuration personnelle en option | |
| |
| | 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//). |
| |
| Plus d'information sur le **[[:tutoriel:grub2_parametrage_manuel|paramétrage manuel de Grub]]**. | 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). |
| |
| Pour un paramétrage avec interface graphique : | ===== Configuration ===== |
| * Sous [[:KDE]] pour les versions jusqu'à Kubuntu Wily (15.10) : **[[apt>kde-config-grub2]]** | |
| * Sous d'autres environnements ou pour les versions Kubuntu Xenial (16.04) et ultérieures : | |
| * [[:grub-customizer|Grub Customizer]] | |
| * [[:Superbootmanager|Super Boot Manager]] (abandonné) | |
| |
| ===== Utilisation du menu ===== | ==== Fonctionnement général ==== |
| **Si vous n'avez qu'un seul système d'installé, Grub ne s'affiche pas !** | |
| |
| Pour le voir, il suffit de maintenir la **touche Majuscule (shift)** ( ou la touche** [[https://forum.ubuntu-fr.org/viewtopic.php?pid=21778237#p21778237|ECHAP]]**) enfoncée **au démarrage** de l'ordinateur. | La configuration finale de GRUB est stockée dans le fichier ''/boot/grub/grub.cfg'', mais ce fichier ne doit pas être modifié manuellement ! |
| <note help> Appuyer 3 ou 4 fois sur la touche Maj ou Echap à l'apparition du logo du bios fonctionne aussi.</note> | |
| On peut aussi forcer l'affichage du menu Grub : pour cela, il faut [[:tutoriel:comment_modifier_un_fichier|éditer]] le fichier /etc/default/grub **avec les droits d'administration** pour faire les modifications suivantes : **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". | |
| |
| | 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 |
| |
| Dans les autres cas, vous verrez la liste des systèmes installés : | Plus d'information sur la //[[:tutoriel:grub2_parametrage_manuel|Configuration de GRUB]]//. |
| * Si vous ne faites **rien**, le système sélectionné par défaut sera **lancé automatiquement** au bout de quelques secondes. | |
| * Vous pouvez en **choisir** un autre avec les **flèches du clavier** et le lancer avec la **touche 'entrée'** (ou la flèche vers la droite). | |
| |
| Autres actions possibles : | 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]]. |
| * avec la **touche 'e'** vous pouvez **éditer** la ligne du menu pour, par exemple, ajouter un paramètre (Ctrl X : lance le système en appliquant la modification, Echap permet de revenir en arrière sans changement) | |
| * avec la **touche 'c'** vous pourrez intervenir sur Grub en **ligne de commande** (Echap pour revenir au menu) | |
| | |
| |
| ===== Habillage et thèmes ===== | <note important> |
| | Une fois un fichier de configuration modifié (''/etc/default/grub'' ou autre dans ''/etc/default/grub.d''), il faut donc toujours appliquer les changements avec la commande ''[[man>update-grub]]'' :<code>sudo update-grub</code> |
| | </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> |
| | GRUB_DEFAULT="0" |
| | </file> |
| | par |
| | <file> |
| | GRUB_DEFAULT=saved |
| | GRUB_SAVEDEFAULT=true |
| | </file> |
| | Enregistrer et quitter, puis appliquer les changements avec la commande ''[[man>update-grub]]'' : |
| | <code> |
| | sudo update-grub |
| | </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 : | 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#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 | * **[[: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 ===== |
| | |
| ==== Réinstaller/Restaurer GRUB 2 ==== | ==== Réinstaller/Restaurer GRUB 2 ==== |
| S'il a été effacé ou désactivé suite à l’installation d’un autre système d’exploitation ou une autre raison, voici comment vous pouvez le récupérer : | |
| | Avant de réparer GRUB par quelque méthode que ce soit, il peut s'avérer nécessaire d'installer la version la plus récente du logiciel et de ses commandes (grub-install, grub-mkconfig, update-grub, …) : |
| | <code>sudo apt purge grub grub-pc grub-common -y && sudo apt install grub-pc -y</code> |
| | |
| | Plusieurs options sont offertes pour restaurer le fonctionnement correct de GRUB après qu'il a été effacé ou détérioré : |
| |
| === Via le Réparateur de Démarrage === | === Via le Réparateur de Démarrage === |
| |
| La méthode la plus simple est d'utiliser le [[:boot-repair|réparateur de Démarrage]] (outil graphique). | La méthode la plus simple est l'utilisation du [[:boot-repair|réparateur de Démarrage]] (outil graphique). |
| |
| === Depuis votre Ubuntu ayant démarré === | === Depuis votre Ubuntu ayant démarré === |
| - Optionnel - supprimer, purger et réinstaller Grub : | |
| <code>sudo apt purge grub grub-pc grub-common -y && sudo apt install grub-pc -y</code> | |
| 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 : |
| <code>sudo grub-install --root-directory=/media/NomUtilisateur/pointMontagePartitionContenantBoot /dev/sdb</code> | <code>sudo grub-install --root-directory=/media/NomUtilisateur/pointMontagePartitionContenantBoot /dev/sdb</code> |
| * **pour une installation ayant un boot sur une partition séparée**, la commande est (**b**oot au lieu de **r**oot) : | * **pour une installation ayant un boot sur une partition séparée**, la commande est (**b**oot au lieu de **r**oot) : |
| <code>sudo grub-install --boot-directory=/media/NomUtilisateur/pointMontagePartitionBoot /dev/sdb</code> | <code>sudo grub-install --boot-directory=/media/NomUtilisateur/pointMontagePartitionBoot /dev/sdb</code> |
| |
| ==== Démarrer Ubuntu à partir de grub> et grub rescue> ==== | ==== Démarrer Ubuntu à partir de grub> et grub rescue> ==== |
| |
| Si Ubuntu est bien installé mais que seul Grub est cassé, alors vous devriez arriver sur une ligne de commande de grub> ou grub rescue>. Voici comment faire pour démarrer Ubuntu afin de réparer Grub par la suite. | Si Ubuntu est bien installé mais que seul GRUBub est cassé, alors vous devriez arriver sur une ligne de commande de grub> ou grub rescue>. Voici comment faire pour démarrer Ubuntu afin de réparer GRUB par la suite. |
| |
| Suivez les instructions en fonction du Grub que vous voyez. | Suivez les instructions en fonction du GRUB que vous voyez. |
| |
| **A partir de grub rescue>** | **A partir de grub rescue>** |
| {{::grub_rescue.png?400|}} | {{::grub_rescue.png?400|}} |
| |
| Il faut identifier la partition Ubuntu et définir les commandes pour arriver au Grub normal. | Il faut identifier la partition Ubuntu et définir les commandes pour arriver au GRUB normal. |
| |
| <code>ls # lister les partitions | <code>ls # lister les partitions |
| {{:grub-unknow-filesystem.png?direct&400|}} | {{:grub-unknow-filesystem.png?direct&400|}} |
| |
| En validant la dernière commande, Ubuntu va alors démarrer. Ensuite, suivez le paragraphe § 7.1.2 pour réparer Grub à partir d'Ubuntu. | En validant la dernière commande, Ubuntu va alors démarrer. Ensuite, suivez le paragraphe § 7.1.2 pour réparer GRUB à partir d'Ubuntu. |
| |
| ==== Créer une clé USB de secours ==== | ==== Créer une clé USB de secours ==== |
| Avant toute installation de nouveau système, il peut être judicieux de faire une clé USB de secours pour pouvoir remettre en route votre Grub, au cas où. | |
| | Avant toute installation de nouveau système, il peut être judicieux de faire une clé USB de secours pour pouvoir remettre en route votre GRUB, au cas où. |
| |
| Pour cela, vous pouvez **suivre [[:tutoriel/grub2_lancer_des_images_iso#grub_sur_une_cle_usb|ce tutoriel]]**. | Pour cela, vous pouvez **suivre [[:tutoriel/grub2_lancer_des_images_iso#grub_sur_une_cle_usb|ce tutoriel]]**. |
| |
| ==== Ajouter du rootdelay au démarrage ==== | ==== Amorçage multiple : privilégier un 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. | |
| | |
| 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> | |
| | |
| ==== Lancement depuis un Grub-Legacy ==== | |
| En plaçant ces lignes (avec l’UUID correspondant à la partition souhaitée) dans le menu.lst d’un Grub-Legacy, on pourra lancer un Grub-pc derrière un grub-legacy. | |
| <file>title Xenial via GRUB-pc | |
| uuid 70e29811-71a3-4553-a16c-1cce2ff334ed | |
| kernel /boot/grub/i386-pc/core.img</file> | |
| |
| ==== Amorçage multiple : privilégier un grub ==== | En cas d'installation en parallèle de plusieurs [[:versions|versions d'Ubuntu]] sur le même support de sotckage, la dernière installation impose son GRUB. Mais si vous souhaitez utiliser au démarrage le GRUB d'une autre installation (celle que vous utilisez par défaut, par exemple) : |
| En cas d'installation en parallèle de plusieurs [[:versions|versions d'Ubuntu]] sur le même disque dur, **la dernière installation impose son grub**. Mais si vous souhaitez imposer au démarrage le grub d'une autre installation (celle que vous utilisez par défaut, par exemple) : | |
| - allez dans cette autre installation, | - allez dans cette autre installation, |
| - ouvrez le [[:terminal]], et tapez : | - ouvrez le [[:terminal]], et tapez : |
| sudo update-grub | sudo update-grub |
| sudo grub-install /dev/sda</code> | sudo grub-install /dev/sda</code> |
| avec'' /dev/sda'' si on veut pointer sur le disque ''sda''\\ avec ''/dev/sdb'' si on veut pointer sur le disque ''sdb''\\ avec ''/dev/sdc'' si on veut pointer sur le disque ''sdc''\\ etc… | avec ''/dev/sda'' si on veut pointer sur le disque ''sda''\\ |
| | avec ''/dev/sdb'' si on veut pointer sur le disque ''sdb''\\ |
| | etc. |
| |
| <note>:-) Lorsque l'on souhaite faire cohabiter //Ubuntu// avec un autre système, tel que //Windows®//, il peut être opportun d'installer //Grub// sur un disque différent de celui où est installé le chargeur d'origine. Il suffira de changer dans le BIOS l'ordre d'examen des disques (lors du démarrage de l'ordinateur) pour privilégier //Grub// ou un autre système. Ainsi, le disque d'origine n'est pas modifié et le retour en arrière est plus simple.</note> | <note>:-) Lorsque l'on souhaite faire cohabiter //Ubuntu// avec un autre système, tel que //Windows®//, il peut être opportun d'installer //Grub// sur un disque différent de celui où est installé le chargeur d'origine. Il suffira de changer dans le BIOS l'ordre d'examen des disques (lors du démarrage de l'ordinateur) pour privilégier //Grub// ou un autre système. Ainsi, le disque d'origine n'est pas modifié et le retour en arrière est plus simple.</note> |
| |
| ===== Problèmes connus ===== | ===== Problèmes connus ===== |
| ====Grub n'apparaît pas au démarrage==== | |
| En cas de double boot, le menu de grub doit s’afficher par défaut, si l’écran de l’ordinateur reste noir au démarrage avec un message d’erreur de l’écran, il faut changer une option dans grub pour obliger un affichage non graphique. | ==== Grub n'apparaît pas au démarrage ==== |
| | |
| | En cas de double boot, le menu de grub doit s'afficher par défaut, si l'écran de l'ordinateur reste noir au démarrage avec un message d'erreur de l'écran, il faut changer une option dans grub pour obliger un affichage non graphique. |
| |
| 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 enlever le croisillon « # » au début de la ligne | 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 enlever le croisillon « # » au début de la ligne |
| <file>#GRUB_TERMINAL=console</file> | <file>#GRUB_TERMINAL=console</file> |
| Enregistrer le fichier et quitter l’éditeur de texte puis dans le terminal : | Enregistrer le fichier et quitter l'éditeur de texte puis dans le terminal : |
| <code>sudo update-grub</code> | <code>sudo update-grub</code> |
| Redémarrer le pc. | Redémarrer le pc. |
| | |
| | ==== Windows ou d'autres système n'apparaissent plus dans le menu ==== |
| | |
| | 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'' : |
| | <file conf grub>GRUB_DISABLE_OS_PROBER=false</file> |
| | |
| | Pour en savoir plus à ce sujet vous pouvez consulter [[https://forum.ubuntu-fr.org/viewtopic.php?id=2073309|ce sujet]] sur le forum. |
| |
| ==== grub:sh (Shell GRUB 2 à l'amorçage) ==== | ==== grub:sh (Shell GRUB 2 à l'amorçage) ==== |
| Vous démarrez votre ordinateur et au lieu de charger directement Ubuntu ou afficher un menu vous permettant de choisir un système d’exploitation à charger, votre écran vous montre une ligne **grub:sh>**. Ce que vous obtenez ici est un //shell//, une interface en ligne de commande qui permet de dépanner le chargeur d’amorçage GRUB 2. Si vous obtenez, de manière non-intentionnelle, une telle invite de commande, il y a de fortes chances que le fichier de menu de GRUB 2 soit corrompu. L’invite de commande vous permet d’exécuter des commandes, malgré les erreurs des fichiers de menu, afin de tout de même charger Ubuntu. | |
| | Vous démarrez votre ordinateur et au lieu de charger directement Ubuntu ou afficher un menu vous permettant de choisir un système d'exploitation à charger, votre écran vous montre une ligne **grub:sh>**. Ce que vous obtenez ici est un //shell//, une interface en ligne de commande qui permet de dépanner le chargeur d'amorçage GRUB 2. Si vous obtenez, de manière non-intentionnelle, une telle invite de commande, il y a de fortes chances que le fichier de menu de GRUB 2 soit corrompu. L'invite de commande vous permet d'exécuter des commandes, malgré les erreurs des fichiers de menu, afin de tout de même charger Ubuntu. |
| |
| Pour charger tout de même Ubuntu, entrez la suite de commandes suivante. | Pour charger tout de même Ubuntu, entrez la suite de commandes suivante. |
| * Chaque ligne doit être entrée séparément. À la fin de chaque ligne de commande, appuyez sur la touche [Entrée] de votre clavier pour la valider. | * Chaque ligne doit être entrée séparément. À la fin de chaque ligne de commande, appuyez sur la touche [Entrée] de votre clavier pour la valider. |
| |
| Inscrivez chacune des commandes suivantes sur une seule ligne, après l’invite **grub:sh>** : | Inscrivez chacune des commandes suivantes sur une seule ligne, après l'invite **grub:sh>** : |
| <code>search -f --set=Root /boot/grub/core.img | <code>search -f --set=Root /boot/grub/core.img |
| |
| |
| ==== Error 15 ==== | ==== Error 15 ==== |
| | |
| Si au boot, ou plutôt au lancement de grub, vous vous retrouvez avec ce message (empêchant tout démarrage du système) : | Si au boot, ou plutôt au lancement de grub, vous vous retrouvez avec ce message (empêchant tout démarrage du système) : |
| <code>GRUB Error 15.</code> | <code>GRUB Error 15.</code> |
| |
| ==== Long temps de chargement ==== | ==== Long temps de chargement ==== |
| | |
| Si au boot, le lancement de grub est long et que le disque dur fait du bruit, vous souffrez probablement du bug [[https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/420933|420933]]. | Si au boot, le lancement de grub est long et que le disque dur fait du bruit, vous souffrez probablement du bug [[https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/420933|420933]]. |
| Le problème semble être que GRUB2 cherche les UUID de toutes les partitions au démarrage, jusqu’à trouver celle contenant /boot/grub. Cela prend du temps. | Le problème semble être que GRUB2 cherche les UUID de toutes les partitions au démarrage, jusqu'à trouver celle contenant /boot/grub. Cela prend du temps. |
| |
| **Solution 1** : installer une version plus récente de GRUB, par exemple via les Options avancées de [[:Boot-Repair]]. | **Solution 1** : installer une version plus récente de GRUB, par exemple via les Options avancées de [[:Boot-Repair]]. |
| |
| **Solution 2** : modifier le disque de démarrage dans le BIOS pour démarrer sur le disque où se trouve votre Ubuntu. | **Solution 2** : modifier le disque de démarrage dans le BIOS pour démarrer sur le disque où se trouve votre Ubuntu. |
| Plus de détails dans [[http://forum.ubuntu-fr.org/viewtopic.php?id=351117|ce sujet du forum]]. | Plus de détails dans [[https://forum.ubuntu-fr.org/viewtopic.php?id=351117|ce sujet du forum]]. |
| |
| ==== Long temps de chargement / grub.cfg trop gros==== | ==== Long temps de chargement / grub.cfg trop gros==== |
| | |
| Ca peut se produire en présence de multiboot avec plusieurs systèmes GNU/Linux utilisant aussi GRUB. Cela semble dû au fait que grub-mkconfig (appelé par update-grub) lit le fichier grub.cfg des autres systèmes mais ne traite pas correctement les entrées de menu de ce fichier provenant elles-mêmes d'autres systèmes. Il les ajoute, et ça reboucle, ça s'allonge... [[https://www.debian-fr.xyz/viewtopic.php?p=19308&sid=da9eb6e3aad192a4fa05af4d4443c293#p19308|Plus de détail dans ce post de www.debian-fr.xyz]] | Ca peut se produire en présence de multiboot avec plusieurs systèmes GNU/Linux utilisant aussi GRUB. Cela semble dû au fait que grub-mkconfig (appelé par update-grub) lit le fichier grub.cfg des autres systèmes mais ne traite pas correctement les entrées de menu de ce fichier provenant elles-mêmes d'autres systèmes. Il les ajoute, et ça reboucle, ça s'allonge... [[https://www.debian-fr.xyz/viewtopic.php?p=19308&sid=da9eb6e3aad192a4fa05af4d4443c293#p19308|Plus de détail dans ce post de www.debian-fr.xyz]] |
| |
| * Suivre la procédure de [[https://www.debian-fr.xyz/viewtopic.php?p=19308&sid=da9eb6e3aad192a4fa05af4d4443c293#p19308|Plus ce post de www.debian-fr.xyz]] | * Suivre la procédure de [[https://www.debian-fr.xyz/viewtopic.php?p=19308&sid=da9eb6e3aad192a4fa05af4d4443c293#p19308|Plus ce post de www.debian-fr.xyz]] |
| |
| | ==== Utilisation du clavier freeze Grub-PC ==== |
| |
| ====Utilisation du clavier freeze Grub-PC ==== | **Description** : sur certains portables (Compaq 21xx, HP ZE4600, Packard Bell iGo 3581) le démarrage se déroule bien si on le laisse se faire sans intervention, par contre toute pression sur le clavier (que ce soit pour changer de ligne, configurer le démarrage ou passer le compte à rebours) provoque un blocage complet du PC. Seul un redémarrage « sauvage » permet de démarrer l'ordinateur. |
| |
| **Description** : sur certains portables (Compaq 21xx, HP ZE4600, Packard Bell iGo 3581) le démarrage se déroule bien si on le laisse se faire sans intervention, par contre toute pression sur le clavier (que ce soit pour changer de ligne, configurer le démarrage ou passer le compte à rebours) provoque un blocage complet du PC. Seul un redémarrage « sauvage » permet de démarrer l’ordinateur. | **Origine** : incompatibilité de GrUB-PC et de la gestion de l'USB par certains BIOS (Pheonix KAM 1.60 ?) |
| |
| **Origine** : incompatibilité de GrUB-PC et de la gestion de l’USB par certains BIOS (Pheonix KAM 1.60 ?) | **Solution** : entrer dans les options de BIOS (presser F2 pendant l'affichage du BIOS sur les Compaq 21xx), et désactiver l'option de prise en charge « USB legacy». Sauvegarder et redémarrer. |
| | |
| **Solution** : entrer dans les options de BIOS (presser F2 pendant l'affichage du BIOS sur les Compaq 21xx), et désactiver l’option de prise en charge « USB legacy». Sauvegarder et redémarrer. | |
| Le démarrage ne devrait plus bloquer. | Le démarrage ne devrait plus bloquer. |
| <note>La désactivation de cette option n’a pas d'influence sur l’utilisation des ports USB par la suite.</note> | <note>La désactivation de cette option n'a pas d'influence sur l'utilisation des ports USB par la suite.</note> |
| |
| ==== Grub attend pour rien après un petit crash serveur ==== | ==== Grub attend pour rien après un petit crash serveur ==== |
| Problème gênant quand le dit serveur n’a pas de clavier/écran. | |
| | Problème gênant quand le dit serveur n'a pas de clavier/écran. |
| |
| **Solution** : dans le fichier /etc/default/grub ajoutez : | **Solution** : dans le fichier /etc/default/grub ajoutez : |
| Finissez par le //sudo update-grub// évidemment. | Finissez par le //sudo update-grub// évidemment. |
| |
| ==== Apparition d’images au boot ==== | ==== Apparition d'images au boot ==== |
| Certains noyaux affichent une image lors du chargement du système (manchot, tux…). Une image est générée par processeur que possède la machine (l’HyperThreading sur les processeurs Intel double ce nombre). | |
| | Certains noyaux affichent une image lors du chargement du système (manchot, tux…). Une image est générée par processeur que possède la machine (l'HyperThreading sur les processeurs Intel double ce nombre). |
| |
| **Solution** : Éditez le fichier /etc/default/grub et ajoutez « logo.nologo » à la ligne GRUB_CMDLINE_LINUX_DEFAULT. | **Solution** : Éditez le fichier /etc/default/grub et ajoutez « logo.nologo » à la ligne GRUB_CMDLINE_LINUX_DEFAULT. |
| Finissez par le //sudo update-grub// évidemment. | Finissez par le //sudo update-grub// évidemment. |
| |
| ====Via un CD-Live ou USB-Live==== | ==== Via un live USB ==== |
| Possible que vous obteniez cette erreur : <code bash>/usr/sbin/grub-probe: error: failed to get canonical path of /cow.</code> ou <code>impossible d'obtenir le chemin canonique de "/cow"</code> | Possible que vous obteniez cette erreur : <code bash>/usr/sbin/grub-probe: error: failed to get canonical path of /cow.</code> ou <code>impossible d'obtenir le chemin canonique de "/cow"</code> |
| |
| |
| ==== Error: diskfilter writes are not supported ==== | ==== Error: diskfilter writes are not supported ==== |
| | |
| Si vous rencontrez au boot le message d'erreur : "Error: diskfilter writes are not supported" sur Ubuntu 14.10, récupérer le code du patch sur https://bugs.debian.org/754921 et l'enregistrer dans le fichier "00_header_754921.patch" (par exemple). | Si vous rencontrez au boot le message d'erreur : "Error: diskfilter writes are not supported" sur Ubuntu 14.10, récupérer le code du patch sur https://bugs.debian.org/754921 et l'enregistrer dans le fichier "00_header_754921.patch" (par exemple). |
| |
| Au prochain reboot, le message ne devrait plus apparaître. | Au prochain reboot, le message ne devrait plus apparaître. |
| |
| | ===== Voir aussi ===== |
| |
| ===== Liens externes ===== | * **(//en//)** [[https://www.gnu.org/software/grub/manual/grub.html|Documentation officielle]] |
| * [[http://www.gnu.org/software/grub/manual/grub.html|Manuel grub-pc (en anglais)]] | * [[https://papy-tux.legtux.org/doc1192/index.html|Personnalisation de Grub Partie 1]] |
| * [[http://tradinfo.e-monsite.com|Manuel GNU GRUB (en français)]] | * [[https://papy-tux.legtux.org/doc1048/index.html|Personnalisation de Grub Partie 2]] |
| * [[http://papy-tux.legtux.org/doc1192/index.html|Personnalisation de Grub Partie 1]] | * [[http://www.it-connect.fr/contourner-lauthentification-linux-en-editant-le-grub/|Contourner l'authentification Linux en éditant le GRUB (fr)]] |
| * [[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)]] | |
| |
| ===== 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]] |
| * [[:burg|BURG]] alternative graphique à grub qui n'est plus développée depuis 2011. | * [[:rEFInd]] : un chargeur de démarrage alternatif à GRUB |
| * [[refind|rEFInd]], un chargeur de boot alternatif à Grub | |
| |
| ---- | ---- |
| | //[[:Contributeurs]] : [[:utilisateurs:Frombenny]], [[:utilisateurs:Theozzfancometh]], [[:utilisateurs:f.x0]], [[:utilisateurs:albanmartel]], [[:utilisateurs:perco]], [[:utilisateurs:krodelabestiole]].// |
| // Contributeurs : [[:utilisateurs:Frombenny]] (rédaction de la page), [[:utilisateurs:Theozzfancometh]], [[:utilisateurs:f.x0]], [[:utilisateurs:albanmartel]], [[:utilisateurs:perco|perco]].// | |
| |