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
Prochaine révision Les deux révisions suivantes
tutoriel:grub2_parametrage_manuel [Le 15/08/2017, 10:17]
88.182.40.86 [Ne pas installer la structure de boot.]
tutoriel:grub2_parametrage_manuel [Le 10/04/2022, 10:15]
81.185.161.122 [Ne pas installer la structure de boot.]
Ligne 1: Ligne 1:
-{{tag>​grub-pc amorçage}}+{{tag>tutoriel ​grub-pc amorçage}}
 ---- ----
 <​note>​Cette page est un tutoriel Grub2 dont la documentation principale est disponible [[:​grub-pc|ici]].</​note>​ <​note>​Cette page est un tutoriel Grub2 dont la documentation principale est disponible [[:​grub-pc|ici]].</​note>​
  
 ====== Tutoriel GRUB 2 : paramétrage manuel ====== ====== Tutoriel GRUB 2 : paramétrage manuel ======
-Il existe des [[:grub-pc#Paramétrage avec une application|applications graphiques pour paramétrer Grub]]. Ici on exposera l'​**intervention directe** sur les **fichiers de paramètres** de Grub. +Il existe des [[:grub-pc#fonctionnement_general|applications graphiques pour paramétrer Grub]]. Ici on exposera l'​**intervention directe** sur les **fichiers de paramètres** de Grub.
-  ​+
 ===== A savoir avant de configurer ===== ===== A savoir avant de configurer =====
  
 Nous n'​intervenons **pas directement** sur un fichier de configuration **mais** sur des fichiers de **paramètres** qui sont pris en compte uniquement lors du lancement d'une **commande de mise à jour** (update-grub). Nous n'​intervenons **pas directement** sur un fichier de configuration **mais** sur des fichiers de **paramètres** qui sont pris en compte uniquement lors du lancement d'une **commande de mise à jour** (update-grub).
  
-Les paramètrages ​sont **situés uniquement** dans le fichier **/​etc/​default/​grub** et dans le dossier **/​etc/​grub.d/​**.+Les paramétrages ​sont **situés uniquement** dans le fichier **/​etc/​default/​grub** et dans le dossier **/​etc/​grub.d/​**.
  
 ==== Fichier grub.cfg ==== ==== Fichier grub.cfg ====
Ligne 23: Ligne 22:
   * **#​GRUB_HIDDEN_TIMEOUT=0** :​ avec le « #​ »,​ le menu de grub sera visible. Sans le « #​ »,​ le menu de grub sera invisible. (-> **[[#​Afficher/​Masquer le menu|Détails]]**)   * **#​GRUB_HIDDEN_TIMEOUT=0** :​ avec le « #​ »,​ le menu de grub sera visible. Sans le « #​ »,​ le menu de grub sera invisible. (-> **[[#​Afficher/​Masquer le menu|Détails]]**)
   * **GRUB_HIDDEN_TIMEOUT_QUIET=false** De pair avec ‘GRUB_HIDDEN_TIMEOUT’. (-> **[[#​Afficher/​Masquer le menu|Détails]]**)   * **GRUB_HIDDEN_TIMEOUT_QUIET=false** De pair avec ‘GRUB_HIDDEN_TIMEOUT’. (-> **[[#​Afficher/​Masquer le menu|Détails]]**)
 +  * **GRUB_TIMEOUT_STYLE=hidden** Paramètre apparu avec la version 18.04.1 en remplacement des deux qui précèdent.
   * **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. (-> **[[#Menu par défaut|Détails]]**)   * **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. (-> **[[#Menu par défaut|Détails]]**)
   * **GRUB_DISTRIBUTOR=``** est la ligne qui définit la syntaxe des titres du menu (-> **[[#​Intitulé dans le menu|Détails]]**)   * **GRUB_DISTRIBUTOR=``** est la ligne qui définit la syntaxe des titres du menu (-> **[[#​Intitulé dans le menu|Détails]]**)
-  * **GRUB_CMDLINE_LINUX_DEFAULT=""​** ​et **GRUB_CMDLINE_LINUX=""​** on y met les paramètres à ajouter lors de la détection automatique des systèmes (ex: radeon.modeset=1logo.nologo,..).+  * **GRUB_CMDLINE_LINUX_DEFAULT="​ "​** ​ Des paramètres sont déjà présents, ils peuvent être ôtés. On y met les paramètres à ajouter lors de la détection automatique des systèmes ​lors du démarrage.  ​(ex: radeon.modeset=1 logo.nologo ​..). 
 +  * **GRUB_CMDLINE_LINUX=""​** On  peut y mettre des paramètres supplémentaires à ceux du paramètre précédant à ajouter lors du démarrage ​ des systèmes en mode recovery ​ (ex: fsck.mode=force ​ fsck.repair=yes ...).
   * **#​GRUB_GFXMODE=640x480** (-> **[[#​GRUB_GFXMODE|Détails]]**).   * **#​GRUB_GFXMODE=640x480** (-> **[[#​GRUB_GFXMODE|Détails]]**).
   * **#​GRUB_INIT_TUNE="​480 440 1"​** :​ sans le « #​ »,​ on aura un bip à l’affichage du menu Grub.   * **#​GRUB_INIT_TUNE="​480 440 1"​** :​ sans le « #​ »,​ on aura un bip à l’affichage du menu Grub.
Ligne 34: Ligne 35:
   * **GRUB_BACKGROUND="/​boot/​grub/​images/​fjord.jpg"​** : pour mettre une image en fond d'​écran (-> **[[#Fond d'​écran|Détails]]**)   * **GRUB_BACKGROUND="/​boot/​grub/​images/​fjord.jpg"​** : pour mettre une image en fond d'​écran (-> **[[#Fond d'​écran|Détails]]**)
   * **GRUB_DISABLE_OS_PROBER="​true"​** : si on souhaite désactiver la recherche d'​autres systèmes à chaque update-grub (inutile si on les lance autrement)   * **GRUB_DISABLE_OS_PROBER="​true"​** : si on souhaite désactiver la recherche d'​autres systèmes à chaque update-grub (inutile si on les lance autrement)
 +  * **GRUB_DISABLE_OS_PROBER=false** : si on souhaite activer la recherche d'​autres systèmes à chaque update-grub pour les lancer.[[https://​forum.ubuntu-fr.org/​viewtopic.php?​pid=22517082#​p22517082|avec le grub]]
   * **GRUB_OS_PROBER_SKIP_LIST="​..."​** : liste de partitions à ne pas inclure dans la recherche automatique de systèmes. (-> **[[#​os-prober partiel|Détails]]**)   * **GRUB_OS_PROBER_SKIP_LIST="​..."​** : liste de partitions à ne pas inclure dans la recherche automatique de systèmes. (-> **[[#​os-prober partiel|Détails]]**)
   * **GRUB_DISABLE_LINUX_RECOVERY="​true"​** : on mettra ce paramètre si on ne veut plus avoir la possibilité de lancer les systèmes en mode '​maintenance'​   * **GRUB_DISABLE_LINUX_RECOVERY="​true"​** : on mettra ce paramètre si on ne veut plus avoir la possibilité de lancer les systèmes en mode '​maintenance'​
Ligne 50: Ligne 52:
   * **20_linux_xen** : script pour Xen Linux et Xen Hypervisor ;   * **20_linux_xen** : script pour Xen Linux et Xen Hypervisor ;
   * **30_os-prober** :​ contient le script de recherche des autres systèmes installés ;​   * **30_os-prober** :​ contient le script de recherche des autres systèmes installés ;​
-  * **30_uefi-firmware** ​FIXME+  * **30_uefi-firmware** ​: script pour localiser les paramètres uefi de l'​ordinateur ; 
   * **40_custom** :​ configuration personnelle (systèmes à lancer en configuration manuelle, paramètres qui n'​existent pas pour /​etc/​default/​grub,​..)   * **40_custom** :​ configuration personnelle (systèmes à lancer en configuration manuelle, paramètres qui n'​existent pas pour /​etc/​default/​grub,​..)
   * **41_custom** : identique à 40_custom (si on le renomme par exemple 07_custom, on pourra y mettre le lancement du mediacenter ou de Windows en premier sur la liste)   * **41_custom** : identique à 40_custom (si on le renomme par exemple 07_custom, on pourra y mettre le lancement du mediacenter ou de Windows en premier sur la liste)
Ligne 57: Ligne 59:
  
 ===== Paramétrage manuel ===== ===== Paramétrage manuel =====
-<note warning>​À partir de ce chapitre, vous allez intervenir directement sur les fichiers de GRUB. Soyez prudent, les fichiers de GRUB ne doivent pas être modifiés à la légère, sous peine d'​avoir un système qui ne démarre plus. Si vous ne maîtrisez pas bien, n'​hésitez pas à demander de l'aide sur le [[http://​forum.ubuntu-fr.org/​|forum]]. </​note>​+<note warning>​À partir de ce chapitre, vous allez intervenir directement sur les fichiers de GRUB. Soyez prudent, les fichiers de GRUB ne doivent pas être modifiés à la légère, sous peine d'​avoir un système qui ne démarre plus. Si vous ne maîtrisez pas bien, n'​hésitez pas à demander de l'aide sur le [[http://​forum.ubuntu-fr.org/​|forum]]. Pour revenir en arrière, utilisez un live-usb et suivez la procédure décrite dans cette [[:​tutoriel:​comment_restaurer_grub|page de la doc]].</​note>​
 <note important>​Avant de commencer, il est souhaitable :​ <note important>​Avant de commencer, il est souhaitable :​
   * de lancer dans un [[:​terminal]] une [[:​commande_shell|commande]] de mise à jour : //sudo update-grub//​ ;​   * de lancer dans un [[:​terminal]] une [[:​commande_shell|commande]] de mise à jour : //sudo update-grub//​ ;​
Ligne 73: Ligne 75:
  
 === cas 1 === === cas 1 ===
-**Caché**. Grub lance sans attendre le choix par défaut.+**Caché sans attendre le choix**\\ 
 +Remarque : avec GRUB_HIDDEN_TIMEOUT_QUIET=true,​ impossible de mettre en pause le démarrage en tapotant la touche Shift lors de l'​affichage du menu.\\ 
 +Pour Ubuntu 16.04 :
 <​file>​GRUB_HIDDEN_TIMEOUT=0 <​file>​GRUB_HIDDEN_TIMEOUT=0
 GRUB_HIDDEN_TIMEOUT_QUIET=true GRUB_HIDDEN_TIMEOUT_QUIET=true
 GRUB_TIMEOUT=0 #​ dépendance:​ lorsque GRUB_HIDDEN_TIMEOUT est actif, ce paramètre doit être défini à 0</​file>​ GRUB_TIMEOUT=0 #​ dépendance:​ lorsque GRUB_HIDDEN_TIMEOUT est actif, ce paramètre doit être défini à 0</​file>​
 +À partir d'​Ubuntu 18.04 : 
 +<​file>​GRUB_TIMEOUT_STYLE=hidden 
 +GRUB_TIMEOUT=0</​file>​
 === cas 2 === === cas 2 ===
-**Caché**. Un **décompte de 5 secondes** ​est lancé ​pendant lequel on peut appuyer sur les touches **Échap** ou majuscule (**Shift**) pour afficher le menu. Sans action de notre part, le choix par défaut est lancé.+**Caché ​avec un décompte de 5 secondes** pendant lequel on peut appuyer sur les touches **Échap** ou majuscule (**Shift**) pour afficher le menu. Sans action de notre part, le choix par défaut est lancé.\\ 
 +Remarque : puisque GRUB_HIDDEN_TIMEOUT_QUIET=false,​ alors on peux mettre en pause le démarrage en tapotant la touche Shift pour afficher le menu.\\ 
 +Pour Ubuntu 16.04 :
 <​file>​GRUB_HIDDEN_TIMEOUT=5 <​file>​GRUB_HIDDEN_TIMEOUT=5
 GRUB_HIDDEN_TIMEOUT_QUIET=false GRUB_HIDDEN_TIMEOUT_QUIET=false
 GRUB_TIMEOUT=0 #​ dépendance:​ lorsque GRUB_HIDDEN_TIMEOUT est actif, ce paramètre doit être défini à 0</​file>​ GRUB_TIMEOUT=0 #​ dépendance:​ lorsque GRUB_HIDDEN_TIMEOUT est actif, ce paramètre doit être défini à 0</​file>​
 +À partir d'​Ubuntu 18.04 : 
 +<​file>​GRUB_TIMEOUT_STYLE=hidden 
 +GRUB_TIMEOUT=5</​file>​
 === cas 3 === === cas 3 ===
-**Affiché directement**.+**Affiché directement ​avec un décompte de 10s**.\\ 
 +Pour Ubuntu 16.04 :
 <​file>#​GRUB_HIDDEN_TIMEOUT=0 <​file>#​GRUB_HIDDEN_TIMEOUT=0
 GRUB_HIDDEN_TIMEOUT_QUIET=true GRUB_HIDDEN_TIMEOUT_QUIET=true
 GRUB_TIMEOUT=10 #​ ne pas laisser à zéro si vous voulez avoir le temps de sélectionner éventuellement un autre système.</​file>​ GRUB_TIMEOUT=10 #​ ne pas laisser à zéro si vous voulez avoir le temps de sélectionner éventuellement un autre système.</​file>​
 +À partir d'​Ubuntu 18.04 : 
 +<​code>​GRUB_TIMEOUT_STYLE=menu 
 +GRUB_TIMEOUT=10</​code>​
 ==== Intitulé dans le menu ==== ==== Intitulé dans le menu ====
 **Par défaut**, la ligne du menu grub concernant la distribution sur laquelle vous êtes affiche **« Ubuntu GNU/​Linux »**. Que vous soyez sur une **variante** (Xubuntu, Lubuntu, Kubuntu,..) ou sur un **dérivé** (Linux Mint,..), l'​intitulé reste **le même** car il dépend de la commande '​lsb_release'​. **Par défaut**, la ligne du menu grub concernant la distribution sur laquelle vous êtes affiche **« Ubuntu GNU/​Linux »**. Que vous soyez sur une **variante** (Xubuntu, Lubuntu, Kubuntu,..) ou sur un **dérivé** (Linux Mint,..), l'​intitulé reste **le même** car il dépend de la commande '​lsb_release'​.
Ligne 106: Ligne 119:
   * un **chiffre** (0 = le premier, 1 = le deuxième, etc.) ;   * 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) ;​   * **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** de menu exact d’un menu mis **entre guillemets** (par exemple : "​Microsoft Windows 10 (on /​dev/​sda1)"​). Pour obtenir les titres exacts des menus : grep menuentry /​boot/​grub/​grub.cfg+  * ou le **titre** de menu exact d’un menu mis **entre guillemets** (par exemple : "​Microsoft Windows 10 (on /​dev/​sda1)"​). Pour obtenir les titres exacts des menus : grep menuentry /​boot/​grub/​grub.cfg ​
 +  * **chiffre>​chiffre** le premier chiffre décrit un menu principal, le second chiffre décrit le sous-menu (par exemple 1>2 pour le mode normal de l'​ancien noyau.)
  
 La **temporisation** avant un lancement automatique se définit avec le paramètre **GRUB_TIMEOUT** : La **temporisation** avant un lancement automatique se définit avec le paramètre **GRUB_TIMEOUT** :
-  * **GRUB_TIMEOUT=10**, lancera le système par défaut au bout de **10 secondes**. Si on ne veut **pas de temporisation**,​ on mettra : **GRUB_TIMEOUT=-1**+  * **GRUB_TIMEOUT=5**, lancera le système par défaut au bout de **10 secondes**. Si on ne veut **pas de temporisation**,​ on mettra : **GRUB_TIMEOUT=-1**
  
 ==== Désactiver Memtest ==== ==== Désactiver Memtest ====
Ligne 137: Ligne 151:
 insmod keylayouts insmod keylayouts
 keymap fr</​file>​ keymap fr</​file>​
-==== Booter en automatique comme le choix précédant. ====+ 
 + 
 +==== Booter en automatique comme le choix précédent. ====
 <​code>​GRUB_DEFAULT=saved <​code>​GRUB_DEFAULT=saved
 GRUB_SAVEDEFAULT=true</​code>​ GRUB_SAVEDEFAULT=true</​code>​
Ligne 143: Ligne 159:
 Ceci est un ajout du 15/08/2017 dont le contenu demande encore à être confirmé. Ceci est un ajout du 15/08/2017 dont le contenu demande encore à être confirmé.
 Lorsqu'​on dispose de plusieurs OS ubuntu et qu'on passe souvent de l'​un ​ à l'​autre et que les noyaux se mettent à jour, on arrive rapidement à avoir un énorme fichier boot.cfg. Lorsqu'​on dispose de plusieurs OS ubuntu et qu'on passe souvent de l'​un ​ à l'​autre et que les noyaux se mettent à jour, on arrive rapidement à avoir un énorme fichier boot.cfg.
-Afin de l'​épurer,​ il existe un outil   =>+Afin de l'​épurer,​ il existe un [[ https://​forum.ubuntu-fr.org/​viewtopic.php?​pid=21701820#​p21701820|outil]] ​
  
 L'​idéal étant de ne pas arriver à cette situation. ​ Il existe quelques palliatifs pour retarder cet état de fait.    Pour tous les OS qui ne sont pas l'OS dirigeant (souvent la version LTS): L'​idéal étant de ne pas arriver à cette situation. ​ Il existe quelques palliatifs pour retarder cet état de fait.    Pour tous les OS qui ne sont pas l'OS dirigeant (souvent la version LTS):
  
-IL faut demander à ne faire aucune recherche d'OS complémentaires ​ via la commande. +IL faut demander à ne faire aucune recherche d'OS complémentaires ​ via la commande 
-<​code>​sudo chmod -x   /​etc/​grub.d/​40_custom</​code>​ +<del><​code>​sudo chmod -x   /​etc/​grub.d/​30_os-prober</​code></​del>​ 
-Il faut aussi ne pas ré-écraser le démarrage du boot prioritraire. Ce qui ce fait à chaque fois qu'un nouveau noyau arrive. Je n'ai pas vu d'​option dans ce fichier de paramétrage pour le faire. ​  En attendant:+il est preferable de modifier le fichier "/​etc/​default/​grub " et d' y inserer l ' option apropriée : 
 +<​code>​GRUB_DISABLE_OS_PROBER=true</​code>​ 
 +Il faut aussi ne pas ré-écraser le démarrage du boot prioritaire. Ce qui se fait à chaque fois qu'un nouveau noyau arrive. Je n'ai pas vu d'​option dans ce fichier de paramétrage pour le faire. ​  En attendant:
 <​code>​ sudo chmod -x  /​usr/​sbin/​grub-install</​code>​ <​code>​ sudo chmod -x  /​usr/​sbin/​grub-install</​code>​
  
Ligne 157: Ligne 175:
  
 ==== Chaîner un autre menu ==== ==== Chaîner un autre menu ====
-**chainloader** vous permettra de lancer un autre gestionnaire d’amorçage présent sur le premier secteur des partitions concernées :​ **Windows, Lilo…**. Ça ne fonctionne pas toujours bien donc on préfère souvent une autre alternative. Voici quelques exemples :+**chainloader** vous permettra de lancer un autre gestionnaire d’amorçage présent sur le premier secteur des partitions concernées :​ **Windows, Lilo…**. Ça ne fonctionne pas toujours bien donc on préfère souvent une autre alternative. Voici quelques exemples.\\ 
 +Remarque ​l’entête du fichier 40_custom doit comporter ces lignes :\\ 
 +<​file>#​!/​bin/​sh 
 +exec tail -n +3 $0</​file>​
 <​file>​menuentry "​Windows 10" { <​file>​menuentry "​Windows 10" {
   insmod ntfs   insmod ntfs
Ligne 167: Ligne 188:
   search --set=root --label WINDOWS_10b --hint hd0,msdos2   search --set=root --label WINDOWS_10b --hint hd0,msdos2
   ntldr /bootmgr   ntldr /bootmgr
 +}
 +menuentry "​Windows 7" {
 +  insmod ntfs
 +  set root='​(hd0,​3)'​
 +  search --no-floppy --fs-uuid --set 94E84428E8440B46
 +  chainloader +1
 +}
 +menuentry "​Windows 10 en mode bios legacy"​ {
 +  insmod ntfs
 +  set root='​(hd1,​msdos2)'​
 +  chainloader +1
 } }
 menuentry '​Bootloader Lilo sur sda7' { menuentry '​Bootloader Lilo sur sda7' {
Ligne 270: Ligne 302:
  
 ==== Sources ==== ==== Sources ====
-On peut installer le theme inclus dans les dépots : [[apt>​grub2-themes-ubuntu-mate]]. On en trouve aussi **[[https://​www.gnome-look.org/​search?projectSearchText=grub2+theme|ici]]** (en cherchant bien '​themes Grub2' et non pas seulement '​gfx'​)+On peut installer le theme inclus dans les dépots : [[apt>​grub2-themes-ubuntu-mate]]. On en trouve aussi **[[https://​www.gnome-look.org/​browse?cat=109&​order=latest|ici]]** (en cherchant bien '​themes Grub2' et non pas seulement '​gfx'​)
  
 ==== Où sont-ils installés ? ==== ==== Où sont-ils installés ? ====
  • tutoriel/grub2_parametrage_manuel.txt
  • Dernière modification: Le 11/09/2022, 12:18
  • par moths-art