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
tutoriel:grub2_parametrage_manuel [Le 07/07/2019, 10:55]
malbo [Afficher/Masquer le menu] ajout note importante "Ce paramétrage est applicable pour la version 16.04 mais ça ne fonctionne pas pour 18.04 et versions suivantes" -
tutoriel:grub2_parametrage_manuel [Le 11/09/2022, 12:18] (Version actuelle)
moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 4: Ligne 4:
  
 ====== 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 26: Ligne 25:
   * **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 35: 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 51: 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 58: 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]]. 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 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 [[https://​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 74: Ligne 75:
  
 === cas 1 === === cas 1 ===
-**Caché**. Grub lance sans attendre le choix par défaut+**Caché sans attendre le choix**\\ 
-<note important>​Ce paramétrage est applicable pour la version ​16.04 mais ça ne fonctionne pas pour 18.04 et versions suivantes</​note>​+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>​
-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.+À 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é.\\ 
-<note important>​Ce paramétrage est applicable ​pour la version 16.04 mais ça ne fonctionne pas pour 18.04 et versions suivantes</​note>​+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>​
-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. +À 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**.\\ 
-<note important>​Ce paramétrage est applicable pour la version ​16.04 mais ça ne fonctionne pas pour 18.04 et versions suivantes</​note>​+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 109: Ligne 117:
  
 Pour changer le système d'​exploitation sur lequel grub démarre par défaut on paramètrera **GRUB_DEFAULT=** au choix avec : Pour changer le système d'​exploitation sur lequel grub démarre par défaut on paramètrera **GRUB_DEFAULT=** au choix avec :
-  * un **chiffre** (0 = le premier, 1 = le deuxième, etc.) ;+  * un **chiffre** ​donnant la position de la ligne à sélectionner dans la liste.(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 ​
 +  * ou le titre du menu avancé et le titre exact du sous-menu séparés par le caractère **>**. Le tout mis entre guillemets. Par exemple: ​ //​GRUB_DEFAULT="​Options avancées pour Ubuntu>​Ubuntu,​ avec Linux 4.15.0-176-generic"//​ 
 +  * **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 ====
 Si on ne souhaite plus voir dans les menus Memtest, on **changera le statut du script** pour qu'il **ne soit plus exécutable** à la prochaine commande de mise à jour : Si on ne souhaite plus voir dans les menus Memtest, on **changera le statut du script** pour qu'il **ne soit plus exécutable** à la prochaine commande de mise à jour :
Ligne 123: Ligne 132:
  
 ==== os-prober partiel ==== ==== os-prober partiel ====
-On peut demander à grub d'​**éviter de scanner certaines ​partition** par leur UUID (//sudo blkid// pour avoir leur liste). On utilisera le paramètre **GRUB_OS_PROBER_SKIP_LIST** du fichier **/​etc/​default/​grub** :+On peut demander à grub d'​**éviter de scanner certaines ​partitions** par leur UUID (//sudo blkid// pour avoir leur liste). On utilisera le paramètre **GRUB_OS_PROBER_SKIP_LIST** du fichier **/​etc/​default/​grub** :
 <​file>​GRUB_OS_PROBER_SKIP_LIST="​3a43c682-cb67-47e6-83cf-e647a72abb5d@/​dev/​sda3","​1397cb72-27f1-4e01-acaf-86495341c71d@/​dev/​sda4"</​file>​ <​file>​GRUB_OS_PROBER_SKIP_LIST="​3a43c682-cb67-47e6-83cf-e647a72abb5d@/​dev/​sda3","​1397cb72-27f1-4e01-acaf-86495341c71d@/​dev/​sda4"</​file>​
 +FIXME Attention : Il semble que la bonne syntaxe soit : 
 +<​file>​GRUB_OS_PROBER_SKIP_LIST="​3a43c682-cb67-47e6-83cf-e647a72abb5d@/​dev/​sda3 1397cb72-27f1-4e01-acaf-86495341c71d@/​dev/​sda4"</​file>​
 ==== Changer l'​ordre des menus ==== ==== Changer l'​ordre des menus ====
 On peut **renommer les scripts** utilisés par '​update-grub'​ dans le dossier /​etc/​grub.d/​ pour en changer l'​ordre,​ par exemple : On peut **renommer les scripts** utilisés par '​update-grub'​ dans le dossier /​etc/​grub.d/​ pour en changer l'​ordre,​ par exemple :
Ligne 150: Ligne 160:
 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 [[ https://​forum.ubuntu-fr.org/​viewtopic.php?​pid=21701820#​p21701820|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/​30_os-prober</​code>​+<del><​code>​sudo chmod -x   /​etc/​grub.d/​30_os-prober</​code></​del>​ 
 +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: 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 164: Ligne 176:
  
 ==== 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 174: Ligne 189:
   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 277: Ligne 303:
  
 ==== 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.1562489707.txt.gz
  • Dernière modification: Le 07/07/2019, 10:55
  • par malbo