Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
grub-pc [Le 22/11/2020, 16:58]
malbo [Ajouter du rootdelay au démarrage] lien vers tuto "Comment modifier un fichier" au lieu de commande obsolète "gksudo gedit /etc/default/grub" -
grub-pc [Le 14/10/2023, 14:51] (Version actuelle)
serged [Démarrer sur le dernier OS chargé]
Ligne 1: Ligne 1:
 {{tag>​boot amorçage}} {{tag>​boot amorçage}}
- 
----- 
  
 ====== GRUB 2 (version Compatibles PC) ====== ====== GRUB 2 (version Compatibles PC) ======
Ligne 37: Ligne 35:
  
  
-Pour un paramétrage avec interface graphique : +Pour un paramétrage avec interface graphique :
   * Sous [[:KDE]] pour les versions jusqu'​à Kubuntu Wily (15.10) : **[[apt>​kde-config-grub2]]** ​   * 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 :   * Sous d'​autres environnements ou pour les versions Kubuntu Xenial (16.04) et ultérieures :
     * [[:​grub-customizer|Grub Customizer]]     * [[:​grub-customizer|Grub Customizer]]
-    * [[:​Superbootmanager|Super Boot Manager]] (abandonné) 
  
 ===== Utilisation du menu ===== ===== Utilisation du menu =====
-**Si vous n'avez qu'un seul système d'​installé, Grub ne s'​affiche pas !**  +**Par défautle menu de Grub ne s'​affiche pas dans les configurations ne comportant qu'un seul système.**
- +
-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'ordinateurOn peut aussi forcer l'​affichage du menu Grub en faisant les modifications suivantes dans le fichier /​etc/​default/​grub : **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"​.+
  
 +Pour l'​afficher,​ il faut, **au démarrage**,​ maintenir enfoncée la **touche Majuscule (shift)** ​ ( ou la touche** [[https://​forum.ubuntu-fr.org/​viewtopic.php?​pid=21778237#​p21778237|ECHAP]]**).
 <note help> Appuyer 3 ou 4 fois sur la touche Maj ou  Echap à l'​apparition du logo du bios fonctionne aussi.</​note>​ <note help> Appuyer 3 ou 4 fois sur la touche Maj ou  Echap à l'​apparition du logo du bios fonctionne aussi.</​note>​
 +Un comportement différent peut être obtenu en [[:​tutoriel:​comment_modifier_un_fichier|modifiant]] le fichier /​etc/​default/​grub **avec les droits d'​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"​.
  
-Dans les autres cas, vous verrez la liste des systèmes installés : 
-  * 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 ​+Dans les autres cas, Grub affiche le menu qui permet de choisir le système désiré ​
-  * 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) +  * sans intervention aucune, le système sélectionné par défaut est **lancé automatiquement** après quelques secondes. 
-  * avec la **touche '​c'​** vous pourrez intervenir sur Grub en **ligne de commande** (Echap pour revenir au menu)+  * un autre des systèmes affichés peut être choisi puis lancé par l'utilisation des **flèches du clavier** : navigation par les **flèches 'vers le bas'​** ​ou **'vers le haut'**  puis lancement avec la **touche '​entrée'​** (ou la flèche vers la droite). 
 + 
 +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,​ Echap permet de revenir en arrière sans changement) 
 +  ​* de basculer Grub en **ligne de commande** avec la **touche '​c'​** (Echap pour revenir au menu)
   ​   ​
  
Ligne 72: Ligne 70:
 ===== 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
