Grub vs Systemd-boot : lequel devez-vous utiliser comme chargeur de démarrage ?

Grub vs Systemd-boot : lequel devez-vous utiliser comme chargeur de démarrage ?

Systemd-boot, anciennement appelé « gummiboot », est le nouveau concurrent de Grub. Sur les systèmes EFI compatibles, vous pouvez utiliser systemd-boot à la place de Grub pour démarrer le système d’exploitation du système. D’un point de vue de haut niveau, systemd-boot est lié au chargeur de démarrage déjà dans UEFI, offrant l’ensemble de fonctionnalités le plus basique pour sélectionner un système d’exploitation. Grub, d’autre part, charge ce qui est parfois décrit comme « un système d’exploitation complet » pour gérer le démarrage du système d’exploitation de l’utilisateur, offrant une capacité bien supérieure.

Qu’est-ce qu’un chargeur de démarrage ?

Un bootloader charge le système d’exploitation. Il est copié dans la mémoire par le BIOS de votre machine à partir du premier bloc valide de votre disque et s’exécute avant le démarrage de tout système d’exploitation. À partir de là, il fournit un ensemble de fonctionnalités de base qui vous permettent de modifier la manière dont vous souhaitez que votre machine démarre pour cette session. Par exemple, GRUB vous donne la possibilité de charger différents noyaux pour votre distribution Linux.

Une capture d'écran de l'écran de sélection du noyau Linux dans GRUB 2.

Si le chargeur de démarrage détecte plusieurs images système amorçables, il permet à l’utilisateur de sélectionner le système à charger. Le chargeur de démarrage démarre ensuite le système d’exploitation et transmet le contrôle du matériel au système d’exploitation. Sur la plupart des systèmes, le chargeur de démarrage apparaît juste après l’écran de démarrage de la carte mère.

Une photographie de l'écran de démarrage du BIOS d'une carte mère.

Pour votre information : BIOS et UEFI sont les deux firmwares que vous trouverez aujourd’hui sur les cartes mères x86_64. Découvrez ce qui les motive et comment vous pouvez déterminer quel firmware vous convient le mieux .

Grub contre systemd-boot : qu’est-ce que Grub ?

GNU GRUB , plus communément appelé Grub ou GRUB 2, signifie GR et U nified Boot Interface. Il est basé sur la spécification multiboot de la Free Software Foundations . Ses développeurs l’ont conçu pour fonctionner sur n’importe quelle plate-forme matérielle et démarrer à peu près n’importe quel système d’exploitation de type Unix à partir de pratiquement n’importe quel support de démarrage et système de fichiers.

Une capture d'écran du chargeur de démarrage GRUB 2 par défaut dans Ubuntu Linux.

Parce qu’il couvre un large éventail de plates-formes et de distributions, Grub est souvent le chargeur de démarrage par défaut dans la plupart des distributions Linux. Si vous avez interagi avec un bootloader Linux, c’était probablement Grub. Il fournit également des options de configuration visuelle telles que le texte, les couleurs d’arrière-plan et les images de démarrage graphiques. La version Debian de Grub, par exemple, utilise un arrière-plan bleu-vert unique pour son invite.

Une capture d'écran du menu du chargeur de démarrage GRUB 2 dans Debian 11.

Grub prend en charge les systèmes multiboot et ses développeurs l’ont écrit spécifiquement à cette fin. Cependant, cela peut être un peu délicat en cas de problème. Les problèmes surviennent le plus souvent lors de l’installation de Grub sur un système multiboot existant, de la suppression de systèmes d’exploitation et de l’installation de nouveaux systèmes d’exploitation. Grub utilise un fichier conf, donc chaque système d’exploitation est inclus dans le même fichier, qui est modifié pour refléter les changements.

Une capture d'écran d'une fenêtre de terminal montrant le fichier grub.cfg dans Debian.

Les chargeurs de démarrage du système d’exploitation principal résident dans le MBR, et les autres systèmes d’exploitation sont chargés en chaîne via des chargeurs de démarrage sur leurs propres partitions. Cela fonctionne, et pour la plupart des cas d’utilisation, c’est absolument suffisant. Mais c’est un système qui peut aussi être facilement bouleversé. Par exemple, si vous ne configurez pas correctement les noyaux chargés en chaîne, plusieurs installations Linux peuvent finir par « se battre » pour le contrôle du MBR.

Grub contre Systemd-boot : qu’est-ce que Systemd-boot ?

