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 06/05/2016, 15:13]
85.218.40.80 [Long temps de chargement] m
grub-pc [Le 14/10/2023, 14:51] (Version actuelle)
serged [Démarrer sur le dernier OS chargé]
Ligne 1: Ligne 1:
-{{tag>Precise Trusty ​boot amorçage}} +{{tag>​boot amorçage}}
- +
-----+
  
 ====== GRUB 2 (version Compatibles PC) ====== ====== GRUB 2 (version Compatibles PC) ======
Ligne 11: Ligne 9:
 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...). 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, ce document concerne la version de GRUB 2 pour les ordinateurs Compatibles PC (la plupart des ordinateurs ​32 bits et 64 bits disponibles sur le marché actuellement) ; des paquets ​//[[:​grub-efi]]// et //[[:grub-coreboot]]// existent pour les architectures basées sur EFI (tels les MacIntel) et sur Coreboot/​LinuxBIOS.+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]].
  
 ===== Pré-requis===== ===== Pré-requis=====
   * Disposer des [[:​sudo|droits d'​administration]] ;   * Disposer des [[:​sudo|droits d'​administration]] ;
   * Disposer d'une connexion à Internet configurée et activée.   * Disposer d'une connexion à Internet configurée et activée.
- 
 ===== Installation ===== ===== Installation =====
  
