Différences
Ci-dessous, les différences entre deux révisions de la page.
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 11/06/2018, 20:33] LukePerp [Afficher/Masquer le menu] |
tutoriel:grub2_parametrage_manuel [Le 10/04/2022, 10:15] 81.185.161.122 [Ne pas installer la structure de boot.] |
||
---|---|---|---|
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=1, logo.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 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> | ||
- | 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é.\\ |
+ | 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**.\\ |
+ | 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 107: | 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 150: | Ligne 163: | ||
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 160: | 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 170: | 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 273: | 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 ? ==== |