Chargeur d’amorçage et configuration de Linux Ubuntu GRUB

Le chargeur d’amorçage GRUB Linux est le chargeur d’amorçage le plus largement utilisé pour Linux. Chaque aspirant utilisateur de Linux bénéficierait d’apprendre à connaître Ubuntu GRUB. Dans ce tutoriel, vous apprendrez ce qu’est GRUB, comment fonctionne le processus d’amorçage, et explorerez plusieurs configurations utiles d’Ubuntu GRUB.

Plongez-vous pour en savoir plus.

Prérequis

Si vous souhaitez suivre ce tutoriel, assurez-vous d’avoir un appareil Linux avec GRUB comme chargeur d’amorçage. Ce tutoriel se basera sur Ubuntu 18.04.5 LTS, tournant sur une machine virtuelle dans Oracle VirtualBox.

Compréhension du Processus d’Amorçage d’Ubuntu GRUB

GRUB est un acronyme pour Grand Unified Boot Loader et est le composant principal et le plus crucial pour l’amorçage de votre appareil. GRUB est également le chargeur d’amorçage le plus répandu pour Linux. Votre parcours commencera avec vous en apprenant un peu plus sur le processus d’amorçage de GRUB.

Dans le processus d’amorçage général, le BIOS commence par invoquer l’étape POST puis recherche le chargeur d’amorçage dans le Master Boot Record (MBR).

Le MBR est l’information dans le premier secteur de n’importe quel disque dur. Le MBR identifie où se trouve un Système d’Exploitation. Les informations stockées dans le MBR chargent (amorcent) le SE dans la RAM de l’appareil.

Cet article ne couvre que la partie MBR. Mais vous pouvez également trouver des disques utilisant GPT, qui signifie GUID Partition Tables. GPT est préférable si vous prévoyez de créer plus de quatre partitions, car un disque MBR peut contenir au maximum 4 partitions primaires.

Dans la capture d’écran ci-dessous, vous pouvez voir un diagramme du processus de démarrage. Vous pouvez voir que Ubuntu GRUB charge le noyau que vous avez choisi dans la mémoire principale : la mémoire vive (RAM). Une fois que le noyau est chargé, les utilisateurs peuvent se connecter à l’appareil.

The role of GRUB during the complete boot process in Linux

Comparaison des chargeurs d’amorçage Ubuntu GRUB et LILO

Le monde Linux dispose de trois principaux chargeurs d’amorçage : LILO, GRUB et GRUB2. GRUB2 est le dernier et le chargeur d’amorçage principal dans les distributions Linux. GRUB2 est le plus utilisé et est présenté dans ce tutoriel car il est le chargeur d’amorçage par défaut d’Ubuntu, mais LILO est encore présent dans Linux. Dans cette section, vous apprendrez comment ils se comparent les uns aux autres.

Others chargeurs d’amorçage Linux sont disponibles sur le marché, tels que GNU GRUB, qui offre un excellent support de gestion de la mémoire et un framework orienté objet. L’autre est SYSLINUX, qui est un chargeur d’amorçage léger.

GRUB prend en charge le démarrage de plusieurs systèmes d’exploitation. LILO, en revanche, ne peut démarrer qu’un seul OS.

GRUB allows opting among multiple OS

Ubuntu GRUB fonctionne avec Windows, Linux, Unix, macOS, BSD, Solaris, tandis que LILO prend en charge principalement les systèmes d’exploitation Linux.

Si vous mettez à jour le fichier de configuration dans LILO, alors LILO doit être réinstallé dans le MBR. Si vous modifiez les paramètres de GRUB, cela ne nécessite pas de réinstallation.

Sélection des différents noyaux ou modes de récupération

Cette section montrera comment sélectionner un noyau lors du démarrage de l’appareil en récupérant d’un noyau corrompu.

A kernel works as an interface between hardware and software. It controls all the processes that users run on the device.