Les fans de Linux ont peut-être déjà rencontré le nom « systemd ». Systemd, abréviation de « démon système », est une collection de démons prérequis fondamentaux pour l’exécution d’un système Linux. Systemd-boot est un code de plusieurs milliers de lignes et n’a aucune dépendance dans le reste de la suite systemd.

Une capture d'écran du chargeur de démarrage Systemd-boot dans Pop!_OS.

Cependant, grâce à sa simplicité, gummiboot a été ajouté à systemd et renommé « systemd-boot » pour correspondre à la convention de dénomination des composants de systemd. L’objectif global de Systemd est de démarrer le système rapidement en démarrant moins de choses et en démarrant davantage en parallèle, et systemd-boot partage cet objectif.

Une capture d'écran d'une fenêtre de terminal montrant la configuration EFI par défaut pour Pop!_OS.

En tant que chargeur de démarrage en texte uniquement, systemd-boot a une apparence évidemment old-school. Les périphériques de démarrage disponibles sont répertoriés par leur titre, qui est géré dans le fichier de configuration de systemd-boot. Le systemd-boot est essentiellement une interface pour la logique de démarrage incluse dans EFI, c’est pourquoi il ne peut être utilisé qu’avec des systèmes EFI compatibles. C’est un système nettement moins configurable que Grub, et il utilise la modularité. conf pour chaque système d’exploitation que vous souhaitez démarrer.

Une capture d'écran d'une fenêtre de terminal montrant le contenu de la partition /boot/efi de la machine.

Avec son interface limitée, systemd-boot est un chargeur de démarrage beaucoup plus petit que Grub. Certaines personnes l’installent pour la rapidité ou pour gérer plus efficacement plusieurs systèmes d’exploitation. Étant donné que systemd-boot utilise des fichiers de configuration fractionnés (un seul fichier. conf pour chaque noyau ou système d’exploitation), il peut être plus simple de maintenir manuellement un système avec plusieurs noyaux ou systèmes d’exploitation. Ces fichiers texte de configuration peuvent simplement être copiés dans le répertoire de systemd lorsqu’un nouveau noyau est installé. Cela simplifie la configuration des systèmes multi-boot.

Quel est le meilleur : Grub ou Systemd-boot ?

Si vous rencontrez des problèmes avec Grub, systemd-boot fournit une infrastructure de démarrage considérablement simplifiée avec une configuration de fichier intégrée. Il est plus robuste, mais il n’est pas non plus aussi configurable ou adaptable que Grub. Si vous utilisez un système EFI multiboot, systemd-boot peut faciliter la gestion du démarrage et peut même réduire vos temps de démarrage. Sur d’autres configurations système, ou pour des utilisations nécessitant une plus grande flexibilité que celle offerte par systemd-boot, Grub reste votre meilleur pari.

Questions fréquemment posées

Est-il possible de convertir mon système GRUB 2 en Systemd-boot ?

Oui. Pour la plupart, GRUB et Systemd-boot devraient pouvoir coexister dans le même système. Cela signifie que vous pouvez convertir une machine qui utilise GRUB en Systemd-boot.

Il est important de garder à l’esprit que l’installation de Systemd-boot sera différente selon votre distribution Linux. Dans la plupart des cas, cependant, cela impliquera de charger votre système d’exploitation en mode UEFI et d’exécuter su && bootctl install.

Les systèmes BIOS peuvent-ils exécuter Systemd-boot ?

Oui. Il est possible pour les systèmes BIOS uniquement d’exécuter Systemd-boot en émulant un environnement de type UEFI. L’un des programmes les plus populaires qui peuvent le faire est Clover . Il s’agit d’un remplacement du chargeur de démarrage pour les machines Hackintosh que vous pouvez configurer pour fonctionner avec les distributions Linux.

Est-il possible d’accélérer GRUB 2 ?

Oui. L’un des moyens les plus simples d’accélérer GRUB 2 au démarrage consiste à réduire le temps d’attente de son invite. Vous pouvez le faire en exécutant sudo nano /etc/default/grub, puis en changeant la GRUB_TIMEOUTvaleur à 1.

D’autre part, vous pouvez également vous assurer que GRUB attendra toujours une réponse de l’utilisateur en modifiant cette GRUB_TIMEOUTvaleur en -1. Une fois cela fait, vous devez exécuter sudo update-grubpour appliquer votre nouvelle configuration.

Crédit image : Unsplash . Toutes les modifications et captures d’écran par Ramces Red.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *