Contenu | Rechercher | Menus

Différences

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

Lien vers cette vue comparative

Both sides previous revision Révision précédente
Prochaine révision
Révision précédente
grub-pc [Le 08/01/2014, 19:59]
albanmartel [Démarrer automatiquement Windows en premier]
grub-pc [Le 30/07/2015, 16:43] (Version actuelle)
155.105.7.43 [Ajouter du rootdelay au démarrage] m
Ligne 1: Ligne 1:
-{{tag>Lucid Oneiric ​Precise ​Quantal Raring ​boot amorçage}}+{{tag>​Precise ​Trusty ​boot amorçage}}
  
 ---- ----
Ligne 5: Ligne 5:
 ====== GRUB 2 (version Compatibles PC) ====== ====== GRUB 2 (version Compatibles PC) ======
  
-<note important>​**Si vous utilisez [[:​hardy|Ubuntu 8.04 LTS serveur]], il est possible que vous ayez encore [[:​grub_legacy|GRUB Legacy]].**  Dans ce cas, **[[:​grub_legacy|c'​est là qu'il faut aller]]**.</​note>​ +//**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 damorçage pour les autres systèmes.
- +
-//GRand Unified Bootloader, 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.+
  
 {{http://​pix.toile-libre.org/​upload/​original/​1353953772.png}} {{http://​pix.toile-libre.org/​upload/​original/​1353953772.png}}
  
-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 ​:+Plus quune 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 damorç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...).
  
-  * une interface graphique, +GRUB 2 est le chargeur d'​amorçage installé par défautce 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.
-  * un chargement ​de modules au moment de l'​exécution plutôt qu'​à ​la compilation,​ +
-  * une portabilité vers diverses architectures matérielles (BIOS, EFI, Coreboot...)+
-  * un mode de secours qui reprend la main en cas d'​erreur de chargement. Les //stage1.5// ont été éliminés. +
-  * une révision de la numérotation des partitions, ce qui ne pouvait être fait sur GRUB Legacy.+
  
-== À propos de ce document ​== +===== Pré-requis===== 
- +  * Disposer des [[:sudo|droits ​d'administration]] ; 
-  * GRUB 2 est le chargeur d'​amorçage installé par défaut depuis Ubuntu 9.10 ([[http://​www.ubuntu-fr.org/​telechargement|si installé depuis un support ​d'installation]]).  +  * Disposer d'une connexion à Internet configurée ​et activée.
-  * Le seul Ubuntu utilisant encore en standard [[:​grub_legacy|GRUB Legacy]] est Ubuntu 8.04 LTS. La migration de celui-ci vers GRUB 2 est décrite //​[[:​grub2|sur cette page]]//. +
-  * 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.+
  
 ===== Installation ===== ===== Installation =====
  