Voici les étapes pour sélectionner un noyau à l’aide d’une machine virtuelle dans Oracle VirtualBox.

1. Connectez-vous directement à la console de l’appareil Ubuntu en utilisant Oracle VirtualBox.

2. Redémarrez votre machine Ubuntu en utilisant la commande d’arrêt comme indiqué ci-dessous.

shutdown -r now

Une fois votre appareil redémarré, appuyez sur Shift pendant le chargement d’Ubuntu GRUB, et vous verrez le menu du chargeur d’amorçage GRUB. Si vous ne sélectionnez rien, GRUB démarrera le système avec le noyau par défaut et continuera le processus de démarrage.

Vous devez sélectionner les options avancées pour Ubuntu soit lorsque vous devez démarrer avec un noyau différent du noyau par défaut, soit si vous rencontrez des problèmes dans le système comme une corruption de fichiers ou un chargement incorrect du noyau.

GRUB loading process

4. Après avoir sélectionné les options avancées pour Ubuntu, un menu GRUB Ubuntu apparaîtra. Dans le menu, vous devriez voir différentes options de noyau que vous pouvez choisir. Si vous ne sélectionnez pas d’option, le premier noyau affiché se chargera par défaut.

Comme vous pouvez le voir ci-dessous dans l’image, il existe deux options supplémentaires pour chaque noyau : upstart et recovery.

  • (upstart) : un remplacement basé sur les événements pour le démon /sbin/init, qui gère le démarrage des tâches et des services lors du démarrage, les arrête lors de l’arrêt et les supervise pendant le fonctionnement du système.
  • (mode de récupération) : pour récupérer le noyau en cas de défaillance du système.
Selecting a kernel from the GRUB menu

5. Une fois connecté au périphérique, la commande uname vérifie si le noyau spécifié est chargé. L’option -r affiche le nom du noyau.

uname -r 
Verifying the kernel from the console

Configuration du système d’exploitation par défaut

Maintenant que vous êtes plus familier avec GRUB, vous allez ajuster quelques options de configuration de GRUB. Vous commencerez par configurer le système d’exploitation qui se chargera par défaut.

1. Connectez-vous à votre appareil Ubuntu à l’aide de votre client SSH préféré.

2. Maintenant, énumérez les entrées du menu de démarrage GRUB en exécutant la commande awk comme indiqué ci-dessous. La commande awk affichera toutes les entrées stockées dans /boot/grub/grub.cfg. Le contenu du fichier s’affichera sur le terminal. Faites attention aux lignes. Vous aurez besoin du numéro associé à la ligne suivante, qui commence par zéro, c’est-à-dire que la ligne Ubuntu est 0 et Ubuntu, avec Linux 4.4.0-210-generic est 1.

awk -F\' '/menuentry / {print $2}' /boot/grub/grub.cfg
awk command filtering all the entries stored in /boot/grub/grub.cfg

3. Ensuite, modifiez le fichier de configuration GRUB. Vous pouvez compter sur vi pour éditer le fichier et changer la valeur de GRUB_DEFAULT, mais utilisez l’éditeur de votre choix selon vos préférences.

vi /etc/default/grub

Maintenant, définissez la valeur de GRUB_DEFAULT sur le numéro de ligne de l’entrée OS souhaitée. Souvenez-vous de la commande awk que vous avez exécutée? Ce sont les entrées OS. Si vous définissez GRUB_DEFAULT sur 0, la première entrée OS dans l’entrée de menu de démarrage GRUB démarrera si vous le définissez sur 1, le périphérique démarrera la deuxième entrée OS par défaut, et ainsi de suite. Sur la capture d’écran ci-dessous, la première entrée OS Ubuntu est définie pour démarrer par défaut.

