GRUB : Configurer le démarrage du PC

Introduction



Voici quelques astuces de paramétrage de GRUB 2.
C'est un peu en vrac mais bon !
La doc complète se trouve sur le site officiel : https://www.gnu.org/software/grub/manual/grub/html_node/Simple-configuration.html

Configurer Grub



Le fichier /boot/grub/grub.cfg (parfois situé dans /boot/grub2) est généré automatiquement par la commande grub-mkconfig (ou grub2-mkconfig).
Il n'est pas à modifier manuellement.
Pour configurer le GRUB, on va donc éditer le fichier /etc/default/grub

Une fois modifié, on regénèrera le fichier grub.cfg avec :

Code BASH :
grub-mkconfig -o /boot/grub/grub.cfg

ou
Code BASH :
grub2-mkconfig -o /boot/grub2/grub.cfg


A adapter en fonction de votre distribution.

Modifier le temps d'affichage du menu



On peut modifier le temps d'affichage de la liste des systèmes à lancer.
Par défaut, ce temps est de 10 secondes sur Ubuntu, 8 secondes sur OpenSuse.

Pour modifier ce timer, modifier la valeur de GRUB_TIMEOUT=. La valeur à indiquer est en secondes.
Une valeur de 0 bootera directement l'entrée par défaut.
Une valeur de -1 laissera affiché la liste jusqu’à ce que l'utilisateur indique son choix.

Définir une entrée par défaut



Si vous avez par exemple Linux et Windows sur le même système, et que vous voulez définir le choix par défaut, sur Windows par exemple, voici comment faire.

Dans un premier temps, on va récupérer le "ID" du système à toujours démarrer dans le fichier grub.cfg :

Code BASH :
grep ^menuentry /boot/grub/grub.cfg

ou
Code BASH :
grep ^menuentry /boot/grub2/grub.cfg


Chez moi, la réponse est :
Code TEXT :
menuentry 'Fedora 31 (Workstation Edition)' --class fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-simple-05b61d0e-d062-4044-84af-a95b94cccef2' {
menuentry 'Windows 10 (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-28B66CC5B66C94DA' {


On repère donc l'ID des 2 systèmes :
- Fedora : gnulinux-simple-05b61d0e-d062-4044-84af-a95b94cccef2
- Windows 10 : osprober-chain-28B66CC5B66C94DA

On va donc définir dans /etc/default/grub la valeur de GRUB_DEFAULT :
Code BASH :
GRUB_DEFAULT=osprober-chain-28B66CC5B66C94DA


On regénère ensuite le grub.cfg et le tour est joué.

A noter, une valeur vide de GRUB_DEFAULT fera que GRUB sélectionnera la première entrée de la liste.