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 01/04/2014, 09:58]
malbo [Exemple : OS sélectionné par défaut]Remplacement "sudo update-grub2" par "sudo update-grub"
grub-pc [Le 14/10/2023, 14:51] (Version actuelle)
serged [Démarrer sur le dernier OS chargé]
Ligne 1: Ligne 1:
-{{tag>Lucid Oneiric Precise Quantal Raring ​boot amorçage}} +{{tag>​boot amorçage}}
- +
-----+
  
 ====== 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é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]].
-  * 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 == +
- +
-  * 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]]).  +
-  * 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.+
  
 +===== Pré-requis=====
 +  * Disposer des [[:​sudo|droits d'​administration]] ;
 +  * Disposer d'une connexion à Internet configurée et activée.
 ===== Installation ===== ===== Installation =====
  
-==== Après ​installation ​complète ​d'​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.
  
-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 **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]]**.
-<​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 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]].+===== Fonctionnement général ===== 
 +La configuration finale de grub est dans le fichier ​**/​boot/​grub/​grub.cfg**
  
-==== Mise à niveau depuis GRUB Legacy ====+Ce fichier est généré automatiquement par la commande **update-grub** ​à partir des entrées suivantes : 
 +  * 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
  
-Si vous avez fait une mise à niveau de votre Ubuntu vers la version 9.10 depuis le gestionnaire de mises à jour, vous 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 : 
-  - 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 2 à 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!).}}+Plus d'information sur le **[[:​tutoriel:​grub2_parametrage_manuel|paramétrage manuel ​de Grub]]**.
  
-//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. 
  
 +Pour un paramétrage avec interface graphique :
 +  * 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]]
  
-==== Réinstaller/​Restaurer GRUB 2 ==== +===== Utilisation du menu ===== 
-Réinstallation GRUBpar exemple lorsqu'il a été effacé suite à l'​installation d'​un ​autre système ​d'​exploitation (par exemple, Microsoft® Windows®, Suse (OpenSuse)). Voir [[:​tutoriel:​comment_restaurer_grub|ce tutoriel]].+**Par défautle menu de Grub ne s'affiche pas dans les configurations ne comportant qu'​un ​seul système.**
  
 +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"​.
  
-==== 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 pas 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_Bl'​exécution de update-grub ​automatiquement ​déclenchée ​après ​cette mise à jour ne vise pas le bon fichierIl faut alors, après avoir redémarré ​le PC dans Système_A, y exécuter ​la commande +Dans les autres ​cas, Grub affiche le menu qui permet ​de choisir le système désiré : 
-<​code>​sudo update-grub</​code>​ +  * sans intervention aucunele système sélectionné par défaut est **lancé ​automatiquement** après ​quelques secondes. 
-C'est incontestablement ​la solution ​la plus simple, qu'il est fortement recommandé d'​utiliser.+  * 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).
  
-Mais on peut également, si l'on veut éviter de réamorcer le PCou sipour une raison ou pour une autre, on ne peut pas réamorcer ​le PC sur Système_Aet 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. +Il est également ​possible : 
-<​code>​sudo grub-mkconfig -o <fichier grub.cfg effectivement utilisé pour l'​amorce></​code>​ +  * de modifier la ligne du menu avec la **touche ​'e'** pourpar exempleajouter un paramètre (Ctrl X : lance le système en appliquant la modificationEchap permet ​de revenir en arrière sans changement) 
-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.+  ​* ​de basculer Grub en **ligne ​de commande** avec la **touche '​c'​** ​(Echap pour revenir au menu) 
 +  ​
  