Ligne 95: Ligne 95:
   * **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>​
  
 Il faut que la partition cible soit montée (ouverte via le gestionnaire de fichiers par exemple). Il faut que la partition cible soit montée (ouverte via le gestionnaire de fichiers par exemple).
 Pour savoir si le disque est bien /dev/sdb, on peut lancer la commande //'​sudo blkid'//​. Pour savoir si le disque est bien /dev/sdb, on peut lancer la commande //'​sudo blkid'//​.
 +=== Cas particulier de la version 21.04 ===
 +Cette version installe automatiquement la structure de boot EFI y compris lorsque l'​ordinateur n'est pas équipé de cette fonctionnalité. La réparation à faire est la suivante:
 +  * Booter avec le support d'​installation.
 +  * Lancer [[gparted|]]
 +  * Mettre le drapeau **bios_grub** dans la partition de  boot FAT32 afin de la transformer en partition [[gpt|bios-boot]]
 +  * En profiter pour mémoriser la partition contenant le logiciel ubuntu. Par exemple /dev/sda2
 +  * Quitter gparted et monter la partition ubuntu grâce à cette commande <code bash> sudo mount -v  /​dev/​sda2 ​ /mnt </​code>​
 +  * Faire l'​installation ​ du grub légacy ​ grâce à cette commande <code bash>​sudo grub-install --boot-directory=/​mnt /dev/sda </​code>​
  
 ==== Démarrer Ubuntu à partir de grub> et grub rescue> ==== ==== Démarrer Ubuntu à partir de grub> et grub rescue> ====
Ligne 149: Ligne 157:
 linux /vmlinuz root=/​dev/​sda1 ro linux /vmlinuz root=/​dev/​sda1 ro
 initrd /initrd.img initrd /initrd.img
-boot</​code>​+boot</​code><​note aide>il est possible que les bonnes commandes soient<​code>​set root=(hd0,​msdos1) 
 +linux /​boot/​vmlinuz root=/​dev/​sda1 ro 
 +initrd /​boot/​initrd.img 
 +boot</​code></​note>
  
 {{::​grub_normal_boot.png?​400|}} {{::​grub_normal_boot.png?​400|}}
Ligne 211: Ligne 222:
  
 <​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>​
 +
 +==== Démarrer sur le dernier OS chargé ====
 +
 +Souvent les mises à jour de certains OS propriétaires demandent plusieurs reboots après un temps de calcul conséquent.
 +
 +Pour éviter de redémarrer sur Ubuntu, il faut modifier la ligne :
 +<​code>​
 +GRUB_DEFAULT="​0"​
 +</​code>​
 +par
 +<​code>​
 +GRUB_DEFAULT=saved
 +GRUB_SAVEDEFAULT=true
 +</​code>​
 +Suivi d'un :
 +<​code>​
 +sudo update-grub
 +</​code>​
  
 ===== Problèmes connus ===== ===== Problèmes connus =====
 +
 ====Grub n'​apparaît pas au démarrage==== ====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. 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.
-Ouvrir le terminal, écrire + 
-<​code>​sudo xdg-open ​/​etc/​default/​grub</​code>​ +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
-Enlever ​le dièse ​« # » 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.
  
Ligne 258: Ligne 298:
  
 **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====
Ligne 284: Ligne 324:
  
 ==== 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.
  
Ligne 293: Ligne 334:
  
 ==== 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).
  
Ligne 303: Ligne 345:
  
 ====Via un CD-Live ou USB-Live==== ====Via un CD-Live ou USB-Live====
 +
 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>​
  
Ligne 321: Ligne 364:
  
 ==== 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).
  
Ligne 336: Ligne 380:
  
 Au prochain reboot, le message ne devrait plus apparaître. Au prochain reboot, le message ne devrait plus apparaître.
- 
  
 ===== Liens externes ===== ===== Liens externes =====
 +
   * [[http://​www.gnu.org/​software/​grub/​manual/​grub.html|Manuel grub-pc (en anglais)]]   * [[http://​www.gnu.org/​software/​grub/​manual/​grub.html|Manuel grub-pc (en anglais)]]
   * [[http://​tradinfo.e-monsite.com|Manuel GNU GRUB (en français)]]   * [[http://​tradinfo.e-monsite.com|Manuel GNU GRUB (en français)]]
Ligne 351: Ligne 395:
   * [[:​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|rEFInd]],​ un chargeur de boot alternatif à Grub   * [[refind|rEFInd]],​ un chargeur de boot alternatif à Grub
  
  • grub-pc.1606060733.txt.gz
  • Dernière modification: Le 22/11/2020, 16:58
  • par malbo