-==== Après ​installation ​complète ​d'​Ubuntu ​====+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 nouvelle installation d'​Ubuntu 9.10 et ultérieures ([[http://www.ubuntu-fr.org/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.+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]].
  
-Une vérification peut être faite avec la commande : +**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]].
-<​code>​grub-install -v</​code>​ +
-(si vous voyez : GNU GRUB 1.98 ou +, vous avez Grub 2, si c'est 0.97vous 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 dorénavant,​ il suffit de suivre [[:​tutoriel:​comment_restaurer_grub|ce tutoriel]].+===== Après ​installation ​complète ​dUbuntu ​=====
  
-==== Mise à niveau depuis ​GRUB Legacy ​====+==== Afficher le menu GRUB ==== 
 +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.
  
-Si vous avez fait une mise à niveau de votre Ubuntu vers la version 9.10 depuis ​le gestionnaire de mises à jourvous n'avez pas encore Grub 2. Pour vous et ceux qui avaient désinstallé Grub 2 au profit de Grub Legacy, pour passer de Grub Legacy à Grub 2 : +Pour que le menu s’affiche systématiquementil 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 <file grub>GRUB_HIDDEN_TIMEOUT=0</file(voir [[#​configuration_manuelle|/​etc/​default/​grub :​ options par défaut]]).
-  - Installez le paquet grub-pc ​<​code>​sudo apt-get install grub-pc</​code>​ +
-  - Réamorcez votre ordinateur. Lorsque ​le menu de GRUB Legacy s'​affiche,​ choisissez ​**Chainload to GRUB 2** : cette entrée exécute GRUB 2. Ce test vous permet de vérifier son bon fonctionnement avant son installation finale. +
-  - Lorsque vous avez testé GRUB 2 et vous êtes assuré de son bon fonctionnement,​ exécutez le script ''​upgrade-from-grub-legacy''​ pour procéder ​au remplacement final de GRUB Legacy par GRUB 2 : <code>sudo upgrade-from-grub-legacy</code>+
  
-{{  grub2.select.boot.png|Sélectionnez le disque dur dans lequel installer ​GRUB à l'aide de la barre d'​espacement de votre clavier (obligatoire ! Ne zappez pas cette étape même si vous n'avez qu'un disque dur!).}}+==== Réinstaller/​Restaurer GRUB 2 ==== 
 +Réinstallation/​Restauration du GRUB, par exemple lorsqu’il a été effacé ou désactivé suite à l’installation ​dun autre système d’exploitation (par exemple, Microsoft® Windows®, Suse (OpenSuse)). Voir [[:​tutoriel:​comment_restaurer_grub|ce tutoriel]].
  
-//Note :// A un moment donné, vous devrez préciser ​dans quel disque dur GRUB 2 doit être installé (celui où est installé Ubuntu). À l'aide de la barre d'​espacement du clavier, cochez ou décochez ​le disque dur concerné. **Ne zappez pas cette étape, elle est obligatoire même si vous n'avez qu'un disque dur** sinon vous risquez une Error 15 au redémarrage.+==== Placer Windows en premier ​dans le grub ==== 
 +Reportez-vous à ce [[#​exempleos_selectionne_par_defaut|paragraphe]].
  
 +==== 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) :​
 +  - 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…
  
-==== Réinstaller/​Restaurer GRUB 2 ==== +:-) 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'ordinateur) pour privilégier Grub ou un autre systèmeAinsi, le disque d'origine n'est pas modifié ​et le retour ​en arrière ​est plus simple.
-Réinstallation GRUB, par exemple lorsqu'​il a été effacé suite à l'installation d'un autre système ​d'​exploitation (par exempleMicrosoft® ​Windows®, ​Suse (OpenSuse)). Voir [[:​tutoriel:​comment_restaurer_grub|ce tutoriel]]. +
- +
- +
-==== Amorçage multiple : privilégier un grub  ==== +
-En cas d'installation en parallèle de plusieurs 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,​  +
-  * 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... +
-==== Amorçage multiple : mise à jour de grub  ==== +
-Lorsque la configuration comporte plusieurs systèmes GNU/Linux, la procédure update-grub ne modifie le fichier utilisé par grub pour amorcer le PC que si elle est exécutée ​dans le système approprié, celui qui contient ledit fichier. Appelons ce système Système_A, et l'autre système Système_B. +
- +
-Dans le cas de la mise à jour du noyau de Système_B, ​l'exécution de update-grub automatiquement déclenchée après cette mise à jour ne vise pas le bon fichierIl faut alorsaprès avoir redémarré ​le PC dans Système_A, y exécuter la commande +
-<​code>​sudo update-grub</​code>​ +
-C'est incontestablement la solution la plus simple, qu'il est fortement recommandé d'​utiliser. +
- +
-Mais on peut également, si l'on veut éviter de réamorcer le PC, ou si, pour une raison ou pour une autre, on ne peut pas réamorcer le PC sur Système_A, ​et lorsque Système_A et Système_B sont à la même version de grub, effectuer dans Système_B la procédure grub-mkconfig. +
-<​code>​sudo grub-mkconfig -o <fichier grub.cfg effectivement utilisé pour l'​amorce></​code>​ +
-après avoir pris soin de monter la partition contenant ​le fichier ​en question, celle qui contient le /boot/grub de Système_A. Mais, attention. Dans ce cas là, les fichiers utilisés pour la création de grub.cfg (/​etc/​default/​grub et /​etc/​grub.d/​*) sont ceux de Système_B. Le contenu de ces fichiers peut éventuellement être différent de celui des fichiers équivalents de Système_A. De même, le choix des systèmes n'est plus présenté de la même manière. Le système utilisé par défaut a également toutes chances de ne plus être le même. +
- +
-Enfin, on peut aussi par un chroot se "​replacer"​ dans Système_A pour y exécuter la procédure update-grub.+
  
  
 =====Configuration simple (pour débutants) ===== =====Configuration simple (pour débutants) =====
 + ​[[:​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 :​\\
 +//(Sous [[:KDE]] il vous suffit d'​[[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>​kde-config-grub2]]**)//​
  
-[[StartupManager]] (//​ABANDONNÉ > [[https://​launchpad.net/​startup-manager/​+announcement/​8300|startup manager is dead]]//) est un petit utilitaire graphique qui vous permettra de configurer facilement les paramètres principaux de GRUB, notamment : +    ​* choisir une entrée de menu damorçage à sélectionner par défaut ; 
-    ​* choisir une entrée de menu d'amorçage à sélectionner par défaut ​(pour démarrer par défaut sur Windows par exemple) +    * masquer, changer ​l’ordre, ajouter ou supprimer des entrées du menu d’amorçage 
-    * préciser le délai d'​attente avant d'​exécuter ​l'​entrée de menu par défaut ​+    * ajouter ​des paramètres au noyau 
-    * installer et choisir ​des thèmes de chargement (bootsplash) ​+    * modifier la résolution d’affichage ;​ 
-    * créer des disquettes de secours.+    * modifier les couleurs du menu GRUB ; 
 +    * ajouter une image d’arrière-plan:​
  
-[[grub-customizer|Grub Customizer]] est une application graphique plus avancée ​quisi elle ne gère pas les thèmes ​de chargementpermet de modifier la plupart des paramètres ​de GRUB, entre autres : +===== Configuration ​avancée ​===== 
-  * choisir une entrée de menu d'amorçage à sélectionner par défaut ; +<note warning>​À partir de ce chapitrevous allez intervenir directement sur les fichiers ​de GRUB. Soyez prudentles fichiers ​de GRUB ne doivent pas être modifiés à la légèresous peine d'avoir un système qui ne démarre plus. Si vous ne maîtrisez pas bienn'​hésitez pas à demander de l'aide sur le [[http://​forum.ubuntu-fr.org/​|forum]]. </​note>​ 
-  * masquerchanger ​l'ordre, ajouter ou supprimer des entrées du menu d'​amorçage ; +==== Liste des fichiers utilisés pour la configuration ==== 
-  * ajouter ​des paramètres au noyau ; +<note important>​ À connaître avant de configurer manuellement. </​note>​ 
-  * modifier ​la résolution d'​affichage ; +=== Fichier utilisé par le système ===
-  * modifier les couleurs du menu GRUB ; +
-  * ajouter une image d'​arrière-plan.+
  
-=====Configuration avancée===== +  * /​boot/​grub/​**grub.cfg** :​ il est généré automatiquement par //​update-grub//​ (il est inutile d’éditer ce fichier) et **ne doit** donc **pas être modifié ​manuellement**.
-==== À connaître avant de configurer ​manuellement====+
  
-=== Afficher le menu ===+=== Fichiers utilisés pour l’auto-configuration ​===
  
-Depuis Ubuntu Lucid 10.04, 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 afficher son menu.+  * /etc/​default/​**grub** :​ gère les valeurs par défaut de grub (délai de lancementré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.). 
 + 
  
-Pour que le menu s'​affiche systématiquement,​ il faut [[:​tutoriel:​comment_modifier_un_fichier|éditer le fichier]] **/​etc/​default/​grub** puis il suffit d'​ajouter un **#** au début de la ligne <​file>​GRUB_HIDDEN_TIMEOUT=0</​file>​ (voir [[#​etcdefaultgruboptions_par_defaut|/​etc/​default/​grub : options par défaut]]). 
- 
- 
-=== Liste des fichiers utilisés pour la configuration === 
- 
-== 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 fichier) et **ne doit** donc **pas être modifié manuellement**.\\ ​ C'est lui qui est lu au démarrage comme l'​était menu.lst sur grub-legacy. 
- 
- 
-== Fichiers utilisés pour l'​autoconfiguration == 
- 
-  * /​boot/​grub/​**device.map** : indique les disques sur lesquels update-grub cherchera une configuration d'​amorçage (le disque principal et la clé USB ayant servi à l'​installation d'​Ubuntu par exemple) 
-  * /​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. 
-    * **30_os-prober** : contient le script de recherche des autres systèmes installés. 
-    * **40_custom** : **configuration perso**. C'est là qu'on pourra paramétrer manuellement le lancement des systèmes d'​exploitation.\\ \\ Ces fichiers sont traités dans l'​ordre numérique (00_, puis 05_, puis 10_, etc...)\\ ​ 
-==== Placer Windows en premier dans le grub ==== 
-Astuce Si vous souhaitez lancer windows (qui est détecté dans le fichier 30_OS-prober) avant Linux, \\ il suffit de renommer ce fichier en lui donnant un nom commençant par un nombre compris entre 06 et 09 (soit entre 05_debian et 10_linux)\\ \\ Exemple de syntaxe possible : \\ <​code>​cd /​etc/​grub.d</​code><​code>​sudo mv 30_os-prober 07_os-prober</​code><​code>​sudo update-grub</​code>​ 
- 
-==== Device Map  ==== 
-<note warning>​Cette section est à revoir --- /​boot/​grub/​device.map a changé ​ !!! 
- 
-aux /dev/hd correspondent des /​dev/​disk/​by-id/​ata-WDC_WD1002FAEX-00Y9A0_WD-WCAW3055064 ​ 
- 
-:​-?</​note>​ 
-Pour Linux, on a l'​alphabet pour désigner les disques durs physiques et une numérotation partant de 1 pour le numéro de la partition. Pour **Grub-pc** (à la différence de grub-legacy),​ on a une numérotation **démarrant de 0 pour les disques physiques** et **de 1 pour le numéro de la partition**. 
- 
-Par exemple : 
-  * /​dev/​hd**a1** ou /​dev/​sd**a1** sera nommé hd(**0,1**) par grub-pc. 
-  * /​dev/​hd**c5** ou /​dev/​sd**c5** sera nommé hd(**2,5**) par grub-pc. 
- 
-Une petite gymnastique (a-> 0, b-> 1, c-> 2,..) reste à faire pour les disques physiques. 
- 
-<note important>​ 
-Mais attention ! 
- voici le contenu de mon fichier /​boot/​grub/​device.map 
- 
-(fd0) /​dev/​fd0 
- 
-(hd0) /​dev/​sda 
- 
-(hd1) /​dev/​sdb 
- 
-(hd2) /​dev/​sdg 
- 
-pour moi ici hd**2** correspond à sd**g** 
-</​note>​ 
 ==== Configuration/​reconfiguration automatisée du menu GRUB ==== ==== Configuration/​reconfiguration automatisée du menu GRUB ====
  
-<​note>​Si vous avez démarré sur la partition qui contient le grub.cfg à mettre à jour, faites directement la commande ci-dessous.+<​note>​Si vous avez démarré sur la partition qui contient le grub.cfg à mettre à jour, faites directement la commande ci-dessous.\\ 
 +Sinon, référez-vous au paragraphe [[#​Configuration/​reconfiguration automatisée à partir du live CD]] dans les cas particuliers.</​note>​ 
 +<​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.
  
-Sinon, référez-vous au paragraphe "​[[#​Configuration/​reconfiguration automatisée à partir du live CD]]" dans les cas particuliers.</​note>​ +<​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.\\ 
-  sudo update-grub +**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>​
-Lit le contenu de ces fichiers un à un : +
-    - /​boot/​grub/​device.map +
-    - /​etc/​default/​grub +
-    - l'​ensemble des fichiers contenus à la racine du dossier /​etc/​grub.d/​ +
-pour générer automatiquement un nouveau 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.  +
- +
-''​**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 ==== ==== Configuration manuelle ====
-<note important>​Avant de commencer, il est souhaitable ​d'​avoir ​+<note important>​Avant de commencer, il est souhaitable :​ 
-  * un fichier grub.cfg à jour en lançant un update-grub (voir plus haut). +  * 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 sauvegarde (ex: sudo cp /​boot/​grub/​grub.cfg /​boot/​grub/​grub.cfg.autogénéré) +  * den 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 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é.\\ ​On préférera ​les déplacer dans un dossier dormant créé pour cela (sudo mkdir /​etc/​grub.d/​zz)+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//).
 </​note>​ </​note>​
  
-=== /​boot/​grub/​device.map === +=== /​etc/​default/​grub :​ options par défaut === 
-Lors d'un update-grub,​ un périphérique peut être indiqué comme introuvable ou sa taille/size impossible à définir. L'​erreur est due aux supports déclarés dans /​boot/​grub/​device.map. +[[:tutoriel:​comment_modifier_un_fichier|Modifiez]] avec les [[:sudo|droits dadministration]] le fichier des valeurs par défaut de GRUB, **/​etc/​default/​grub**.
-  * soit vous [[:​tutoriel:​comment_modifier_un_fichier|éditez manuellement]] le fichier "/​boot/​grub/​device.map",​ +
-  * soit vous lancez la commande "sudo grub-mkdevicemap"​ qui détecte les supports de stockage branchés actuellement. +
-=== /​etc/​default/​grub : options par défaut === +
-[[tutoriel:​comment_modifier_un_fichier|Modifiez ​(avec les droits d'administrationle fichier]] des valeurs par défaut de GRUB. Par exemple si vous utilisez Gnomesaisissez la commande suivante dans un [[terminal]] : +
-  gksudo gedit /​etc/​default/​grub+
  
-  * **GRUB_DEFAULT=0** correspond au menu qui sera sélectionné par défaut (-> **[[grub-pc#​exempleos_selectionne_par_defaut|exemple]]**). +  * **GRUB_DEFAULT=0** correspond au menu qui sera sélectionné par défaut (-> **[[#​exempleos_selectionne_par_defaut|exemple]]**). 
-  * **#​GRUB_HIDDEN_TIMEOUT=0** le **#** est à enlever pour cacher l'​affichage du menu si on n'a qu'un seul système sur le disque ou si grub est lancé via [[:grub-pc#​chainer_un_autre_menu_d_amorcage|un autre gestionnaire d'amorçage]]. ​La durée ​en seconde permettra ​d'appuyer sur les touches **echap** ou majuscule (**shift**) pour voir le menu (-> **[[:grub-pc#afficher_uniquement_le_compte_a_rebours|exemple]]**). +  * **#​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 na quun seul système sur le disque ou si grub est lancé via [[#​chainer_un_autre_menu_d_amorcage|un autre gestionnaire damorçage]].\\ Le nombre fixe, en secondes, la durée ​permettant ​dappuyer sur les touches **Échap** ou majuscule (**Shift**) pour faire apparaître ​le menu invisible ​(-> **[[#cacher_le_menu|exemple]]**)
-  * **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 # 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_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_DISTRIBUTOR=""​** est la ligne qui définit la syntaxe des titres du menu (-> **[[:grub-pc#exemple_titres_du_menu|exemple]]**) +  * **GRUB_TIMEOUT=10** est la durée en secondes de laffichage du menu avant de se lancer sur le menu sélectionné par défaut. (si vous modifiez cette valeur et quelle nest 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 laffichage du menu jusquà ce que lutilisateur valide un choix dans la liste proposée. 
-  * **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_DISTRIBUTOR=""​** est la ligne qui définit la syntaxe des titres du menu (-> **[[#exempletitres_du_menu|exemple]]**) 
-  * **#​GRUB_GFXMODE=640x480** (-> **[[:grub-pc#exemple_resolution_d_affichage|exemple]]**)+  * **GRUB_CMDLINE_LINUX_DEFAULT=""​** et **GRUB_CMDLINE_LINUX=""​** sont des comportements prédéfinis qui affecteront le lancement des systèmes dexploitation 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).
  
-  * Depuis [[:Lucid]] : **#​GRUB_INIT_TUNE="480 440 1"** : permet d'​avoir un bip à l'​affichage d'un menu Grub si on enlève le "#"​. +=== Un bon vieux menu à plat ===
-  * **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).+
  
-=== Ne faire apparaître qu'un seul noyau === +Si le principe du sous-menu vous agace, vous 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 
-L'​option # howmany=1 de grub-legacy n'​existe plus.\\ Une solution ​ possible est de cacher les noyaux superflus ​en les déplaçant vers un dossier AnciensNoyaux (créé à cet effet). +<​file>​GRUB_DISABLE_SUBMENU=y</​file>​
-  ​Ouvrir le dossier ​/boot en mode administrateur+
  
-  gksudo nautilus /boot +Sauvegardez, ​puis dans un [[:​terminal]],​ 
- +<code>sudo update-grub</code
-  * puis clic droit -> Créer ​un dossier (qu'on nommera AnciensNoyaux) +et voilà.
-  * sélectionner tous les fichiers désignant un ancien noyau //en maintenant la touche CTRL// +
-  * les déplacer vers AnciensNoyaux à la souris ou par couper/​coller +
-<note important>La méthode décrite ci-dessus peut poser problème si vous cachez le noyau sur lequel vous êtes lancé.\\ La fermeture d'​Ubuntu ne sera pas propre et posera des problèmes pour redémarrer depuis un autre noyau. +
- +
-Donc, précaution à prendre : être lancé sur le noyau qu'on veut garder au menu de grub-pc avant de cacher les anciens noyaux. +
- +
-La manipulation de fichiers système depuis une interface graphique reste très risquée.</note+
-//Une autre solution plus évoluée consiste à modifier le script **/etc/grub.d/​10_linux** en y introduisant un paramètre permettant de déterminer le nombre de noyaux à afficher dans le menu de grub.(voir [[grub-pc-annexe]])//​+
  
 === Enlever un certain nombre de noyaux === === Enlever un certain nombre de noyaux ===
 +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]].
  
-En fonction des mises à jours du noyau installées,​ la liste proposée par grub s'​allonge. Il est assez pénalisant de sélectionner tout en bas de la liste un autre système d'​exploitation. Parfois, avec les écrans de petite taille, la liste fait plusieurs pages. 
- 
-On peut supprimer les noyaux les plus anciens. **Il est conseillé de laisser les deux derniers noyaux**. Se référer à la documentation [[nettoyer_ubuntu#​suppression_des_anciens_noyaux|Nettoyer Ubuntu]] pour une action en ligne de commande. 
- 
-<note important>​ La suppression des anciens noyaux vous permet certes de gagner de la place et de limiter le nombre d'​entrées du menu grub. Attention, cette manipulation est à faire avec une grande attention ! </​note>​ 
- 
-Pour ceux qui préfèrent le mode graphique, on peut utiliser le gestionnaire de paquets [[synaptic|Synaptic]] et supprimer complètement les paquets par groupes de 3 : 
-  * linux-headers-2.6.XX-YY 
-  * linux-headers-2.6.XX-YY-generic 
-  * linux-image-2.6.XX-YY-generic 
- 
- 
-Pour enlever par exemple les noyaux 2.6.32-22 et 2.6.32-23, sélectionner pour **suppression complète** les paquets suivants : 
-  linux-headers-2.6.32-22 
-  linux-headers-2.6.32-22-generic 
-  linux-image-2.6.32-22-generic 
-  linux-headers-2.6.32-23 
-  linux-headers-2.6.32-23-generic 
-  linux-image-2.6.32-23-generic 
- 
-Lorsqu'​on utilise un gestionnaire de paquets pour enlever les images du noyau, la commande update-grub est invoquée automatiquement pour mettre à jour les fichiers de configuration de grub et par conséquent la liste des noyaux affichés dans le menu grub. Il n'est donc pas nécessaire de lancer manuellement la commande update-grub. 
  
 === Désactiver quelques automatismes === === Désactiver quelques automatismes ===
-Si vous avez créé le dossier zz dans /​etc/​grub.d/​ (voir note importante plus haut), vous pourrez y déplacer les fichiers : +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 +  ​* **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+  ​* **30_os-prober** pour ne plus déclencher la détection automatique des autres systèmes installés.
  
-  gksudo nautilus ​/etc/grub.d+[[:​gestionnaire_de_fichiers|Ouvrez le dossier]] **/etc/grub.d** avec les [[:​sudo|droits d'​administration]],​ par exemple en saisissant dans un [[:​terminal]] :​ 
 +<​code>​sudo xdg-open /​etc/​grub.d</​code>​ 
 +puis déplacez les fichiers à la souris ou par couper/​coller.
  
-puis déplacement des 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**.
  
-<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.+IMPORTANT notez toutefois que si vous faites ainsi, __les autres O.S. ne 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.S. sur la listevoir paragraphe plus bas.</note>
  
-IMPORTANT : notez toutefois que si vous faites ainsi, __les autres O.S. ne sont plus détectés et vous ne les aurez plus dans la liste__. Pour avoir uniquement le compte a rebours tout en conservant les autres O.S. sur la liste, voir paragraphe plus bas.</​note>​+==Autres méthodes ==
  
-**Autres méthodes ​:**+  ​plutôt que de déplacer ces fichiers, on peut aussi désactiver leurs droits d’exécution ;​ toujours via le [[:gestionnaire_de_fichiers|gestionnaire de fichiers]] :​ 
 +    - 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…//​ ;​
  
-  * Plutôt que de déplacer ces fichiers, on peut aussi désactiver leurs droits d'​exécution. Toujours via Nautilus : +  * de même, il est possible d'​ajouter cette ligne au fichier de configuration ​**/​etc/​default/​grub** :<​file>​GRUB_DISABLE_OS_PROBER=true</​file>​
-    - 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 : GRUB_DISABLE_OS_PROBER=true+
  
 === Paramètres personnalisés === === Paramètres personnalisés ===
-[[:​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+[[:​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.
  
-  ### BEGIN /​etc/​grub.d/​30_os-prober ### +Vous pouvez aussi créer un autre fichier personnalisé avec une numérotation qui le lance avant tous les autres par exemple :​ 
-et +    * [[:​tutoriel:​comment_modifier_un_fichier|Créez le fichier]] **/​etc/​grub.d/​07_custom** ;​ 
-  ### END /​etc/​grub.d/​30_os-prober ###+    * après son enregistrement,​ vous le rendrez exécutable :​ <​code>​sudo chmod +x /​etc/​grub.d/​07_custom</​code>​
  
-et coller le dans 40_custom. Modifiez ensuite les paramètres à votre guise. +Pour appliquer cette nouvelle configuration lancez un : 
- +<​code>​sudo update-grub</​code>​
-Vous pouvez aussi créer un autre fichier personnalisé avec une numérotation qui le lance avant tous les autres par exemple : +
-    * [[:​tutoriel:​comment_modifier_un_fichier|Créez le fichier]] /​etc/​grub.d/​07_custom +
-    * après son enregistrement,​ vous le rendrez exécutable : sudo chmod +x /​etc/​grub.d/​07_custom +
- +
-Pour appliquer cette nouvelle configuration lancez un : +
-  sudo update-grub+
  
 Puis, relancez votre machine. Puis, relancez votre machine.
- 
 ===== Exemples et cas particuliers ===== ===== Exemples et cas particuliers =====
- 
 ==== Configuration/​reconfiguration automatisée à partir du live CD === ==== 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>​+<note important>​Impose lemploi d'un support Live 32 bits pour un grub 32 bits à réparer et dun CD dune version 64 bits pour réparer une installation 64 bits</​note>​
  
-Si vous ne pouvez pas démarrer sur la partition qui contient le fichier grub.cfg à mettre à jour, vous pouvez ​faire un 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 ​+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.
  
-En prenant comme hypothèse que le fichier grub.cfg à mettre à jour se trouve sur la partition sdb1 qui n'est pas déjà montée et qui est normalement montée sur / (donc /boot n'est pas sur une partition séparée).+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 nest pas sur une partition séparée).
  
 <​code>​sudo mkdir /media/sdb1 <​code>​sudo mkdir /media/sdb1
Ligne 294: Ligne 182:
 sudo mount --bind /sys sys sudo mount --bind /sys sys
 sudo mount --bind /proc proc sudo mount --bind /proc proc
-sudo chroot . +sudo chroot .</​code>​
-</​code>​+
  
 Par contre, si /boot est sur une partition à part (/dev/sdb2 par exemple) et /dev/sdb1 est normalement montée sur /. Par contre, si /boot est sur une partition à part (/dev/sdb2 par exemple) et /dev/sdb1 est normalement montée sur /.
Ligne 306: Ligne 193:
 sudo mount --bind /proc proc sudo mount --bind /proc proc
 sudo chroot . sudo chroot .
-sudo mount /dev/sdb2 /boot +sudo mount /dev/sdb2 /​boot</​code>​
-</​code>​ +
- +
-A partir de là vous êtes positionnés quasiment comme si vous aviez démarré sur sdb1 qui est devenu votre racine, et vous êtes en root, donc pas besoin de sudo devant les commandes.  +
-Ensuite vous pouvez faire votre update-grub normalement :+
  
 +À partir de là vous êtes positionnés quasiment comme si vous aviez démarré sur sdb1 qui est devenu votre racine, et vous êtes en root, donc pas besoin de sudo devant les commandes. ​
 +Ensuite vous pouvez faire votre //​update-grub//​ normalement :​
 <​code>​sudo update-grub</​code>​ <​code>​sudo update-grub</​code>​
  
-Pour ré-installer GRUB sur le MBR: +Pour ré-installer GRUB sur le [[:mbr|MBR]] :
 <​code>​sudo grub-install /​dev/​sdb</​code>​ <​code>​sudo grub-install /​dev/​sdb</​code>​
  
-Mais aussi ''​grub-mkdevicemap''​ comme indiqué plus loin dans ce tutoriel, si besoin est. +Pour sortir du chroot, demontez /dev/sdb2 si /boot est sur une partition à part, 
- +<​code>​sudo umount /​dev/​sdb2</​code>​
-pour sortir du chroot, demontez /dev/sdb2 si /boot est sur une partition à part, +
-<​code>​ +
-sudo umount /dev/sdb2 +
-</​code>​ +
 tapez exit, puis démontez les bind. tapez exit, puis démontez les bind.
- +<​code>​exit
-<​code>​ +
-exit+
 sudo umount proc sudo umount proc
 sudo umount dev sudo umount dev
 sudo umount sys sudo umount sys
 cd .. cd ..
-sudo umount /dev/sdb1 +sudo umount /​dev/​sdb1</​code>​
-</​code>​+
  
 ==== Cacher le menu ==== ==== Cacher le menu ====
 +FIXME suppression car déjà expliqué ici: [[#/​etc/​default/​grub :​ options par défaut|/​etc/​default/​grub :​ options par défaut]]
  
-Si vous souhaitez cacher le menu de Grub. Il sera alors seulement disponible en appuyant sur la touche "​esc"​. 
-Après le lancement du BIOS, le système est dirigé vers GRUB. A l'​écran,​ vous n'avez à ce moment plus qu'un curseur ou un compte à rebours. Le choix du curseur ou du compte à rebours se fait dans le fichier "/​etc/​default/​grub"​. 
- 
-**Attention : Méthode testée sur HP Elitebook8350 - UBUNTU 10.10, UBUNTU 11.04 ; à utiliser a vos risques ! 
-Pensez à sauvegarder vos fichiers avant de les modifier.** 
- 
-Pour  modifier les fichiers de configuration,​ il faut les [[:​tutoriel:​comment_modifier_un_fichier|ouvrir en super-utilisateur]] : 
-Voici en exemple mon réglage : 
- 
-<​code>​GRUB_DEFAULT="​Microsoft Windows XP Professional (on /​dev/​sda1)"​ 
-GRUB_HIDDEN_TIMEOUT=3 
-GRUB_HIDDEN_TIMEOUT_QUIET=true 
-GRUB_TIMEOUT=3</​code>​ 
- 
-Au démarrage, le menu de GRUB est caché pendant 3 sec "​GRUB_HIDDEN_TIMEOUT=3"​ et lorsqu'​il apparaît, j'ai 3 sec "​GRUB_TIMEOUT=3"​ pour déplacer la ligne en surbrillance qui permet le choix de l' OS. 
- 
-Si je ne touche à rien, il démarre sur Win xp et on ne voit pas qu'un autre OS est installé. 
- 
- 
-**Si vous avez comme moi, un système multi OS, il vous faut encore adapter le fichier si dessous :** 
- 
- 
-/​etc/​grub.d/​30_os-prober (contient le script de recherche des autres systèmes installés). 
- 
- 
- 
- 
- 
- */ Recherchez dans le fichier, la ligne :"if [ "​x${found_other_os}"​ = "​x"​ ] ; then" 
-    dans mon cas elle se trouve à la ligne 29. 
- 
- */ Commentez la ligne en insérant le signe dièse " # " (la ligne derrière ce signe ne sera plus prise en compte) 
- 
- make_timeout () { 
- #  if [ "​x${found_other_os}"​ = "​x"​ ] ; then 
-     if [ "​x${1}"​ != "​x"​ ] ; then 
-       if [ "​x${GRUB_HIDDEN_TIMEOUT_QUIET}"​ = "​xtrue"​ ] ; then 
- verbose= 
-       else 
- 
- */ Recherchez dans le fichier, la ligne qui termine ce IF (un IF est terminé par un FI) 
-    dans mon cas elle se trouve à la ligne 63. 
- 
- */ Commentez la ligne en insérant le signe dièse " # " 
- 
- if [ "​x\${timeout}"​ != "​x-1"​ ]; then 
-   if sleep$verbose --interruptible ${GRUB_HIDDEN_TIMEOUT} ; then 
-     set timeout=0 
-   fi 
- fi 
- EOF 
-       fi 
-     fi 
- #  fi 
- 
- 
-**Comme à chaque modification de configuration de GRUB il faut mettre à jour le fichier grub.cfg en tapant dans un terminal : 
-** 
- 
-<​code>​sudo update-grub</​code>​ 
- 
- 
-<​note>​Bizarrement,​ l'​affichage du compte à rebours n'est possible que si vous n'avez qu'un seul OS sur votre machine. Si vous en avez plusieurs, ces paramètres sont inopérants,​ et vous aurez toujours le menu avec la liste des OS, quoi que vous fassiez, et jamais le compte à rebours simple ! 
- 
-Il y a déjà eu un signalement du bug sur Launchpad : [[https://​bugs.launchpad.net/​ubuntu/​+source/​grub2/​+bug/​428443]]. 
  
-Autre exemple de patch : [[http://​forum.ubuntu-fr.org/​viewtopic.php?​pid=3165753#​p3165753]]</​note>​---  +==== Chaîner un autre menu damorçage ==== 
---- //​[[:​utilisateurs:​perco|perco]] Le 16/05/2011, 22:36// +**chainloader** vous permettra de lancer un autre gestionnaire damorç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) : 
-==== Chaîner un autre menu d'amorçage ==== +<file>​menuentry '​Bootloader Lilo sur sda7' {
-**"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) : +
-<code>​menuentry '​Bootloader Lilo sur sda7' {+
 set root=(hd0,​7) set root=(hd0,​7)
 chainloader +1 chainloader +1
-}</code+}</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 : +**Pour quil fonctionne vers grub-legacy**,​ il faudra que celui-ci soit installé sur le **premier secteur dune partition** et non le MBR (si ce nest 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**)+set root (hd0,​**msdos7**) au lieu de "set root (hd0,**7**).
  
-**Pour chaîner vers un autre Grub2**, on procédera ainsi : +**Pour chaîner vers un autre Grub2**, on procédera ainsi : 
-<code>​menuentry 'Grub 2 sur /​dev/​sda7'​ {+<file>​menuentry 'Grub 2 sur /​dev/​sda7'​ {
 set root=(hd0,​7) set root=(hd0,​7)
 chainloader +1 chainloader +1
-}</code+}</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) :+Si ça na pas été fait lors de l’installation de lOS 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 dune partition racine Ubuntu 10.10 sur sda7 par exemple, il faut forcer (option --force) :​
 <​code>​sudo grub-install --force /​dev/​sda7</​code>​ <​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 : Titres du menu ==== +==== Exemple : ​OS sélectionné par défaut ​==== 
-Voici comment s'affichent ​par défaut les lignes ​du menu grub : "Ubuntu, Linux 2.6.31-14-generic"​.+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>​
  
-  * 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 ​+<note tip>Pour obtenir ​les titres exacts des menus 
-<​code>​GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` ​                  # donne : Ubuntu, Linux 2.6... +<​code>​grep menuentry ​/boot/grub/grub.cfg</code></note>
-#​GRUB_DISTRIBUTOR=`lsb_release -d -s 2> /dev/null || echo Debian` ​                 # donne : Ubuntu 10.04 LTS, Linux 2.6... +
-#​GRUB_DISTRIBUTOR=`echo -n $(lsb_release -cds 2> /dev/null || echo Debian)` ​       # donne : Ubuntu 10.04 LTS lucid, Linux 2.6.... +
-#​GRUB_DISTRIBUTOR=`echo -n TOTO $(lsb_release -r -s 2/dev/null || echo Debian)` ​ # donne : TOTO 10.04 LTS, Linux 2.6.... +
-#​GRUB_DISTRIBUTOR=`echo -n TITRE PERSONNALISÉ` ​                                    # donne : TITRE PERSONNALISÉ,​ Linux 2.6....</code+
  
-  * Pour ne plus faire apparaître la version du noyau Linux, [[:​tutoriel:​comment_editer_un_fichier|éditez le fichier]] /​etc/​grub.d/​10_linux et tout en bas du script changez les lignes "linux entry" lignes 144 et 148 en enlevant ", Linux ${version}"​ +<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]]. 
-<​code>​ +Par exemple si 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. Cest utile quand on utilise des noyaux sécifiques pour Xen par exemple, noyaux qui vont tous se ranger proprement dans un sous-menu ​spécifique.</​note>​
-  linux_entry "​${OS}"​ "​${version}"​ \  # donne par ex : Ubuntu 10.04 LTS, Linux 2.6... +
-  linux_entry "​${OS}"​ ""​ \                   # donnera alors : Ubuntu 10.04 LTS</​code>​ +
-   +
-pour lucid il faut également modifier au début du fichier les lignes 70 : +
-<​code>​ +
-  title="​$(gettext_quoted "%s , with Linux %s (recovery mode)"​)" ​  # à la ligne 70, la modifier en : +
-  title="​$(gettext_quoted "%s (recovery mode)"​)" ​       # vous pouvez commenter ", with Linux [...]" au cas ou vous ayez des problèmes un jour +
-</​code>​ +
- +
-vous faites de même pour la ligne 72 sans "​(recovery mode)" : +
-<​code>​ +
-  title="​$(gettext_quoted "%s, with Linux %s"​)" ​           # à la ligne 72, la modifier en : +
-  title="​$(gettext_quoted "​%s"​)" ​                          # de même, vous pouvez commenter ", with linux [...]" pour les cas de problèmes +
-</​code>​ +
- +
-il faut encore modifier la ligne 74, là j'ai pas trop compris pourquoi, vous pouvez regarder les différents fichiers grub.cfg générés en fonction de ce que vous faites pour trouver une explication ;-) : +
-<​code>​ +
-    printf "​menuentry '​${title}'​ ${CLASS} {\n" "​${os}"​ "​${version}" ​  #​ligne 74 à modifier en : +
-    printf "​menuentry '​${title}'​ ${CLASS} {\n" "​${os}"​ #"​${version}"​ +
-</​code>​ +
- +
-<note important>​**Attention toutefois, car ne pas connaître la version du noyau peut être un inconvénient lors d'une mise à jour automatique. Comment différencier deux lignes de même nom mais ne concernant pas le même noyau ?​**</​note>​ +
- +
- +
-==== Exemple : OS sélectionné par défaut ==== +
-  * Saisissez cette commande dans un terminal avec un chiffre à la place du x (0 = le premier, 1 = le deuxième etc...) +
- +
-  sudo grub-set-default x +
-puis   +
-  sudo update-grub2 +
-   +
- +
-  * ou [[:​tutoriel:​comment_editer_un_fichier|éditez 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 guillemets (par exemple : "​Microsoft Windows 2000 Professionnel (on /​dev/​sda1)"​) +
-<note tip> Pour obtenir les titres exacts des menus : +
-** grep menuentry /​boot/​grub/​grub.cfg **</​note>​ +
- +
-<note warning>​Sous Ubuntu 12-04 Serveur ​et 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]] +
- +
-Par exemple si 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 sécifiques pour Xen par exemple , noyaux qui vont tous se ranger proprement dans un submenu ​spécifique. </​note>​ +
-  +
-* ou **sudo mv /​etc/​grub.d/​30_os-prober /​etc/​grub.d/​06_os-prober** ​  (pour mettre windows par défault) +
-ne pas oublier **sudo update-grub2** ​  pour que la modification soit prise en compte. +
-  sudo update-grub2 +
- +
-==== Exemple : Résolution d'​affichage ==== +
- +
-  * Pour avoir la liste de toutes les résolutions supportées pendant le démarrage : taper "​c"​ quand vous êtes dans le menu du boot pour entrer en mode console. Puis : +
- +
-  vbeinfo+
  
 +==== 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.   * [[:​tutoriel:​comment_editer_un_fichier|Éditez le fichier]] /​etc/​default/​grub.
  
-Ligne à éditer :\\ +Ligne à éditer :​ 
-**# GRUB_GFXMODE=640x480**\\ +<​file>​# GRUB_GFXMODE=640x480</​file>​ 
-**Enlever le "#" ​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).+**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:\\ +Exemples :​ 
-GRUB_GFXMODE=1280x1024,​1024x768x32\\ +<​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).+La deuxième valeur sera prise en compte si la première nest 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 despace après la virgule sinon il y aura un message derreur lors de lupdate-grub).
  
-Pour prendre en compte le changement :  +Pour prendre en compte le changement :​ 
-  sudo update-grub+<​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 ====+==== 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 le tableau en lien suivant : +Dans les options de boot dun 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 le tableau en lien suivant :​ 
-  ​* ​**[[:​installation:​definition_demarrage#​tableau_des_codes_pour_le_parametre_vga|Tableau de correspondance entre les codes vga et les résolutions d'​écran souhaitées.]]**+**[[:​installation:​definition_demarrage#​tableau_des_codes_pour_le_parametre_vga|Tableau de correspondance entre les codes vga et les résolutions d'​écran souhaitées.]]**
  
-Donc, au lieu de : +Donc, au lieu de : 
-  linux /​boot/​vmlinuz ​... vga=788 ​... +<​file>​linux /​boot/​vmlinuz ​[…] vga=788 ​[…]</​file>​ 
- +on aura 
-On aura +<​file>​set gfxpayload=800x600x16,​ 800x600 
-  set gfxpayload=800x600x16,​ 800x600 +linux /​boot/​vmlinuz ​[…]</​file>​
-  linux /​boot/​vmlinuz ​... +
- +
-==== Exemple : Fond d'​écran ====+
  
 +==== Exemple : Fond d'​écran ====
 === Pré-requis === === Pré-requis ===
-  * [[:​tutoriel:​comment_installer_un_paquet|Avoir installé le paquet]] **[[apt>​imagemagick|ImageMagick]]** est fortement recommandé. +  * [[:​tutoriel:​comment_installer_un_paquet|Avoir installé le paquet]]** [[apt>​imagemagick|ImageMagick]]** est fortement recommandé. 
-  * Pour cet exemple : +  * Pour cet exemple :​ 
-    * on fixera une résolution de : **GRUB_GFXMODE=800x600x32,​800x600** (voir plus haut) +    * 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.+    * on stockera limage 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 === === Configuration de /​etc/​grub.d/​05_debian_theme ===
-**Attention ​la procédure est différente entre le grub-pc fourni avec [[Natty|Ubuntu 11.04 (Natty Narwhal)]] et les versions qui précèdent.** +Suivez ces instructions
- +  * copier une image (*.jpg, *.png ou *.tga) dans le répertoire /boot/grub (utiliser les [[:sudo|droits superutilisateur]]) ; 
-**pour Grub-pc version 1.99 fourni avec Ubuntu 11.04 (Natty Narwhal),** +  * dans une console faire un //sudo update-grub// ; 
-  * copier une image (*.jpg, *.png ou *.tga) dans le répertoire /boot/grub (utiliser les [[sudo|droits superutilisateur]]) +  * redémarrer et votre nouveau fond décran est là (première image rencontrée par ordre alphabétique dans le dossier /​boot/​grub). 
-  * dans une console faire unsudo update-grub +  attention ​: les couleurs de l'​image peuvent provoquer une mauvaise visibilité du menu sur l'​écran
-  * redémarrer et votre nouveau fond d'écran est là (première image rencontrée par ordre alphabétique dans le dossier /​boot/​grub). +
- +
-**pour Grub-pc version 1.98 fourni avec Ubuntu 10.04 (Lucid Lynx) et suiv. autres que Natty**, on [[:tutoriel:​comment_editer_un_fichier|éditera le fichier]] /​etc/​grub.d/​05_debian_theme avec les [[sudo|droits superutilisateur]] et on y modifiera les lignes 10, 11 et 12 comme suit : +
-<​code> ​ WALLPAPER="​00_image_de_fond.jpg"​ +
-  COLOR_NORMAL="​white/​black"​ +
-  COLOR_HIGHLIGHT="​light-green/​magenta"</​code>​+
  
-Donc pour Lucid et Co, on a : 
-  * donné le nom du fichier contenant le fond d'​écran,​ 
-  * défini une //couleur de texte// (color_normal) en blanc sur fond transparent (la couleur noire en deuxième correspond à la couleur transparente) 
-  * défini une //couleur de texte sélectionné//​ (color_highlight) à vert clair sur fond en magenta. 
  
 === Images au bon format === === 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 : +Limage 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>​
-  ​convert $HOME/​Images/​image_exemple.jpg -resize 1024x768! -depth 16 $HOME/​Images/​image_exemple_au_bon_format.jpg+
  
 === Utilisation === === 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 : +Pour modifier limage de fond, il suffira de faire une copie de celle-ci avec les [[:​sudo|droits superutilisateur]] vers le dossier grub. Par exemple :​ 
-  sudo cp $HOME/​Images/​image_exemple.jpg /​boot/​grub/​00_image_de_fond.jpg+<​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 :  +Lors de la première utilisation,​ ne pas oublier de lancer un : 
-  sudo update-grub+<​code>​sudo update-grub</​code>​
  
-=== Méthode vue sur ArchWiki === 
-Une autre méthode existe indiquée sur ce site: [[http://​wiki.archlinux.org/​index.php/​GRUB2#​Background_image_and_bitmap_fonts|GRUB2 - ArchWiki]]. Elle est fortement déconseillée car on intervient sur le fichier grub.cfg directement (et il faudra refaire à la main le changement dès le moindre update-grub lancé par nous ou par le gestionnaire de mises à jour). [[:​grub-pc?​rev=1267206671#​exemple_fond_d_ecran_methode_beaucoup_plus_simple|Documentation effacée pour grub-pc.]] 
  
 === Script pour automatiser les modifications de couleurs et image de fond d'​écran === === 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 +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 +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 − 
-[[http://​patchgrubtheme.poeulfs.org/​|à cette adresse]] +dans une sélection de thèmes définis dans un fichier de configuration.
-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 ==== ==== 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 : +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]]**
-**[[tutoriel:​grub2_lancer_des_images_iso|Lancer des images iso directement depuis GRUB 2]]**+
  
 ==== Lancement depuis Grub-Legacy ==== ==== Lancement depuis 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 lUUID correspondant à la partition souhaitée) dans le menu.lst dun Grub-Legacy,​ on pourra lancer un Grub-pc derrière un grub-legacy. 
-<code>title Lucid via GRUB-pc+<file>title Trusty ​via GRUB-pc
 uuid 70e29811-71a3-4553-a16c-1cce2ff334ed uuid 70e29811-71a3-4553-a16c-1cce2ff334ed
-kernel /​boot/​grub/​core.img</​code>+kernel /​boot/​grub/i386-pc/​core.img</​file>
  
 +==== Rechercher d’autres OS présents sur la machine et les rajouter à GRUB automatiquement ====
  
-==== Rechercher d'​autres OS présents sur la machine et les rajouter à GRUB automatiquement ==== +Si le script /​etc/​grub.d/​30_os-prober (voir plus haut) na pas trouvé les autres systèmes présents sur la machine, il est possible dutiliser le logiciel OS-prober pour faire la même chose : 
- +  * [[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] **[[apt>​os-prober|os-prober]]** ; 
-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 : +  * puis saisissez dans une [[:terminal|console]] les commandes suivantes :​
-  * [[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] **[[apt>​os-prober|os-prober]]** +
-  * puis saisissez dans une [[terminal|console]] les commandes suivantes :+
 <​code>​sudo os-prober <​code>​sudo os-prober
 sudo update-grub</​code>​ sudo update-grub</​code>​
  
-NB: il semblerait que os-prober ait encore quelques problèmes avec le RAID (http://​lists.gnu.org/​archive/​html/​bug-grub/​2011-02/​msg00030.html) et ne fonctionne pas dans ce cas-là.+<note important>​l ​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>​
  
 ==== Ajouter du rootdelay au démarrage ==== ==== 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 ça marche ​je vous conseil ​d'ajouter du rootdelay dans grub.+Si vous tombez sur une busybox au démarrage, il est possible que le système nait pas attendu assez longtemps pour que les disques durs sinitialisent. Vous pouvez continuer le démarrage par un simple ctrl+d dans la busybox, si cela fonctionne ​je vous conseille ​dajouter du rootdelay dans grub.
  
-Pour cela [[:​tutoriel:​comment_modifier_un_fichier|éditer]] /​etc/​default/​grub pour changer ​le +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>
-<code>​GRUB_CMDLINE_LINUX_DEFAULT="​quiet splash"</​code>+
 en en
-<code>​GRUB_CMDLINE_LINUX_DEFAULT="​rootdelay=40 quiet splash"</​code+<file>​GRUB_CMDLINE_LINUX_DEFAULT="​rootdelay=40 quiet splash"</​file
-Le temps à attendre est à estimer. Une fois la ligne éditée il faut mettre à jour le fichier de config de grub: +Le temps à attendre est à estimer. Une fois la ligne éditéeil faut mettre à jour le fichier de config de grub : 
-<​code>​sudo update-grub</​code>​+<​code>​sudo update-grub</​code>​
  
 Maintenant à chaque mise à jour du kernel le rootdelay sera inséré. Maintenant à chaque mise à jour du kernel le rootdelay sera inséré.
 +
 ===== 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 safficher par défaut, si lécran de lordinateur reste noir au démarrage avec un message derreur de lécran, il faut changer une option dans grub pour obliger un affichage non graphique. 
- ​Ouvrir le terminal, écrire +Ouvrir le terminal, écrire 
-   gksudo gedit /​etc/​default/​grub +<​code>​sudo xdg-open ​/​etc/​default/​grub</​code>​ 
-enlever ​le # devant ​la ligne +Enlever ​le [[wpfr>​wiki|croisillon]] « # » au début de la ligne 
-  #​GRUB_TERMINAL=console +<​file>​#​GRUB_TERMINAL=console</​file>​ 
-enregistrer ​le fichier et quitter ​gedit puis dans le terminal : +Enregistrer ​le fichier et quitter ​l’éditeur de texte puis dans le terminal :​ 
-  sudo update-grub +<​code>​sudo update-grub</​code>​ 
-redémarrer ​le pc+Redémarrer ​le pc
 ==== 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 dexploitation à 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 damorç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. Linvite de commande vous permet dexé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 ​suivantes+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. Une espace mal placée 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>​** :​
 +<​code>​search -f --set=Root /​boot/​grub/​core.img</​code>​
 +<​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>​
  
-Inscrivez chacune des commandes suivantes sur une seule ligne, après l'​invite **''​grub:​sh>''​** : +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>​search -f --set=Root /​boot/​grub/​core.img +
-set root=(${Root}) +
-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>​ <​code>​sudo update-grub</​code>​
  
-==== Error 15 : passage difficile à Grub2 ====+==== Error 15 : passage difficile à Grub2 ====
  
-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 [[:​tutoriel:​comment_restaurer_grub|ce tutoriel]]. +====Long temps de chargement ====
- +
-==== Problème : 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 :​ installer une version plus récente de GRUB, par exemple via les Options avancées de [[:​Boot-Repair]].
  
 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. 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étail dans [[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=351117|ce sujet du forum]]. Plus de détail dans [[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=351117|ce sujet du forum]].
  
-==== Problème : 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 lordinateur.
  
-**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 lUSB 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 loption ​« Prise ​en charge USB léguée ». 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 na pas d'​influence sur lutilisation des ports USB par la suite.</​note>​
  
-==== Problème : 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 na pas de clavier/​écran.
  
-**Solution** : Dans le fichier ​''​/​etc/​default/​grub'' ​ajoutez : +**Solution** : ​dans le fichier /​etc/​default/​grub ajoutez :​ 
-<code>​GRUB_RECORDFAIL_TIMEOUT=0</​code+<file>​GRUB_RECORDFAIL_TIMEOUT=0</​file
-Dans le fichier ​''​/​etc/​default/​rcS'' ​ajoutez pour vérifier les disques automatiquement : +Dans le fichier /​etc/​default/​rcS ajoutez pour vérifier les disques automatiquement :​ 
-<code>​FSCKFIX=yes</​code+<file>​FSCKFIX=yes</​file
-Finissez par le ''​sudo update-grub'' ​évidemment.+Finissez par le //sudo update-grub// évidemment.
  
-==== Problème : apparition ​d'images au boot ==== +==== Apparition ​dimages au boot ==== 
-Certains ​kernels ​affichent une image lors du chargement du système (pingouin, 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 (lHyperThreading 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.
  
-Le résultat devrait ressembler à ceci : +Le résultat devrait ressembler à ceci : 
-<code>​GRUB_CMDLINE_LINUX_DEFAULT="​quiet splash logo.nologo"</​code>​+<file>​GRUB_CMDLINE_LINUX_DEFAULT="​quiet splash logo.nologo"</​file> 
 + 
 +Finissez par le //sudo update-grub//​ évidemment. 
 +====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>​ 
 + 
 +Pour y remédier, la solution est le chroot (si vous obtenez une erreur, arrêtez de suite la procédure) : 
 +<code bash>​sudo -s 
 +mkdir -p /​tmp/​newroot 
 +mount -t ext4 /dev/sda3 /​tmp/​newroot 
 +mount --bind /proc /​tmp/​newroot/​proc 
 +mount --bind /dev /​tmp/​newroot/​dev 
 +mount --bind /sys /​tmp/​newroot/​sys 
 +chroot /​tmp/​newroot/​ 
 +/​usr/​sbin/​update-grub 
 +/​usr/​sbin/​grub-install /dev/sda 
 +exit</​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. 
 +==== 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). 
 + 
 +Ou attendre le paquet "​grub-common"​ version "​2.02~beta2-26ubuntu3"​ cf. https://​bugs.launchpad.net/​bugs/​1274320/​ 
 + 
 +Lancer les commandes suivantes : 
 + 
 +<​code>​ 
 +patchFile=~/​00_header_754921.patch 
 +sed -i "​s/​00_header.in/​00_header/​g"​ $patchFile 
 +cd /etc/ && sudo patch -p2 < $patchFile 
 +sudo chmod +x ./​grub.d/​00_header 
 +sudo update-grub 
 +</​code>​ 
 + 
 +Au prochain reboot, le message ne devrait plus apparaître.
  
-Finissez par le ''​sudo update-grub''​ évidemment. 
  
 ===== 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.benlaug.com/​node/​37|Article très détaillé sur la configuration de Grub2]] +  * [[http://​www.tutoriels-video.fr/​personnaliser-ubuntu-lecran-de-boot/​|Tutoriel vidéo : Personnaliser l'​écran de boot d'​ubuntu (fr)]]
-  ​* [[http://​www.tutoriels-video.fr/​personnaliser-ubuntu-lecran-de-boot/​|Tutoriel vidéo : Personnaliser l'​écran de boot d'​ubuntu (fr)]]+
   * [[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://elban.fr/changer-grub2-ordre-demarrage/​|Tutoriel : Changer l'​ordre de démarrage dans Grub 2 (fr)]] +  * [[http://www.it-connect.fr/contourner-lauthentification-linux-en-editant-le-grub/|Contourner l’authentification Linux en éditant le GRUB (fr)]] 
-  * [[http://​elban.fr/​supprimer-anciens-noyaux-grub/|Tutoriel : Supprimer les anciens noyaux pour rendre Grub plus esthétique et gagner de la place (fr)]]+
 ===== Autres pages en rapport ===== ===== Autres pages en rapport =====
-  * [[:​startupmanager|Startup Manager : une interface graphique gérant Grub 2]], + 
-  * [[:​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]],​
-  * [[:​grub-pc-annexe]] : Exemples d'​intervention possible sur les scripts de Grub 2,+
   * [[:​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   * [[:​burg|BURG]] alternative graphique à grub
Ligne 690: Ligne 486:
 ---- ----
  
-// Contributeurs : [[:​utilisateurs:​Frombenny]] (rédaction de la page), [[:​utilisateurs:​Theozzfancometh]],​ [[:​utilisateurs:​f.x0]].+// Contributeurs :​ [[:​utilisateurs:​Frombenny]] (rédaction de la page), [[:​utilisateurs:​Theozzfancometh]],​ [[:​utilisateurs:​f.x0]], [[:​utilisateurs:​albanmartel]],​ //​[[:​utilisateurs:​perco|perco]].//
  
-// 


Le contenu de ce wiki est sous licence : CC BY-SA v3.0