-Lors d’une ​nouvelle ​installation ([[:​telechargement|depuis un support d'​installation]]),​ si vous n’avez pas paramétré les options avancées, ​vous n’avez rien de plus à faire : GRUB 2 ​est installé et est votre chargeur d’amorçage principal pour Ubuntu.+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.
  
 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>​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%% 1.98// ou +, vous avez GRUB 2, si c’est 0.97, vous avez [[:Grub Legacy]].
  
-**Si vous avez modifié les options avancées** lors de l'​installation d’Ubuntu et souhaitez installer ​Grub 2 ​sur le [[:​mbr|MBR]], ​il suffit de suivre ​[[:​tutoriel:​comment_restaurer_grub|ce tutoriel]].+Si vous **souhaitez installer** Grub 2 sur le [[:​mbr|MBR]] ​**ou le réinstaller** après un souciréférez vous à **[[#​Réinstaller/​Restaurer GRUB 2|cette explication]]**.
  
-===== Après installation complète d’Ubuntu ​=====+===== Fonctionnement général ​===== 
 +La configuration finale de grub est dans le fichier **/​boot/​grub/​grub.cfg**
  
-==== Afficher le menu GRUB ==== +Ce fichier est généré automatiquement par la commande **update-grub** à partir des entrées suivantes : 
-Le menu de GRUB ne s’affiche pas au démarrage d’un PC mono-système. Il suffit de laisser la touche Majuscule (shift) enfoncée ​**avant** le chargement de GRUB pour l'​afficher.+  ​* ​Le fichier ​de paramétrage général : **/​etc/​default/​grub** 
 +  * Tous les fichiers dans : **/​etc/​grub.d/​** 
 +    * dont le fichier **/etc/grub.d/​40_custom** qui contient votre configuration personnelle en option
  
-Pour que le menu s’affiche systématiquement,​ il faut [[:​tutoriel:​comment_modifier_un_fichier|éditer]] avec les [[:​sudo|droits d'​administrateur]] le fichier **/​etc/​default/​grub** puis d’y ajouter un [[wpfr>​Croisillon_(signe)|croisillon]] « # » au début de la ligne idoine, comme ceci: 
-<​file>#​ GRUB_HIDDEN_TIMEOUT=0</​file>​ 
-(voir [[#​configuration_manuelle|/​etc/​default/​grub :​ options par défaut]]). 
  
-Ensuite, n'oubliez pas de mettre à jour votre fichier de configuration grub en saisissant dans un [[:terminal]] la [[:commande_shell|commande]] suivante: +Plus d'information sur le **[[:tutoriel:grub2_parametrage_manuel|paramétrage manuel de Grub]]**.
-<​code>​sudo update-grub</​code>​+
  
-==== Réinstaller/​Restaurer GRUB 2 ==== 
-Réinstallation/​Restauration du GRUB, par exemple lorsqu’il a été effacé ou désactivé suite à l’installation d’un autre système d’exploitation (par exemple, Microsoft® Windows®, Suse (OpenSuse)). Voir [[:​tutoriel:​comment_restaurer_grub|ce tutoriel]]. 
  
-==== Placer Windows en premier dans le grub ==== +Pour un paramétrage avec interface graphique : 
-Reportez-vous ​à ce [[#​exempleos_selectionne_par_defaut|paragraphe]].+  * 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]]
  
-==== Amorçage multiple :​ privilégier un grub  ​==== +===== Utilisation du menu ===== 
-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) :​ +**Par défaut, ​le menu de Grub ne s'affiche pas dans les configurations ne comportant qu'un seul système.**
-  - allez dans cette autre installation,​  +
-  - ouvrez le [[:​terminal]],​ et tapez : +
-<​code>​sudo os-prober +
-sudo update-grub +
-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…+
  
-:-) 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'​ordinateurpour 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.+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>​ 
 +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"​.
  
  
-=====Configuration simple (pour débutants) ===== +Dans les autres ​cas, Grub affiche le menu qui permet de choisir le système désiré ​
- ​[[:​grub-customizer|Grub Customizer]] et  [[:​Superbootmanager|Super Boot Manager]] ((Super Boot Manager gère aussi les [[:​Plymouth]])) sont deux applications graphiques avancées permettant de modifier la plupart des paramètres,​ entre autres :\\ +  * sans intervention aucune, le système sélectionné par défaut est **lancé automatiquement** après quelques secondes. 
-//(Sous [[:KDE]] il vous suffit d'[[:tutoriel:​comment_installer_un_paquet|installer ​le paquet]] ​**[[apt>​kde-config-grub2]]**)//+  * 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).
  
-    ​choisir une entrée ​de menu d’amorçage à sélectionner par défaut ;​ +Il est également possible : 
-    ​masquerchanger l’ordre, ajouter ​ou supprimer des entrées du menu d’amorçage ;​ +  ​* de modifier la ligne du menu avec la **touche '​e'​** pourpar exemple, ajouter ​un paramètre (Ctrl X : lance le système en appliquant la modification,​ Echap permet de revenir en arrière sans changement) 
-    ajouter des paramètres au noyau ; +  de basculer Grub en **ligne de commande** avec la **touche '​c'​** (Echap pour revenir au menu) 
-    ​modifier ​la résolution d’affichage ;​ +  
-    ​modifier les couleurs du menu GRUB ; +
-    * ajouter une image d’arrière-plan:​+
  
-===== Configuration avancée ​===== +===== Habillage et thèmes ​=====
-<note warning>​À partir de ce chapitre, vous allez intervenir directement sur les fichiers de GRUB. Soyez prudent, les fichiers de GRUB ne doivent pas être modifiés à la légère, sous peine d'​avoir un système qui ne démarre plus. Si vous ne maîtrisez pas bien, n'​hésitez pas à demander de l'aide sur le [[http://​forum.ubuntu-fr.org/​|forum]]. </​note>​ +
-==== Liste des fichiers utilisés pour la configuration ==== +
-<note important>​ À connaître avant de configurer manuellement. </​note>​ +
-=== Fichier utilisé par le système ​===+
  
-  ​/​boot/​grub/​**grub.cfg** : ​il est généré automatiquement par //​update-grub// ​(il est inutile d’éditer ce fichieret **ne doit** donc **pas être modifié manuellement**.+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
  
-=== Fichiers utilisés pour l’auto-configuration ​===+===== 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. 
 +<​code>​sudo grub-reboot 1 ; reboot</​code>​
  
-  * /​etc/​default/​**grub** :​ gère les valeurs par défaut de grub (délai de lancement, résolution d’affichage,​ splash/​quiet,​ options par défaut des nouveaux noyaux…) ;​ 
-  * les fichiers du dossier **/​etc/​grub.d/​** :​ 
-    * **00_header** :​ contient le script gérant les options définies dans /​etc/​default/​grub ;​ 
-    * **05_debian_theme** :​ gère les couleurs du menu et le fond d’écran éventuel ;​ 
-    * **10_linux** :​ contient le script de lancement du système sur lequel on est ; 
-    * **20_memtest86+** :​ script permettant de générer les entrées memtest ; 
-    * **20_linux_xen** FIXME 
-    * **30_os-prober** :​ contient le script de recherche des autres systèmes installés ;​ 
-    * **30_uefi-firmware** FIXME 
-    * **40_custom** :​ configuration personnelle ;​ c'est là qu’on pourra paramétrer manuellement le lancement des systèmes d’exploitation;​ 
-    * **41_custom** FIXME 
-Ces fichiers sont traités dans l’ordre numérique (00_, puis 05_, puis 10_, etc.). 
-  
  
-==== Configuration/reconfiguration automatisée du menu GRUB ====+===== Réparation & maintenance ===== 
 +==== Réinstaller/Restaurer ​GRUB ====
  
-<​note>​Si vous avez démarré sur la partition qui contient le grub.cfg à mettre à jourfaites directement la commande ci-dessous.\\ +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-installgrub-mkconfigupdate-grub, …) : 
-Sinonréférez-vous au paragraphe [[#​Configuration/​reconfiguration automatisée à partir du live CD]] dans les cas particuliers.</​note>​ +<​code>​sudo ​apt purge grub grub-pc grub-common -y && sudo apt install grub-pc -y</​code>​
-<​code>​sudo ​update-grub</​code>​ +
-Cette [[:​commande_shell|commande]] saisie dans un [[:​terminal]] lit le contenu de ces fichiers un à un : +
-  - /​etc/​default/​grub ;​ +
-  - l’ensemble des fichiers contenus à la racine du dossier /​etc/​grub.d/​. +
-La lecture de ces fichiers permet de générer automatiquement un nouveau fichier grub.cfg.+
  
-<​note>​**sudo grub-mkconfig -o /​boot/​grub/​grub.cfg** et **update-grub** font exactement la même chose. Toutes les commandes ​de mise à jour de la config de grub-pc seront données avec update-grub car plus simple à mémoriser.\\ +Plusieurs options sont offertes pour restaurer le fonctionnement correct ​de Grub après qu'il a été effacé ou détérioré :
-**sudo grub-mkconfig** (seul) vous permettra de visualiser dans votre terminal ce que **pourrait être** le contenu du fichier grub.cfg (utile pour les tests car les changements ne sont pas encore enregistrés).</​note>​+
  
-==== Configuration manuelle ​==== +=== Via le Réparateur de Démarrage ​===
-<note important>​Avant de commencer, il est souhaitable :​ +
-  * d’avoir un fichier **/​boot/​grub/​grub.cfg** à jour en lançant dans un [[:​terminal]] la [[:​commande_shell|commande]] //​update-grub//​ (voir plus haut) ; +
-  * d’en garder une [[:​tutoriel:​comment_sauver_et_restaurer_un_fichier|sauvegarde]] (ex. : //sudo cp /​boot/​grub/​grub.cfg /​boot/​grub/​grub.cfg.autogénéré//​) ;​ +
-  * de ne pas chercher à le modifier directement (sera écrasé à un moment ou à un autre). +
-  * de prévoir de modifier le grub à partir du premier OS installé autrement les modifications ne seront pas prises en compte.+
  
-De même, aucun script de configuration présent dans **/​etc/​grub.d/​** ne doit être effacé.\\ Il est préférable ​de les déplacer dans un dossier dormant créé pour cela (ex. : //sudo mkdir /​etc/​grub.d/​zz//​). +La méthode la plus simple ​est l'​utilisation du [[:​boot-repair|réparateur ​de Démarrage]] ​(outil graphique).
-</​note>​+
  
-=== /​etc/​default/​grub :​ options par défaut ​=== +=== Depuis votre Ubuntu ayant démarré ​=== 
-[[:​tutoriel:​comment_modifier_un_fichier|Modifiez]] ​avec les [[:sudo|droits d’administration]] le fichier des valeurs par défaut de GRUB, **/etc/default/grub**.+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 
 +sudo os-prober 
 +sudo update-grub 
 +sudo grub-install ​/dev/​CodeDuDisqueUbuntu # par exemple sda sans chiffre</​code>​ 
 +Si vous voulez définir une partition en particulier (ou un disque en particulier) :​ <​code>​sudo ​grub-install --force /​dev/​sda7</​code>​ 
 +Dans cette commande l'​exemple considère qu'il s'agit du disque a, partition 7.
  
-  ​* **GRUB_DEFAULT=0** correspond au menu qui sera sélectionné par défaut (-> **[[#​exempleos_selectionne_par_defaut|exemple]]**). +Pour avoir une liste des systèmes installés ​**à jour**, on ajoutera éventuellement ​un //'​sudo ​update-grub'//.
-  * **#​GRUB_HIDDEN_TIMEOUT=0** :​ avec le [[wpfr>​wiki|croisillon]] « # »le menu de grub sera visible.\\ Sans le « #​ »,​ le menu de grub sera invisible ; c'est utile si on n’a qu’un seul système sur le disque ou si grub est lancé via [[#​chainer_un_autre_menu_d_amorcage|un autre gestionnaire d’amorçage]].\\ Le nombre fixe, en secondes, la durée permettant d’appuyer sur les touches **Échap** ou majuscule (**Shift**) pour faire apparaître le menu invisible (-> **[[#​cacher_le_menu|exemple]]**). +
-  * **GRUB_HIDDEN_TIMEOUT_QUIET=false** De pair avec ‘GRUB_HIDDEN_TIMEOUT’,​ positionner à ‘true’ afin de supprimer l'​affichage du __décompte__ en attendant qu'une touche soit pressée pendant l'​affichage du menu. +
-  * **GRUB_TIMEOUT=10** est la durée en secondes de l’affichage du menu avant de se lancer sur le menu sélectionné par défaut. (si vous modifiez cette valeur et qu’elle n’est pas prise en compte après ​un //​update-grub//​, il vous faudra peut-être enlever le [[wpfr>​wiki|croisillon]] « # » devant GRUB_HIDDEN_TIMEOUT). Mettre cette valeur à **-1** provoquera l’affichage du menu jusqu’à ce que l’utilisateur valide un choix dans la liste proposée. +
-  * **GRUB_DISTRIBUTOR=""​** est la ligne qui définit la syntaxe des titres du menu (-> **[[#​exempletitres_du_menu|exemple]]**) +
-  * **GRUB_CMDLINE_LINUX_DEFAULT=""​** et **GRUB_CMDLINE_LINUX=""​** sont des comportements prédéfinis qui affecteront le lancement des systèmes d’exploitation détectés automatiquement. +
-  * **#​GRUB_GFXMODE=640x480** (-> **[[#​exempleresolution_d_affichage|exemple]]**). +
-  * Depuis [[:​Lucid]] :​ **#​GRUB_INIT_TUNE="​480 440 1"** permet d’avoir un bip à l’affichage d’un menu Grub si on enlève le [[wpfr>​wiki|croisillon]] « #​ ». +
-  * **GRUB_GFXPAYLOAD=1024x768** :​ à ajouter éventuellement. Définit la résolution d’affichage de l’écran de chargement (splash screen tel que [[:​Plymouth#​augmenter_la_resolution|Plymouth]] par exemple).+
  
-=== Un bon vieux menu à plat ===+=== 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 : 
 +  * **pour une installation classique** la commande à lancer est : 
 +<​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) : 
 +<​code>​sudo grub-install --boot-directory=/​media/​NomUtilisateur/​pointMontagePartitionBoot /​dev/​sdb</​code>​
  
-Si le principe du sous-menu vous agacevous pouvez ​le désactiver en [[:​tutoriel:​comment_modifier_un_fichier|ouvrant]] avec les [[:sudo|droits d’administration]] le fichier **/etc/default/​grub** pour y ajouter ​la ligne +Il faut que la partition cible soit montée (ouverte via le gestionnaire de fichiers par exemple). 
-<file>GRUB_DISABLE_SUBMENU=y</file>+Pour savoir si le disque est bien /dev/sdbon 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>
  
-Sauvegardez,​ puis dans un [[:​terminal]],​ +==== Démarrer Ubuntu à partir de grub> et grub rescue> ====
-<​code>​sudo update-grub</code> +
-et voilà.+
  
-=== Enlever un certain nombre de noyaux === +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.
-On peut supprimer les [[:​kernel|noyaux]] les plus anciens. **Il est conseillé ​de laisser les deux derniers noyaux**Se référer à la documentation [[:​kernel#​suppression_des_anciens_noyaux|Nettoyer ​Ubuntu]].+
  
 +Suivez les instructions en fonction du Grub que vous voyez.
  
-=== Désactiver quelques automatismes === +**A partir de grub rescue>**
-Si vous avez créé le dossier //zz// dans **/etc/grub.d/** (voir note importante plus haut), vous pourrez y déplacer les fichiers :​ +
-  * **20_memtest86+** pour ne plus faire apparaître les tests de mémoire dans le menu de démarrage ;​ +
-  * **30_os-prober** pour ne plus déclencher la détection automatique des autres systèmes installés.+
  
-[[:gestionnaire_de_fichiers|Ouvrez le dossier]] **/etc/grub.d** avec les [[:sudo|droits d'​administration]],​ par exemple en saisissant dans un [[:​terminal]] :​ +{{::​grub_rescue.png?400|}}
-<​code>​sudo xdg-open /​etc/​grub.d</​code>​ +
-puis déplacez les fichiers à la souris ou par couper/​coller.+
  
-<note important>​Attention :​ **si vous voulez cacher GRUB** avec les options //​GRUB_HIDDEN_TIMEOUT//​ et //​GRUB_HIDDEN_TIMEOUT_QUIET//​ dans le fichier **/​etc/​default/​grub**,​ //​30_os-prober//​ étant le script qui en tient compte, **laissez-le actif et préférez plutôt l’option GRUB_DISABLE_OS_PROBER=true** dans le fichier **/​etc/​default/​grub**.+Il faut identifier la partition Ubuntu et définir ​les commandes pour arriver au Grub normal.
  
-IMPORTANT notez toutefois que si vous faites ainsi__les autres O.Sne seront plus détectés et vous ne les aurez plus dans la liste__Pour avoir uniquement le compte à rebours tout en conservant les autres O.Ssur la listevoir paragraphe plus bas.</note>+<​code>​ls # lister les partitions 
 +# le résultat sera du genre (hd0) (hd0,msdos1) (hd0,​msdos2)..
 +# utilisez LS pour chaque partition afin d'​identifier celle d'​Ubuntu 
 +ls (hd0,​msdos1) 
 +ls (...) 
 +la partition Ubuntu donnera un résultat du genre : 
 +... Filesystem is ext2 
 +# Une fois la partition Ubuntu trouvéetapez ces commandes en utilisant la bonne identification 
 +# Pour l'​exemple,​ on utilisera (hd0,​msdos1) 
 +set root=(hd0,​msdos1) 
 +set prefix=(hd0,​msdos1)/​usr/​lib/​grub 
 +insmod normal 
 +normal</code>
  
-==Autres méthodes ==+{{::​grub_rescue_completed.png?​400|}}
  
-  * plutôt que de déplacer ces fichierson peut aussi désactiver leurs droits d’exécution ;​ toujours via le [[:​gestionnaire_de_fichiers|gestionnaire de fichiers]] :​ +En validant la dernière commandeGrub va alors démarrer en grub normal. Suivez la suite des instructions ​pour grub normal.
-    - clic droit sur l’un ​des fichiers ​pour accéder à ses //​Propriétés//​ ;​ +
-    - dans l’onglet //​Permissions//,​ décochez la case //Autoriser l’exécution…//​ ;​+
  
-  ​* de même, il est possible d’'​ajouter cette ligne au fichier de configuration **/​etc/​default/​grub** :<​file>​GRUB_DISABLE_OS_PROBER=true</​file>​+**A partir ​de grub> normal**
  
-=== Paramètres personnalisés === +{{::grub_normal.png?​400|}}
-[[:tutoriel:comment_modifier_un_fichier|Éditez le fichier]] **/​boot/​grub/​grub.cfg** autogénéré plus haut et le fichier **/​etc/​grub.d/​40_custom**. Copier depuis le grub.cfg (ou une de ses sauvegardes) ce que vous trouverez entre <​file>###​ BEGIN /​etc/​grub.d/​30_os-prober ###</​file>​ et <​file>###​ END /​etc/​grub.d/​30_os-prober ###</​file>​ et coller le dans 40_custom. Modifiez ensuite les paramètres à votre guise.+
  
-Vous pouvez aussi créer un autre fichier personnalisé avec une numérotation qui le lance avant tous les autres par exemple :​ +Il faut identifier la partition Ubuntu et définir ​les commandes pour démarrer Ubuntu.
-    * [[:​tutoriel:​comment_modifier_un_fichier|Créez le fichier]] **/etc/grub.d/​07_custom** ;​ +
-    * après son enregistrement,​ vous le rendrez exécutable :​ <​code>​sudo chmod +x /​etc/​grub.d/​07_custom</​code>​+
  
-Pour appliquer cette nouvelle configuration lancez ​un : +<​code>​ls # lister les partitions 
-<​code>​sudo update-grub</​code>​+# le résultat sera du genre : (hd0) (hd0,​msdos1) (hd0,​msdos2)... 
 +# utilisez LS pour chaque partition afin d'​identifier celle d'​Ubuntu 
 +ls (hd0,​msdos1) 
 +ls (...) 
 +# la partition Ubuntu donnera ​un résultat du genre 
 +# ... Filesystem is ext2 
 +# Une fois la partition Ubuntu trouvée, tapez ces commandes en utilisant la bonne identification 
 +# Pour l'​exemple,​ on utilisera (hd0,​msdos1) 
 +set root=(hd0,​msdos1) 
 +linux /vmlinuz root=/​dev/​sda1 ro 
 +initrd /​initrd.img 
 +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>
  
-Puis, relancez votre machine. +{{::​grub_normal_boot.png?400|}}
-===== Exemples et cas particuliers ===== +
-==== Configuration/​reconfiguration automatisée à partir du live CD ===+
  
-<note important>​Impose l’emploi d'un support Live 32 bits pour un grub 32 bits à réparer et d’un CD d’une version 64 bits pour réparer une installation 64 bits…</​note>​+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.
  
-Si vous ne pouvez pas démarrer sur la partition qui contient le fichier grub.cfg à mettre à jour, vous pouvez lancer la [[:​commande_shell|commande]] ​**update-grub** ​sur cette partition après avoir démarré depuis un live-cd ou une autre partition contenant un Ubuntu en état de marche, et en effectuant les opérations suivantes.+**A partir de grub>  error : unknownfile system Entering rescue mode...**
  
-En prenant comme hypothèse que le fichier grub.cfg à mettre à jour se trouve sur la partition ​sdb1 qui nest pas déjà montée et qui est normalement montée sur / (donc /boot n’est pas sur une partition ​séparée).+<​code>​ls # lister les partitions 
 +le résultat sera du genre : (hd0) (hd0,​msdos1) (hd0,​msdos2) 
 +# utilisez LS pour chaque ​partition ​afin d'​identifier celle d'​Ubuntu 
 +ls (hd0,​msdos1) 
 +ls (hd0,​msdos2) 
 +# Donc si les partitions Ubuntu donnent un résultat du genre : 
 +unknownfile system  
 +# utiliser SET pour rechercher le chemin ​qui devrait afficher par exemple (le numéro de partition ​n'est pas le même suivant le cas) : 
 +grub rescue> set 
 +cmdpath=(hd0) 
 +prefix=(hd0,​msdos5)/boot/grub 
 +root=hd0,​msdos5 
 +# Une fois la partition ​Ubuntu trouvée, tapez ces commandes en utilisant la bonne identification 
 +# Pour l'​exemple,​ (hd0,msdos5) 
 +set root=(hd0,​msdos5) 
 +set prefix=(hd0,​msdos5)/​boot/​grub 
 +insmod normal 
 +normal</​code>​
  
-<​code>​sudo mkdir /​media/​sdb1 +{{:grub-unknow-filesystem.png?​direct&​400|}}
-sudo mount /dev/sdb1 /​media/​sdb1 +
-cd /​media/​sdb1 +
-sudo mount --bind /dev dev +
-sudo mount --bind /sys sys +
-sudo mount --bind /proc proc +
-sudo chroot ​.</​code>​+
  
-Par contresi /boot est sur une partition ​à part (/dev/sdb2 par exemple) et /dev/sdb1 est normalement montée sur /.+En validant la dernière commandeUbuntu va alors démarrer. Ensuite, suivez le paragraphe § 7.1.2 pour réparer Grub à partir d'​Ubuntu.
  
-<​code>​sudo mkdir /media/sdb1 
-sudo mount /dev/sdb1 /media/sdb1 
-cd /media/sdb1 
-sudo mount --bind /dev dev 
-sudo mount --bind /sys sys 
-sudo mount --bind /proc proc 
-sudo chroot . 
-sudo mount /dev/sdb2 /​boot</​code>​ 
  
-À partir ​de là vous êtes positionnés quasiment comme si vous aviez démarré sur sdb1 qui est devenu votre racineet vous êtes en root, donc pas besoin ​de sudo devant les commandes.  +==== Créer une clé USB de secours ==== 
-Ensuite vous pouvez ​faire votre //​update-grub//​ normalement :​ +Avant toute installation de nouveau systèmeil peut être judicieux ​de faire une clé USB de secours pour pouvoir remettre en route votre Grub, au cas où.
-<​code>​sudo update-grub</​code>​+
  
-Pour ré-installer GRUB sur le [[:mbr|MBR]] +Pour cela, vous pouvez **suivre ​[[:tutoriel/​grub2_lancer_des_images_iso#​grub_sur_une_cle_usb|ce tutoriel]]**.
-<​code>​sudo grub-install /​dev/​sdb</​code>​+
  
-Pour sortir ​du chroot, demontez /dev/sdb2 si /boot est sur une partition à part, +==== Ajouter ​du rootdelay au démarrage ==== 
-<​code>​sudo umount /​dev/​sdb2</​code>​ +Si vous tombez ​sur une Busybox au démarrageil est possible que le système n’ait pas attendu assez longtemps pour que les disques durs s’initialisentVous pouvez continuer le démarrage par un simple CTRL+D dans la BusyboxSi cela fonctionne, une solution sera d'​insérer un rootdelay dans grub.
-tapez exit, puis démontez ​les bind. +
-<​code>​exit +
-sudo umount proc +
-sudo umount dev +
-sudo umount sys +
-cd .. +
-sudo umount /​dev/​sdb1</​code>​+
  
-==== Cacher le menu ==== +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 : 
-FIXME suppression car déjà expliqué ici: [[#/​etc/​default/​grub options par défaut|/​etc/​default/​grub : ​options par défaut]]+<​file>​GRUB_CMDLINE_LINUX_DEFAULT="​rootdelay=40 quiet splash"</​file>​
  
- +Pour prendre ​en compte ce changement, on lancera ​la commande ​de mise à jour :
-==== Chaîner un autre menu d’amorçage ==== +
-**chainloader** vous permettra de lancer un autre gestionnaire d’amorçage présent sur le premier secteur des partitions concernées :​ **Windows, Lilo…** (ne fonctionne pas tel quel vers Grub2). Voici un exemple pour sda7 ajouté sur 40_custom (voir plus haut) : +
-<​file>​menuentry '​Bootloader Lilo sur sda7' { +
-set root=(hd0,​7) +
-chainloader +1 +
-}</​file>​ +
-**Pour qu’il fonctionne vers grub-legacy**,​ il faudra que celui-ci soit installé sur le **premier secteur d’une partition** et non le MBR (si ce n’est pas le cas, on lance le système qui a ce grub-legacy et on lance un //sudo grub-install /dev/sda7// par exemple). ** Note** : sur Squeeze le 26 mars 2012, pour que cela fonctionne, il faut utiliser la nomenclature suivante :​ +
-set root (hd0,​**msdos7**) au lieu de "set root (hd0,​**7**). +
- +
-**Pour chaîner vers un autre Grub2**, on procédera ainsi : +
-<​file>​menuentry 'Grub 2 sur /​dev/​sda7'​ { +
-set root=(hd0,​7) +
-chainloader +1 +
-}</​file>​ +
-Si ça n’a pas été fait lors de l’installation de l’OS qui se trouve sur sda7, il faut installer Grub dans le secteur de boot de la partition sda7. Pour réaliser cela dans le cas d’une partition racine Ubuntu 10.10 sur sda7 par exemple, il faut forcer (option --force) :​ +
-<​code>​sudo grub-install --force /​dev/​sda7</​code>​ +
- +
-==== Exemple : Titres du menu ==== +
-Voici comment s’affichent par défaut les lignes du menu grub : « Ubuntu,​ Linux 2.6.31-14-generic ». +
- +
-  * Pour modifier la partie avant la virgule de celui-ci, [[:​tutoriel:​comment_editer_un_fichier|éditez le fichier]] /​etc/​default/​grub et choisissez parmi les possibilités suivantes :​ +
-<​file>​GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` ​                  # donne : Ubuntu, Linux 3.13… +
-#​GRUB_DISTRIBUTOR=`lsb_release -d -s 2> /dev/null || echo Debian` ​                 # donne : Ubuntu 14.04 LTS, Linux 3.13… +
-#​GRUB_DISTRIBUTOR=`echo -n $(lsb_release -cds 2> /dev/null || echo Debian)` ​       # donne : Ubuntu 14.04 LTS lucid, Linux 3.13… +
-#​GRUB_DISTRIBUTOR=`echo -n TOTO $(lsb_release -r -s 2> /dev/null || echo Debian)` ​ # donne : TOTO 14.04 LTS, Linux 3.13… +
-#​GRUB_DISTRIBUTOR=`echo -n TITRE PERSONNALISÉ` ​                                    # donne : TITRE PERSONNALISÉ,​ Linux 3.13…</​file>​ +
- +
-==== Exemple : OS sélectionné par défaut ==== +
-Pour changer le système d'​exploitation sur lequel grub démarre par défaut : +
-  * [[:​tutoriel:​comment_editer_un_fichier|Éditez]] avec les [[:​sudo|droits d'​administration]] le fichier ///​etc/​default/​grub//​ et choisissez parmi les possibilités suivantes pour la variable **GRUB_DEFAULT=** ;​ +
-  * un chiffre (0 = le premier, 1 = le deuxième, etc.) ; +
-  * saved (sans guillemet) pour ce qui a été sélectionné lors du précédent lancement (nécessite de rajouter GRUB_SAVEDEFAULT=true) ;​ +
-  * ou le titre exact d’un menu mis entre [[wpfr>​guillemet|guillemets droits]] (par exemple : "​Microsoft Windows 2000 Professionnel (on /​dev/​sda1)"​) +
-  * ou **sudo mv /​etc/​grub.d/​30_os-prober /​etc/​grub.d/​06_os-prober** (pour mettre Windows par défault)\\ ne pas oublier, pour que la modification soit prise en compte ​: <​code>​sudo update-grub</​code>​ +
- +
-<note tip>Pour obtenir les titres exacts des menus : +
-<​code>​grep menuentry /​boot/​grub/​grub.cfg</​code></​note>​ +
- +
-<note warning>​Sous Ubuntu 12-04 et suivants ainsi que sous Grub 1.99, on peut constater (//cat /​boot/​grub/​grub.cfg//​) des sous-menus (en particulier le sous-menu //Previous Linux versions//​), ​ce qui remet en cause les indications précédentes et il faut spécifier plus précisément dans ///​etc/​default/​grub//​ le chemin complet « Submenu N>​Submenu X>Menu Entry Y » pour bien démarrer sur la bonne entrée. Voir [[http://​www.gnu.org/​software/​grub/​manual/​html_node/​default.html|ici]]. +
-Par exemplesi on veut booter sur la première entrée des anciens noyaux on peut modifier dans ///​etc/​default/​grub//​ la ligne comme suit : GRUB_DEFAULT="​Previous Linux versions>​0"​ ;​ 0 étant la première ligne. C’est utile quand on utilise des noyaux spécifiques pour Xen par exemple, noyaux qui vont tous se ranger proprement dans un sous-menu spécifique.</​note>​ +
- +
-==== Exemple : Résolution d'​affichage ==== +
-Ce qui suit décrit la procédure pour obtenir une meilleure résolution au démarrage et à l'​affichage du splashscreen. +
-  * Pour avoir la liste de toutes les résolutions supportées pendant le démarrage :​ tapez « c » quand vous êtes dans le menu du boot pour entrer en mode console. Puis : +
-<​code>​vbeinfo</​code>​ +
-La liste des résolutions supportées par Grub s'​affiche. Notez celle qui est la plus haute (par exemple: 1280x1024x32). Elle se trouve généralement tout en bas. +
-Puis, appuyez sur la touche **Echap (Esc)** pour revenir au menu de Grub et démarrer votre ordinateur. +
-  * [[:​tutoriel:​comment_editer_un_fichier|Éditez le fichier]] /​etc/​default/​grub. +
- +
-Ligne à éditer :​ +
-<​file>#​ GRUB_GFXMODE=640x480</​file>​ +
-**Enlever le [[wpfr>​Croisillon_(signe)|Croisillon]] « # » devant** « GRUB_GFXMODE= » et définir une résolution d’écran en fonction de votre matériel. Cela nous donnera notamment plus de liberté pour configurer un fond d’écran (voir plus bas). +
- +
-Exemples :​ +
-<​file>​GRUB_GFXMODE=1280x1024,​1024x768x32</​file>​ +
-La deuxième valeur sera prise en compte si la première n’est pas supportée par votre matériel. Celle-ci retombera à 640x480 si aucune des deux ne convient. Le x32 est la profondeur de codage des couleurs en bits (attention pas d’espace après la virgule sinon il y aura un message d’erreur lors de l’update-grub). +
- +
-Pour prendre en compte le changement :+
 <​code>​sudo update-grub</​code>​ <​code>​sudo update-grub</​code>​
-Si la résolution n'est toujours pas bonne, ou si vous n'avez carrément pas d'​affichage de l'​écran de démarrage (avec le pilote proporiétaire nvidia et Ati par exemple) essayez en ajoutant ceci : 
-<​file>​GRUB_GFXPAYLOAD_LINUX=auto</​file>​ ou 
-<​file>​GRUB_GFXPAYLOAD=1280x1024</​file>​ en adaptant la résolution à ce que vous avait répondu la commande ''​vbeinfo''​ 
-Après la ligne : 
-<​file>​GRUB_GFXMODE=1280x1024,​1024x768x32</​file>​ 
-En dernier recours, modifiez cette ligne : 
-<​file>​GRUB_CMDLINE_LINUX_DEFAULT="​quiet splash"</​file>​ par: 
-<​file>​GRUB_CMDLINE_LINUX_DEFAULT="​quiet splash video=uvesafb:​mode_option=1280x1024-24,​mtrr=3,​scroll=ywrap"</​file>​ 
-N'​oubliez pas le : 
-<​code>​sudo update-grub</​code>​ 
-Si vous ne pouvez plus démarrer Ubuntu suite à cette manipulation (écran restant indéfiniment noir ou sur l'​arrière-plan de grub), redémarrez votre ordinateur et lors de l'​affichage du menu de grub, appuyez sur la touche c de votre clavier. Lorsque l'​invite de commande de grub s'​affiche,​ tapez la commande suivante :<​code>​set gfxpayload=</​code>​ 
-puis appuyez sur la touche Entrée. Vous pouvez alors revenir au menu de grub en appuyant sur Échap et démarrer votre ordinateur normalement. 
- 
-==== Exemple : ancien paramètre vga=xxx ==== 
- 
-Dans les options de boot d’un Linux, on trouve parfois **le paramètre « vga=788 »** pour activer le framebuffer avec une définition d’écran donné. Dans Grub2, il faut utiliser **une ligne à part « set gfxpayload=800x600x16 »** à la place. Pour les autres résolutions,​ consultez [[:​tutoriel-definition_demarrage|le tableau sur cette page]]. ​ 
-Donc, au lieu de : 
-<​file>​linux /​boot/​vmlinuz […] vga=788 […]</​file>​ 
-on aura 
-<​file>​set gfxpayload=800x600x16,​ 800x600 
-linux /​boot/​vmlinuz […]</​file>​ 
- 
-==== Exemple : Fond d'​écran ==== 
-=== Pré-requis === 
-  * [[:​tutoriel:​comment_installer_un_paquet|Avoir installé le paquet]]** [[apt>​imagemagick|ImageMagick]]** est fortement recommandé. 
-  * Pour cet exemple : 
-    * on fixera une résolution de : **GRUB_GFXMODE=800x600x32,​800x600** (voir plus haut) ; 
-    * on stockera l’image de fond dans le dossier /boot/grub/ car cela simplifie beaucoup les choses pour certains cas particuliers (pour une partition /boot ou /home séparée, pour les partitions LVM, pour une mise à jour en mode recovery/​récupération…) et il fait partie des dossiers par défaut inclus dans les scripts de Grub. 
- 
-=== Configuration de /​etc/​grub.d/​05_debian_theme === 
-Suivez ces instructions:​ 
-  * copier une image (*.jpg, *.png ou *.tga) dans le répertoire /boot/grub (utiliser les [[:​sudo|droits superutilisateur]]) ;​ 
-  * dans une console faire un //sudo update-grub//​ ;​ 
-  * redémarrer et votre nouveau fond d’écran est là (première image rencontrée par ordre alphabétique dans le dossier /​boot/​grub). 
-  * attention : les couleurs de l'​image peuvent provoquer une mauvaise visibilité du menu sur l'​écran 
- 
- 
-=== Images au bon format === 
-L’image choisie comme fond d’écran peut ne pas fonctionner du premier coup (rapport 16/10ème pour un écran 4/3, provenance macintosh…). Pour la rendre lisible pour Grub, on pourra la convertir, par exemple, comme suit : 
-<​code>​convert $HOME/​Images/​image_exemple.jpg -resize 1024x768! -depth 16 $HOME/​Images/​image_exemple_au_bon_format.jpg</​code>​ 
- 
-=== Utilisation === 
-Pour modifier l’image de fond, il suffira de faire une copie de celle-ci avec les [[:​sudo|droits superutilisateur]] vers le dossier grub. Par exemple : 
-<​code>​sudo cp $HOME/​Images/​image_exemple.jpg /​boot/​grub/​00_image_de_fond.jpg</​code>​ 
- 
-Lors de la première utilisation,​ ne pas oublier de lancer un : 
-<​code>​sudo update-grub</​code>​ 
- 
- 
-=== Script pour automatiser les modifications de couleurs et image de fond d'​écran === 
- 
-Si les modifications manuelles de /​boot/​grub/​grub.cfg sont déconseillées,​ il est toutefois possible 
-de les faire réaliser par un programme. Vous trouverez [[http://​patchgrubtheme.poeulfs.org/​|à cette adresse]] un script pour changer de fond d’écran de GRUB − par exemple au hasard et à chaque redémarrage − 
-dans une sélection de thèmes définis dans un fichier de configuration. 
- 
-==== Tutoriel pour démarrer une image iso ==== 
- 
-Dans ce tutoriel vous aurez des exemples de menus « prêts à l'​emploi » pour lancer les livecd Ubuntu ou autres : 
-**[[:​tutoriel:​grub2_lancer_des_images_iso|Lancer des images iso directement depuis GRUB 2]]** 
  
-==== Lancement depuis Grub-Legacy ====+==== 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. 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 Trusty ​via GRUB-pc+<​file>​title Xenial ​via GRUB-pc
 uuid 70e29811-71a3-4553-a16c-1cce2ff334ed uuid 70e29811-71a3-4553-a16c-1cce2ff334ed
 kernel /​boot/​grub/​i386-pc/​core.img</​file>​ kernel /​boot/​grub/​i386-pc/​core.img</​file>​
  
-==== Rechercher d’autres OS présents sur la machine et les rajouter à GRUB automatiquement ​==== +==== Amorçage multiple :​ privilégier un grub  ​==== 
- +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) :​ 
-Si le script /etc/grub.d/​30_os-prober (voir plus haut) n’a pas trouvé les autres systèmes présents sur la machine, il est possible d’utiliser le logiciel OS-prober pour faire la même chose : +  ​- allez dans cette autre installation,​  
-  * [[:tutoriel:​comment_installer_un_paquet|installez le paquet]] **[[apt>​os-prober|os-prober]]** ; +  - ouvrez le [[:​terminal]], et tapez :
-  ​* puis saisissez ​dans une [[:terminal|console]] les commandes suivantes :+
 <​code>​sudo os-prober <​code>​sudo os-prober
-sudo update-grub</​code>​+sudo update-grub 
 +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…
  
-<​note ​important>Il semblerait que os-prober ait encore quelques problèmes ​avec le RAID (Voir [[http://lists.gnu.org/archive/html/bug-grub/2011-02/msg00030.html|ici]]et ne fonctionne ​pas dans ce cas-là.</​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'​origineIl suffira de changer dans le BIOS l'​ordre d'​examen des disques (lors du démarrage de l'​ordinateurpour 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>​
  
-==== Ajouter du rootdelay au démarrage ​====+==== Démarrer sur le dernier OS chargé ​====
  
-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, je vous conseille d’ajouter du rootdelay dans grub.+Souvent ​les mises à jour de certains OS propriétaires demandent plusieurs reboots après ​un temps de calcul conséquent.
  
-Pour cela [[:tutoriel:​comment_modifier_un_fichier|éditer]] /​etc/​default/​grub **avec les droits d'​administration** (commande "​gksudo gedit /​etc/​default/​grub"​) pour changer ​<file>GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"</file+Pour éviter de redémarrer sur Ubuntu, il faut modifier la ligne : 
-en +<code> 
-<file>GRUB_CMDLINE_LINUX_DEFAULT="​rootdelay=40 quiet splash"​</file+GRUB_DEFAULT="0" 
-Le temps à attendre est à estimer. Une fois la ligne éditée, il faut mettre à jour le fichier de config de grub +</code
-<​code>​sudo update-grub</​code>​ +par 
- +<code> 
-Maintenant à chaque mise à jour du kernel le rootdelay sera inséré.+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 [[wpfr>​wiki|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.
-  * Faites très attention à la structure et la graphie des commandes. ​Une espace mal placée ​ou une lettre majuscule inscrite en minuscule peut rendre la commande inopérante ;​+  * Faites très attention à la structure et la graphie des commandes. ​Un espace mal placé ​ou une lettre majuscule inscrite en minuscule peut rendre la commande inopérante ;​
   * 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>​ +<​code>​search -f --set=Root /​boot/​grub/​core.img
-<​code>​set root=(${Root})</​code>​ +
-<​code>​probe -u (${Root}) --set=UUID</​code>​ +
-<​code>​linux /vmlinuz root=UUID=${UUID} ro</​code>​ +
-<​code>​initrd /​initrd.img</​code>​ +
-<​code>​boot</​code>​+
  
-Ceci effectué, Ubuntu se charge. Pour regénérer le menu de GRUB 2, vous exécuterez ensuite la commande suivante dans un terminal :​ +set root=(${Root})
-<​code>​sudo update-grub</​code>​+
  
-==== Error 15 : passage difficile à Grub2 ====+probe -u (${Root}) --set=UUID
  
 +linux /vmlinuz root=UUID=${UUID} ro
 +
 +initrd /initrd.img
 +
 +boot</​code>​
 +
 +Ceci effectué, Ubuntu se charge. Pour regénérer le menu de GRUB 2, vous exécuterez ensuite la commande suivante dans un terminal :​
 +<​code>​sudo update-grub</​code>​
 +
 +==== 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>​
-réinstallez GRUB2 comme décrit dans [[:​tutoriel:​comment_restaurer_grub|ce tutoriel]]. +réinstallez GRUB2 comme décrit dans [[#​Réinstaller/​Restaurer GRUB 2|le paragraphe de cette page qui traite ​ce sujet]].
- +
-====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 :​ 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. 
 +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==== 
 +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]] 
 + 
 +**Contournement 1 :** 
 +  * Désactiver tous les fichiers /​boot/​grub/​grub.cfg de toutes les distributions installées en les renommant en grub.cfg.old 
 +  * Mettre à jour Grub : sudo update-grub 
 +Cette méthode est rapide mais sera potentiellement annulée lors des prochaines mis à jour de grub dans les autres distributions 
 + 
 + 
 +**Contournement 2 :** 
 +  * 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]]
  
-Une autre solution est de 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]]. 
  
 ====Utilisation du clavier freeze Grub-PC ==== ====Utilisation du clavier freeze Grub-PC ====
Ligne 418: Ligne 319:
 **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 ​« Prise ​en charge USB léguée ». 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.
  
Ligne 432: 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 440: Ligne 343:
  
 Finissez par le //sudo update-grub//​ évidemment. Finissez par le //sudo update-grub//​ évidemment.
 +
 ====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 457: Ligne 362:
 * remplacer sda3 par la réponse que vous donne <code bash>​sudo os-prober</​code>​ * remplacer sda3 par la réponse que vous donne <code bash>​sudo os-prober</​code>​
 [[http://​openclassrooms.com/​forum/​sujet/​pas-de-grub-au-demarrage-du-pc#​message-84716723|Source]] de cette astuce. [[http://​openclassrooms.com/​forum/​sujet/​pas-de-grub-au-demarrage-du-pc#​message-84716723|Source]] de cette astuce.
 +
 ==== 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 473: 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://www.tutoriels-video.fr/personnaliser-ubuntu-lecran-de-boot/|Tutoriel vidéo : Personnaliser l'​écran ​de boot d'​ubuntu (fr)]]+  * [[http://tradinfo.e-monsite.com|Manuel GNU GRUB (en français)]] 
 +  * [[http://papy-tux.legtux.org/​doc1192/​index.html|Personnalisation ​de Grub Partie 1]] 
 +  * [[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.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)]]
Ligne 485: Ligne 394:
   * [[:​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]],​
   * [[:​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]].
-  * [[:burg|BURG]] alternative graphique ​à grub+  * [[:tutoriel:​comment_recuperer_ubuntu_apres_installation_windows|Récupérer Ubuntu après installation de Windows]] 
 +  * [[refind|rEFInd]],​ un chargeur de boot alternatif ​à Grub
  
 ---- ----
  
 // Contributeurs :​ [[:​utilisateurs:​Frombenny]] (rédaction de la page), [[:​utilisateurs:​Theozzfancometh]],​ [[:​utilisateurs:​f.x0]],​ [[:​utilisateurs:​albanmartel]],​ [[:​utilisateurs:​perco|perco]].//​ // Contributeurs :​ [[:​utilisateurs:​Frombenny]] (rédaction de la page), [[:​utilisateurs:​Theozzfancometh]],​ [[:​utilisateurs:​f.x0]],​ [[:​utilisateurs:​albanmartel]],​ [[:​utilisateurs:​perco|perco]].//​
 +
  • grub-pc.1462540418.txt.gz
  • Dernière modification: Le 06/05/2016, 15:13
  • par 85.218.40.80