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édentesRévision précédente
Prochaine révision
Révision précédente
tutoriel:grub2_parametrage_manuel [Le 12/01/2018, 22:09] – [Booter en automatique comme le choix précédant.] 176.161.21.111tutoriel:grub2_parametrage_manuel [Le 25/02/2025, 02:41] (Version actuelle) – [Fichier /etc/default/grub] clarification sur la différence entre GRUB_CMDLINE_LINUX_DEFAULT et GRUB_CMDLINE_LINUX nany
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 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 ..). Les options définies ici ne seront pas prises en compte si vous démarrez en mode de récupération (recovery). 
 +  * **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 ...). Les options définies ici s'appliquent donc à tous les démarrages, qu'ils soient normaux ou en mode de récupération (recovery).
   * **#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]]. 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 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 104: 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 (Numérotation à partir de 0) . Ils doivent aussi être mis [[https://forum.ubuntu-fr.org/viewtopic.php?pid=22784310#p22784310|entre guillemets]]. 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=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**
- 
 ==== 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 118: 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 145: 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 157: Ligne 174:
 ===== Contenu de menu perso ===== ===== Contenu de menu perso =====
 **Tous ces contenus sont ajoutés à /etc/grub.d/40_custom** **Tous ces contenus sont ajoutés à /etc/grub.d/40_custom**
 +
 +<note tip>On peut obtenir le contenu de l'entrée Windows du menu Grub avec cette commande :
 +<code>sudo cat /boot/grub/grub.cfg | grep -A20 'menuentry .*Windows' | awk '/^###/{exit} {print}'
 +</code></note>
  
 ==== 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 165: Ligne 189:
   ntldr /bootmgr   ntldr /bootmgr
 } }
 +
 menuentry "Windows 10b" { menuentry "Windows 10b" {
   insmod ntfs   insmod ntfs
Ligne 170: Ligne 195:
   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
 +}
 +
 +# Windows en bios legacy, disque MBR :
 +menuentry 'Windows 11 (on /dev/sdb1)' --class windows --class os $menuentry_id_option 'osprober-chain-062ADE8A0C7254A8' {
 + insmod part_msdos
 + insmod ntfs
 + set root='hd1,msdos1'
 + if [ x$feature_platform_search_hint = xy ]; then
 +   search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  062ADE8A0C7254A8
 + else
 +   search --no-floppy --fs-uuid --set=root 062ADE8A0C7254A8
 + fi
 + parttool ${root} hidden-
 + drivemap -s (hd0) ${root}
 + chainloader +1
 +}
 +
 +# Windows en EFI sur disque GPT :
 +menuentry 'Windows Boot Manager (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-efi-3333-3333' {
 + insmod part_gpt
 + insmod fat
 + set root='hd0,gpt1'
 + if [ x$feature_platform_search_hint = xy ]; then
 +   search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1  3333-3333
 + else
 +   search --no-floppy --fs-uuid --set=root 3333-3333
 + fi
 + chainloader /EFI/Microsoft/Boot/bootmgfw.efi
 +}
 +
 menuentry 'Bootloader Lilo sur sda7' { menuentry 'Bootloader Lilo sur sda7' {
   set root=(hd0,7)   set root=(hd0,7)
   chainloader +1   chainloader +1
 } }
 +
 menuentry "Menu grub2 sur sda8" { menuentry "Menu grub2 sur sda8" {
   set root=(hd0,8)   set root=(hd0,8)
   configfile /boot/grub/grub.cfg   configfile /boot/grub/grub.cfg
 } }
 +
 menuentry "Menu grub-legacy sur sda6" { menuentry "Menu grub-legacy sur sda6" {
   set root=(hd0,6)   set root=(hd0,6)
Ligne 233: Ligne 302:
  
 === GRUB_GFXPAYLOAD === === GRUB_GFXPAYLOAD ===
-On fera la même chose qu'au paragraphe précédent pour les résolutions après Grub avec les paramètres **GRUB_GFXPAYLOAD** et **GRUB_GFXPAYLOAD_LINUX**.+On fera la même chose qu'au paragraphe précédent pour les résolutions après Grub avec les paramètres **GRUB_GFXPAYLOAD** et **GRUB_GFXPAYLOAD_LINUX**.<note warning>Cette phrase manque totalement de précision</note>
  
 ==== Fond d'écran ==== ==== Fond d'écran ====
Ligne 272: Ligne 341:
  
 ==== 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 ? ====
Ligne 285: Ligne 354:
 Lancer ensuite la commande de **mise à jour** : Lancer ensuite la commande de **mise à jour** :
 <code>sudo update-grub</code> <code>sudo update-grub</code>
 +
 +===== Sécurité et mot de passe =====
 +
 +On peut protéger Grub avec un mot de passe, pour quelques entrées ou tout le menu.
 +
 +====Définir le mot de passe====
 +Exécutez cette commande pour créer le mot de passe chiffré :
 +
 +<code>grub-mkpasswd-pbkdf2</code>
 +
 +Copier le résultat obtenu après les mots « password is » tel que <code>grub.pbkdf2.sha512.10000.095DB0192324CCACC86DB81455C7E45B266FA9570CAFE8FC413A4C756F6666A35CD907EB73BE95D2C469CAA9C8FEB0F278365738B1FD7AB96EDFA15D0442D8D7.2EC836CCB165599D63799071B2069D058E5F42FCEC6804ACCD2C7EA6CF722380F1FF4E5191D7B0385152482E829F3FBB44AA626D59CE609092B8150E610C502B</code>
 +
 +===Protéger l’ensemble du menu Grub===
 +Editez ce fichier
 +<code>sudo nano /etc/grub.d/00_header</code>
 +et ajoutez ce code tout à la fin du fichier, en remplaçant david par l’identifiant souhaité et le mot de passe chiffré. Par exemple :
 +<code>cat << EOF
 +set superusers="david"
 +password_pbkdf2 david grub.pbkdf2.sha512.10000.095DB0192324CCACC86DB81455C7E45B266FA9570CAFE8FC413A4C756F6666A35CD907EB73BE95D2C469CAA9C8FEB0F278365738B1FD7AB96EDFA15D0442D8D7.2EC836CCB165599D63799071B2069D058E5F42FCEC6804ACCD2C7EA6CF722380F1FF4E5191D7B0385152482E829F3FBB44AA626D59CE609092B8150E610C502B
 +EOF</code>
 +Enregistrez avec Ctrl+O, fermez le fichier avec Ctrl+X, mettez à jour Grub et redémarrez
 +<code>sudo update-grub</code>
 +
 +===Protéger qu’une seule entrée de Grub===
 +Ne modifiez pas le fichier `/etc/grub.d/00_header`, mais éditez le fichier `/etc/grub.d/40_custom`. Il faut donc créer ce fichier manuellement, regardez les rubriques dédiées ci-dessus, sur cette page.
 +<code>sudo nano /etc/grub.d/40_custom</code>
 +et ajoutez juste après l’entête des commentaires, en remplaçant david par l’identifiant souhaité et le mot de passe chiffré. En ajoutant –users et l’identifiant dans menuentry. Par exemple :
 +<code>set superusers="david"
 +password_pbkdf2 david grub.pbkdf2.sha512.10000.095DB0192324CCACC86DB81455C7E45B266FA9570CAFE8FC413A4C756F6666A35CD907EB73BE95D2C469CAA9C8FEB0F278365738B1FD7AB96EDFA15D0442D8D7.2EC836CCB165599D63799071B2069D058E5F42FCEC6804ACCD2C7EA6CF722380F1FF4E5191D7B0385152482E829F3FBB44AA626D59CE609092B8150E610C502B
 +
 +# Windows en EFI sur disque GPT :
 +menuentry 'Windows Boot Manager (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-efi-3333-3333' –users david {
 +        insmod part_gpt
 +        insmod fat
 +        set root='hd0,gpt1'
 +        if [ x$feature_platform_search_hint = xy ]; then
 +          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1  3333-3333
 +        else
 +          search --no-floppy --fs-uuid --set=root 3333-3333
 +        fi
 +        chainloader /EFI/Microsoft/Boot/bootmgfw.efi
 +}</code>
 +enregistrez avec Ctrl+O, fermez le fichier avec Ctrl+X, mettez à jour Grub et redémarrez
 +<code>sudo update-grub</code>
 +
 +
 +
  
 ===== Autres pages en rapport ===== ===== Autres pages en rapport =====