Par défaut, GRUB n’attend pas dans le menu de démarrage et commence le démarrage immédiatement, en 0 secondes. Vous pouvez changer ce paramètre de temporisation en modifiant la valeur de GRUB_TIMEOUT. La valeur signifiera le nombre de secondes pendant lesquelles le menu est visible avant le démarrage. Si la valeur est 5, le menu de démarrage apparaîtra pendant 5 secondes afin que vous puissiez sélectionner quel OS vous souhaitez charger lorsque le système démarre.

Editing the GRUB configuration file

Une fois que vous avez enregistré les modifications dans le fichier de configuration GRUB, assurez-vous d’exécuter la commande \code{update-grub}. La commande \code{update-grub} prend le fichier de configuration modifié et l’applique au système.

update-grub
Updating the GRUB configuration

Paramétrer l’image d’arrière-plan dans GRUB Ubuntu

Votre configuration GRUB n’a pas besoin d’être terne. Vous pouvez ajouter un peu de saveur à GRUB en ajoutant une image d’arrière-plan au menu GRUB. Vous pouvez définir des images comme arrière-plan dans GRUB avec l’option GRUB_BACKGROUND. Suivez les étapes ci-dessous pour personnaliser GRUB.

1. Éditez le fichier de configuration GRUB avec \code{vi}, ou votre éditeur de texte préféré, et ajoutez la ligne \code{GRUB_BACKGROUND} comme indiqué ci-dessous. Dans ce tutoriel, l’image est stockée dans un dossier personnel utilisateur nommé \code{UBUNTU}, car GRUB s’exécute en tant que root, il peut accéder aux images à travers le système de fichiers. Une fois modifié, enregistrez le fichier de configuration.

# Syntaxe : GRUB_BACKGROUND=/chemin-vers-image
GRUB_BACKGROUND=/home/ubuntu/shanky.jpeg

L’image du fichier shanky.jpeg était déjà présente sur le système. Remplacez ce nom par le nom du fichier que vous souhaitez comme image d’arrière-plan.

2. Ensuite, après avoir apporté les modifications dans le fichier de configuration GRUB, exécutez la commande \code{update-grub}.

Updating the grub configuration file

3. En outre, vérifiez si l’image que vous avez ajoutée dans le fichier Grub comme arrière-plan fonctionne comme prévu. Pour vérifier, redémarrez votre machine et appuyez sur la touche Shift pendant le chargement de GRUB. Comme vous pouvez le voir ci-dessous, GRUB a maintenant une image d’arrière-plan.

GRUB menu displaying the background image as specified in the grub configuration file.

Dual-booting with GRUB

Une des plus grandes caractéristiques de Ubuntu GRUB est qu’il vous permet de choisir entre Windows et Linux lorsque votre appareil démarre : également connu sous le nom de dual boot. Le dual boot vous permet d’utiliser Linux et Windows ensemble sur un même appareil et facilite la vie des ingénieurs informatiques travaillant sur plusieurs systèmes d’exploitation.

Au début de 2021, le script par défaut os_prober, qui ajoute automatiquement des entrées de menu pour d’autres systèmes d’exploitation, a été désactivé en raison de préoccupations concernant la sécurité liées à la détection automatique des systèmes d’exploitation. Vous pouvez réactiver cette fonctionnalité via la commande suivante, à condition de savoir quels systèmes d’exploitation sont installés.

echo GRUB_DISABLE_OS_PROBER=false|sudo tee -a /etc/default/grub && sudo update-grub

Une fois que vous avez configuré le dual boot sur votre appareil, vous devriez voir un écran similaire au menu GRUB lorsque votre machine démarre.

GRUB menu allows you to either login to Windows or Linux Instance

Conclusion

Dans ce tutoriel, vous avez appris ce qu’est GRUB, et l’article vous a présenté le processus de démarrage de GRUB.

Vous avez également appris à ajuster certaines configurations de GRUB d’Ubuntu, à charger différents noyaux, et même à apprendre le dual boot.

Maintenant que vous avez une connaissance solide de GRUB, quelles sont certaines des options de configuration que vous allez changer ?

Source:
https://adamtheautomator.com/ubuntu-grub/