-Enfin, on peut aussi par un chroot se "​replacer"​ dans Système_A pour y exécuter la procédure update-grub.+===== Habillage et thèmes =====
  
 +Veuillez consulter le tutoriel cité plus haut pour :
 +  * **[[:​tutoriel:​grub2_parametrage_manuel#​Habillage (mode texte)|l'​habillage (mode texte)]]** : image de fond et couleurs d'​affichage
 +  * **[[:​tutoriel:​grub2_parametrage_manuel#​THEME|l'​utilisation des Thèmes Grub2]]** : où les trouver et comment les mettre en oeuvre
  
-=====Configuration simple (pour débutants) =====+===== 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>​
  
-[[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 d'​amorçage à sélectionner par défaut (pour démarrer par défaut sur Windows par exemple) 
-    * préciser le délai d'​attente avant d'​exécuter l'​entrée de menu par défaut ; 
-    * installer et choisir des thèmes de chargement (bootsplash) ; 
-    * créer des disquettes de secours. 
  
-[[grub-customizer|Grub Customizer]] est une application graphique plus avancée qui, si elle ne gère pas les thèmes de chargement, permet de modifier la plupart des paramètres de GRUB, entre autres : +===== Réparation & maintenance ===== 
-  * choisir une entrée de menu d'​amorçage à sélectionner par défaut ; +==== Réinstaller/​Restaurer ​GRUB 2 ====
-  * masquer, changer l'​ordre,​ ajouter ou supprimer des entrées du menu d'​amorçage ; +
-  * ajouter des paramètres au noyau ; +
-  * modifier la résolution d'​affichage ; +
-  * modifier les couleurs du menu GRUB +
-  * ajouter une image d'​arrière-plan.+
  
-=====Configuration avancée===== +Avant de réparer Grub par quelque méthode que ce soit, il peut s'​avérer nécessaire d'​installer la version la plus récente du logiciel et de ses commandes (grub-install,​ grub-mkconfig,​ update-grub,​ …) : 
-==== À connaître avant de configurer manuellement====+<​code>​sudo apt purge grub grub-pc grub-common -y && sudo apt install grub-pc -y</​code>​
  
-=== Afficher ​le menu ===+Plusieurs options sont offertes pour restaurer ​le fonctionnement correct de Grub après qu'il a été effacé ou détérioré :
  
-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.+=== Via le Réparateur ​de Démarrage ===
  
-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]]).+La méthode la plus simple est l'utilisation du [[:boot-repair|réparateur de Démarrage]] (outil graphique).
  
 +=== Depuis votre Ubuntu ayant démarré ===
 +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.
  
-=== Liste des fichiers utilisés pour la configuration ===+Pour avoir une liste des systèmes installés **à jour**, on ajoutera éventuellement un //'​sudo update-grub'//​.
  
-== Fichier utilisé par le système ==+=== Depuis un autre système === 
 +Si vous réussissez à lancer un autre linux contenant Grub2 (live-cd, ​système ​sur un autre disque,..), vous avez 2 cas de figure : 
 +  * **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>​
  
-  * /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.+Il faut que la partition cible soit montée (ouverte via le gestionnaire de fichiers par exemple). 
 +Pour savoir si le disque est bien /dev/sdb, on peut lancer la commande //'​sudo blkid'//. 
 +=== 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 ubuntuPar exemple /dev/sda2 
 +  * Quitter gparted et monter la partition ubuntu grâce à cette commande <code bash> sudo mount -v  /​dev/​sda2 ​ /mnt </​code>​ 
 +  * Faire l'installation ​ du grub légacy ​ grâce à cette commande <code bash>​sudo ​grub-install --boot-directory=/​mnt /dev/sda </​code>​
  
 +==== Démarrer Ubuntu à partir de grub> et grub rescue> ====
  
-== Fichiers utilisés ​pour l'​autoconfiguration ==+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.
  
-  * /​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) +Suivez ​les instructions en fonction ​du Grub que vous voyez.
-  * /​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  ==== +**A partir de grub rescue>​**
-<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 ​+{{::​grub_rescue.png?​400|}}
  
-:​-?</​note>​ +Il faut identifier ​la partition ​Ubuntu et définir ​les commandes ​pour arriver au Grub normal.
-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 : +<​code>​ls # lister les partitions 
-  * /​dev/​hd**a1** ou /​dev/​sd**a1** ​sera nommé hd(**0,1**par grub-pc+# le résultat ​sera du genre : (hd0) (hd0,msdos1) (hd0,msdos2)..
-  * /​dev/​hd**c5** ou /​dev/​sd**c5** sera nommé hd(**2,5**par grub-pc.+# 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) 
 +set prefix=(hd0,​msdos1)/​usr/​lib/​grub 
 +insmod normal 
 +normal</​code>​
  
-Une petite gymnastique (a-> 0, b-> 1, c-> 2,..) reste à faire pour les disques physiques.+{{::​grub_rescue_completed.png?400|}}
  
-<note important>​ +En validant la dernière commande, Grub va alors démarrer en grub normal. Suivez la suite des instructions pour grub normal.
-Mais attention ! +
- voici le contenu de mon fichier /boot/grub/device.map+
  
-(fd0) /​dev/​fd0+**A partir de grub> normal**
  
-(hd0) /​dev/​sda+{{::​grub_normal.png?​400|}}
  
-(hd1) /​dev/​sdb+Il faut identifier la partition Ubuntu et définir les commandes pour démarrer Ubuntu.
  
-(hd2) /dev/sdg+<​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é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>​
  
-pour moi ici hd**2** correspond à sd**g** +{{::​grub_normal_boot.png?​400|}}
-</​note>​ +
-==== 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.+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.
  
-Sinon, référez-vous au paragraphe "​[[#​Configuration/​reconfiguration automatisée à partir ​du live CD]]" dans les cas particuliers.</​note> +**A partir ​de grub>  ​error unknownfile system Entering rescue mode...**
-  sudo update-grub +
-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**'' ​(seulvous 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>+<​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>
  
-==== Configuration manuelle ==== +{{:grub-unknow-filesystem.png?​direct&​400|}}
-<note important>​Avant de commencer, il est souhaitable d'​avoir ​: +
-  * un fichier ​grub.cfg à jour en lançant un update-grub (voir plus haut). +
-  * d'en garder une 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 mêmeaucun 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) +En validant la dernière commandeUbuntu va alors démarrerEnsuite, suivez le paragraphe § 7.1.2 pour réparer Grub à partir ​d'​Ubuntu.
-</​note>​+
  
-=== /​boot/​grub/​device.map === 
-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. 
-  * 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'​administration) le fichier]] des valeurs par défaut de GRUB. Par exemple si vous utilisez Gnome, saisissez 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]]**). +==== Créer une clé USB de secours ==== 
-  * **#​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]]**). +Avant toute installation ​de nouveau système, il peut être judicieux de faire une clé USB de secours pour pouvoir remettre en route votre Grub, au cas où.
-  * **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_DISTRIBUTOR=""​** est la ligne qui définit la syntaxe des titres du menu (-> **[[:​grub-pc#​exemple_titres_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** (-> **[[:​grub-pc#​exemple_resolution_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 "#"​. +Pour cela, vous pouvez ​**suivre ​[[:tutoriel/​grub2_lancer_des_images_iso#grub_sur_une_cle_usb|ce tutoriel]]**.
-  * **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 === +==== Ajouter du rootdelay au démarrage ==== 
-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). +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’initialisentVous pouvez continuer le démarrage par un simple CTRL+D dans la Busybox. Si cela fonctionne, une solution ​sera d'​insérer ​un rootdelay dans grub.
-  * Ouvrir le dossier /boot en mode administrateur+
  
-  gksudo nautilus /boot +Pour cela [[:​tutoriel:​comment_modifier_un_fichier|éditer]] /etc/default/grub **avec les droits d'administration** (voir [[tutoriel:​comment_modifier_un_fichier|tuto "​Comment modifier un fichier ​?"]]) pour mettre par exemple ​: 
- +<file>GRUB_CMDLINE_LINUX_DEFAULT="​rootdelay=40 quiet splash"​</file>
-  * puis clic droit -> Créer un dossier (qu'on nommera AnciensNoyaux) +
-  * 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 === +
- +
-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 === +
-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 +
- +
-  gksudo nautilus /etc/grub.d +
- +
-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. +
- +
-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 :** +
- +
-  * Plutôt que de déplacer ces fichiers, on peut aussi désactiver leurs droits d'​exécution. Toujours via Nautilus : +
-    - 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 === +
-[[: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 sauvegardesce que vous trouverez entre +
- +
-  ### BEGIN /​etc/​grub.d/​30_os-prober ### +
-et +
-  ### END /​etc/​grub.d/​30_os-prober ### +
- +
-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 : +
-    * [[:​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. +
- +
-===== 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>​ +
- +
-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 :  +
- +
-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). +
- +
-<​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 . +
-</​code>​ +
- +
-Par contre, si /boot est sur une partition à part (/​dev/​sdb2 ​par exemple) et /dev/sdb1 est normalement montée sur /. +
- +
-<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> +
- +
-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 :+
  
 +Pour prendre en compte ce changement, on lancera la commande de mise à jour :
 <​code>​sudo update-grub</​code>​ <​code>​sudo update-grub</​code>​
  
-Pour ré-installer GRUB sur le MBR:+==== Lancement depuis un Grub-Legacy ==== 
 +En plaçant ces lignes (avec l’UUID correspondant à la partition souhaitée) dans le menu.lst d’un Grub-Legacy,​ on pourra lancer un Grub-pc derrière un grub-legacy. 
 +<​file>​title Xenial via GRUB-pc 
 +uuid 70e29811-71a3-4553-a16c-1cce2ff334ed 
 +kernel /​boot/​grub/​i386-pc/​core.img</​file>​
  
-<​code>​sudo grub-install /dev/sdb</​code>​+==== 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…
  
-Mais aussi ''​grub-mkdevicemap'' ​comme indiqué plus loin dans ce tutorielsi besoin ​est.+<​note>:​-) Lorsque l'on souhaite faire cohabiter //Ubuntu// avec un autre système, tel que //​Windows®//,​ il peut être opportun d'installer //Grub// sur un disque différent de celui où est installé le chargeur d'​origine. Il suffira de changer ​dans le BIOS l'​ordre d'​examen des disques (lors du démarrage de l'​ordinateur) pour privilégier //Grub// ou un autre système. Ainsile disque d'​origine n'est pas modifié et le retour en arrière est plus simple.</​note>​
  
-pour sortir du chroot, demontez /dev/sdb2 si /boot est sur une partition à part, +==== Démarrer ​sur le dernier OS chargé ====
-<​code>​ +
-sudo umount /dev/sdb2 +
-</​code>​+
  
-tapez exit, puis démontez ​les bind.+Souvent ​les mises à jour de certains OS propriétaires demandent plusieurs reboots après un temps de calcul conséquent.
  
 +Pour éviter de redémarrer sur Ubuntu, il faut modifier la ligne :
 <​code>​ <​code>​
-exit +GRUB_DEFAULT="​0"​
-sudo umount proc +
-sudo umount dev +
-sudo umount sys +
-cd .. +
-sudo umount /dev/sdb1+
 </​code>​ </​code>​
- +par
-==== Cacher le menu ==== +
- +
-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>​---  +
---- //​[[:​utilisateurs:​perco|perco]] Le 16/05/2011, 22:36// +
-==== 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) : +
-<​code>​menuentry '​Bootloader Lilo sur sda7' { +
-set root=(hd0,​7) +
-chainloader +1 +
-}</​code>​ +
-**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 : +
-<​code>​menuentry 'Grub 2 sur /​dev/​sda7'​ { +
-set root=(hd0,​7) +
-chainloader +1 +
-}</​code>​ +
-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 : +
-<​code>​GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` ​                  # donne : Ubuntu, Linux 2.6... +
-#​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}"​ +
-<​code>​ +
-  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>​ <​code>​
-  title="​$(gettext_quoted "%s , with Linux %s (recovery mode)"​)" ​  # à la ligne 70, la modifier en : +GRUB_DEFAULT=saved 
-  title="​$(gettext_quoted "%s (recovery mode)"​)" ​       # vous pouvez commenter ", with Linux [...]" au cas ou vous ayez des problèmes un jour+GRUB_SAVEDEFAULT=true
 </​code>​ </​code>​
- +Suivi d'​un ​:
-vous faites de même pour la ligne 72 sans "​(recovery mode)" ​:+
 <​code>​ <​code>​
-  title="​$(gettext_quoted "%s, with Linux %s"​)" ​           # à la ligne 72, la modifier en : +sudo update-grub
-  title="​$(gettext_quoted "​%s"​)" ​                          # de même, vous pouvez commenter ", with linux [...]" pour les cas de problèmes+
 </​code>​ </​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 ;-) : +===== Problèmes connus =====
-<​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>​+====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.
  
-==== Exemple ​OS sélectionné par défaut ==== +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 
-  ​Saisissez cette commande dans un terminal ​avec un chiffre à la place du x (0 = le premier, 1 = le deuxième etc...)+<​file>#​GRUB_TERMINAL=console</​file>​ 
 +Enregistrer ​le fichier et quitter l’éditeur de texte puis dans le terminal :​ 
 +<​code>​sudo update-grub</​code>​ 
 +Redémarrer le pc.
  
-  sudo grub-set-default x +==== Windows ou d'​autres système n'​apparaissent plus dans le menu ====
-puis   +
-  sudo update-grub +
-  ​+
  
-  * ou [[:tutoriel:​comment_editer_un_fichier|éditez le fichier]] /etc/default/grub et choisissez parmi les possibilités suivantes pour la variable **GRUB_DEFAULT=** +Depuis Ubuntu ​[[:jammy|Jammy 22.04]] //OS Prober// est désactivé par défautdonc Windows n'est plus détecté automatiquement.
-    * un chiffre (0 = le premier1 = 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]]+Pour modifier ​ce comportement vous pouvez ajouter la ligne suivante au fichier ''​/​etc/​default/​grub'' ​: 
 +<file conf grub>​GRUB_DISABLE_OS_PROBER=false<​/file>
  
-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 ligneC'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> +Pour en savoir plus à ce sujet vous pouvez consulter [[https://forum.ubuntu-fr.org/viewtopic.php?​id=2073309|ce sujet]] sur le forum.
-  +
-* 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-grub** ​  pour que la modification soit prise en compte. +
-  sudo update-grub+
  
-==== Exemple ​Résolution d'affichage ​====+==== grub:sh (Shell GRUB 2 à l'amorçage) ​====
  
-  ​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 consolePuis :+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.
  
-  vbeinfo+Pour charger tout de même Ubuntu, entrez la suite de commandes suivante. 
 +  * 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.
  
-  ​[[:tutoriel:comment_editer_un_fichier|Éditez le fichier]] ​/etc/default/grub.+Inscrivez chacune des commandes suivantes sur une seule ligne, après l’invite ​**grub:sh>** : 
 +<​code>​search -f --set=Root ​/boot/grub/core.img
  
-Ligne à éditer :\\ +set root=(${Root})
-**# GRUB_GFXMODE=640x480**\\ +
-**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).+
  
-Exemples:​\\ +probe -(${Root}--set=UUID
-GRUB_GFXMODE=1280x1024,​1024x768x32\\ +
-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 :  +linux /vmlinuz root=UUID=${UUID} ro
-  sudo update-grub+
  
-==== Exemple : ancien paramètre vga=xxx ====+initrd /initrd.img
  
-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 : +boot</​code>​
-  * **[[:​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.]]**+
  
-Doncau lieu de : +Ceci effectuéUbuntu se charge. Pour regénérer le menu de GRUB 2, vous exécuterez ensuite la commande suivante dans un terminal 
-  ​linux ​/boot/​vmlinuz ... vga=788 ...+<​code>​sudo update-grub<​/code>
  
-On aura +==== Error 15 ==== 
-  set gfxpayload=800x600x16800x600 +Si au bootou plutôt au lancement de grub, vous vous retrouvez avec ce message (empêchant tout démarrage du système) :​ 
-  ​linux ​/boot/vmlinuz ...+<​code>​GRUB Error 15.</code> 
 +réinstallez GRUB2 comme décrit dans [[#​Réinstaller/Restaurer GRUB 2|le paragraphe de cette page qui traite ce sujet]].
  
-==== Exemple : Fond d'​écran ​====+==== 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]]. 
 +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.
  
-=== Pré-requis === +**Solution 1** installer ​une version ​plus récente ​de GRUB, par exemple via les Options avancées ​de [[:​Boot-Repair]].
-  ​[[:​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 === +**Solution 2** modifier ​le disque de démarrage dans le BIOS pour démarrer sur le disque où se trouve votre Ubuntu. 
-**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.**+Plus de détails dans [[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=351117|ce sujet du forum]].
  
-**pour Grub-pc version 1.99 fourni ​avec Ubuntu 11.04 (Natty Narwhal),** +==== Long temps de chargement / grub.cfg trop gros==== 
-  * copier une image (*.jpg*.png ou *.tga) dans le répertoire /boot/grub (utiliser les [[sudo|droits superutilisateur]]) +Ca peut se produire en présence de multiboot ​avec plusieurs systèmes GNU/Linux utilisant aussi GRUBCela semble dû au fait que grub-mkconfig ​(appelé par update-grublit 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 ajouteet ç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]]
-  * dans une console faire unsudo 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).+
  
-**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 : +**Contournement ​:** 
-<​code> ​ WALLPAPER="​00_image_de_fond.jpg" +  * Désactiver tous les fichiers ​/boot/grub/grub.cfg de toutes ​les distributions installées en les renommant en grub.cfg.old 
-  ​COLOR_NORMAL="​white/​black"​ +  ​* Mettre à jour Grub : sudo update-grub 
-  COLOR_HIGHLIGHT="​light-green/​magenta"</​code>​+Cette méthode est rapide mais sera potentiellement annulée lors des prochaines mis à jour de grub dans les autres distributions
  
-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 === +**Contournement 2 :** 
-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 :+  * 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]]
  
-  convert $HOME/​Images/​image_exemple.jpg -resize 1024x768! -depth 16 $HOME/​Images/​image_exemple_au_bon_format.jpg 
  
-=== Utilisation === +====Utilisation ​du clavier freeze Grub-PC ====
-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 : +
-  sudo cp $HOME/​Images/​image_exemple.jpg /​boot/​grub/​00_image_de_fond.jpg+
  
-Lors de la première utilisationne pas oublier ​de lancer ​un :  +**Description** :​ sur certains portables (Compaq 21xxHP 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.
-  sudo update-grub+
  
-=== Méthode vue sur ArchWiki === +**Origine** incompatibilité de GrUB-PC et de la gestion de l’USB ​par certains BIOS (Pheonix KAM 1.60 ?)
-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 ===+**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. 
 +<​note>​La désactivation ​de cette option n’a pas d'influence sur l’utilisation des ports USB par la suite.</​note>​
  
-Si les modifications manuelles de "/​boot/​grub/​grub.cfg"​ sont déconseillées,​ il est toutefois possible +==== Grub attend ​pour rien après ​un petit crash serveur ====
-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 ====+Problème gênant quand le dit serveur n’a pas de clavier/​écran.
  
-Dans ce tutoriel vous aurez des exemples de menus "​prêts à l'​emploi" ​pour lancer ​les livecd Ubuntu ou autres ​:+**Solution** :​ dans le fichier /​etc/​default/​grub ajoutez :​ 
 +<​file>​GRUB_RECORDFAIL_TIMEOUT=0</​file>​ 
 +Dans le fichier /​etc/​default/​rcS ajoutez ​pour vérifier ​les disques automatiquement : 
 +<​file>​FSCKFIX=yes</​file>​ 
 +Finissez par le //sudo update-grub//​ évidemment.
  
-**[[tutoriel:​grub2_lancer_des_images_iso|Lancer des images ​iso directement depuis GRUB 2]]**+==== Apparition d’images ​au boot ====
  
-==== Lancement depuis Grub-Legacy ==== +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).
-En plaçant ces lignes ​(avec l'UUID correspondant à la partition souhaitéedans le menu.lst d'un Grub-Legacy,​ on pourra lancer un Grub-pc derrière un grub-legacy. +
-<​code>​title Lucid via GRUB-pc +
-uuid 70e29811-71a3-4553-a16c-1cce2ff334ed +
-kernel /​boot/​grub/​core.img</​code>​+
  
 +**Solution** :​ Éditez le fichier /​etc/​default/​grub et ajoutez « logo.nologo » à la ligne GRUB_CMDLINE_LINUX_DEFAULT.
  
-==== Rechercher d'​autres OS présents sur la machine et les rajouter ​à GRUB automatiquement ====+Le résultat devrait ressembler ​à ceci : 
 +<​file>​GRUB_CMDLINE_LINUX_DEFAULT="quiet splash logo.nologo"</​file>​
  
-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 : +Finissez par le //sudo update-grub/​/ évidemment.
-  * [[:​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 +
-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à.+====Via un CD-Live ou USB-Live====
  
-==== Ajouter du rootdelay au démarrage ====+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>​
  
-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'​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.+Pour y remédierla 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>​
  
-Pour cela [[:​tutoriel:​comment_modifier_un_fichier|éditer]] /​etc/​default/​grub pour changer le +* remplacer sda3 par la réponse que vous donne <​code ​bash>sudo os-prober</​code>​ 
-<​code>​GRUB_CMDLINE_LINUX_DEFAULT="​quiet splash"​</​code>​ +[[http://​openclassrooms.com/​forum/​sujet/​pas-de-grub-au-demarrage-du-pc#​message-84716723|Source]] de cette astuce.
-en +
-<​code>​GRUB_CMDLINE_LINUX_DEFAULT="​rootdelay=40 quiet splash"<​/code> +
-Le temps à attendre est à estimerUne fois la ligne éditée il faut mettre à jour le fichier de config ​de grub+
-<​code>​$ sudo update-grub</​code>​+
  
-Maintenant à chaque mise à jour du kernel le rootdelay sera inséré. +==== Errordiskfilter writes are not supported ​====
-===== Problèmes connus ===== +
-====Grub n'​apparaît pas au démarrage==== +
-En cas de double boot, le menu de grub doit s'​afficher par défaut, si l'​écran de l'​ordinateur reste noir au démarrage avec un message d'​erreur de l'​écran,​ il faut changer une option dans grub pour obliger un affichage non graphique ​: +
- ​Ouvrir le terminal, écrire +
-   ​gksudo gedit /​etc/​default/​grub +
-enlever le # devant la ligne +
-  #​GRUB_TERMINAL=console +
-enregistrer le fichier et quitter gedit puis dans le terminal : +
-  sudo update-grub +
-redémarrer le pc +
-==== 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.+
  
-Pour charger tout de même Ubuntu, ​entrez la suite de commandes suivantes. +Si vous rencontrez au boot le message d'​erreur : "​Error:​ diskfilter writes are not supported"​ sur Ubuntu ​14.10récupérer le code du patch sur https://​bugs.debian.org/​754921 ​et l'​enregistrer dans le fichier "​00_header_754921.patch" (par exemple).
-  * Faites très attention à la structure ​et la graphie des commandesUne 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.+
  
-Inscrivez chacune des commandes suivantes sur une seule ligne, après l'​invite **''​grub:​sh>''​** : +Ou attendre le paquet "grub-common"​ version "​2.02~beta2-26ubuntu3"​ cf. https://bugs.launchpad.net/bugs/1274320/
-<​code>​search ​---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 ​ +Lancer les commandes suivantes ​:
-<​code>​sudo update-grub</​code>​+
  
-==== Error 15 : passage difficile à Grub2 ====+<​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>​
  
-Si au bootou plutôt au lancement de grub, vous vous retrouvez avec ce message ​(empêchant tout démarrage du système) : +Au prochain rebootle message ​ne devrait plus apparaître.
-<​code>​GRUB Error 15.</​code>​+
  
-.. réinstallez GRUB2 comme décrit dans [[:​tutoriel:​comment_restaurer_grub|ce tutoriel]].+===== Liens externes =====
  
-==== 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]]. 
-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]]. 
- 
-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]]. 
- 
-==== Problème : 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. 
- 
-**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. 
-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>​ 
- 
-==== Problème : Grub attend pour rien après un petit crash serveur ==== 
-Problème gênant quand le dit serveur n'a pas de clavier/​écran. 
- 
-**Solution** : Dans le fichier ''/​etc/​default/​grub''​ ajoutez : 
-<​code>​GRUB_RECORDFAIL_TIMEOUT=0</​code>​ 
-Dans le fichier ''/​etc/​default/​rcS''​ ajoutez pour vérifier les disques automatiquement : 
-<​code>​FSCKFIX=yes</​code>​ 
-Finissez par le ''​sudo update-grub''​ évidemment. 
- 
-==== Problème : apparition d'​images 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). 
- 
-**Solution** : Éditez le fichier ''/​etc/​default/​grub''​ et ajoutez "​logo.nologo"​ à la ligne GRUB_CMDLINE_LINUX_DEFAULT : 
- 
-Le résultat devrait ressembler à ceci : 
-<​code>​GRUB_CMDLINE_LINUX_DEFAULT="​quiet splash logo.nologo"</​code>​ 
- 
-Finissez par le ''​sudo update-grub''​ évidemment. 
- 
-===== 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://tradinfo.e-monsite.com|Manuel GNU GRUB (en français)]] 
-  * [[http://www.tutoriels-video.fr/personnaliser-ubuntu-lecran-de-boot/|Tutoriel vidéo : Personnaliser l'​écran ​de boot d'​ubuntu (fr)]]+  * [[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://​elban.fr/​changer-grub2-ordre-demarrage/​|Tutoriel : Changer l'​ordre de démarrage dans Grub 2 (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)]] 
   * [[http://​www.it-connect.fr/​contourner-lauthentification-linux-en-editant-le-grub/​|Contourner l’authentification Linux en éditant le GRUB (fr)]]   * [[http://​www.it-connect.fr/​contourner-lauthentification-linux-en-editant-le-grub/​|Contourner l’authentification Linux en éditant le GRUB (fr)]]
 +
 ===== Autres pages en rapport ===== ===== 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+  * [[: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]].+// Contributeurs :​ [[:​utilisateurs:​Frombenny]] (rédaction de la page), [[:​utilisateurs:​Theozzfancometh]],​ [[:​utilisateurs:​f.x0]], [[:​utilisateurs:​albanmartel]],​ [[:​utilisateurs:​perco|perco]].//
  
-// 
  • grub-pc.1396339113.txt.gz
  • Dernière modification: Le 01/04/2014, 09:58
  • par malbo