GNU/Linux >> Tutoriels Linux >  >> Panels >> Webmin

Chargeur de démarrage GRUB

Sur cette page, le processus de démarrage Linux et le chargeur de démarrage GRUB sont couvert. Il explique comment exécuter différents systèmes d'exploitation ou charger différents noyaux au démarrage.

Contenu

Introduction aux chargeurs de démarrage

Lorsqu'un système Linux fonctionnant sur du matériel PC est démarré, le premier code à exécuter est le BIOS (Basic Input Output System) qui est chargé à partir de la ROM. Une fois qu'il a fini de tester la mémoire du système et de découvrir quel matériel est installé, il tente de passer le contrôle à un chargeur de démarrage du système d'exploitation pour continuer le processus de démarrage. Le chargeur de démarrage est un petit programme qui peut inviter l'utilisateur à choisir le système d'exploitation à exécuter, puis charge le reste du noyau du système d'exploitation à partir d'un disque dur, d'une disquette ou d'une autre source.

Sur un système normal, le chargeur de démarrage est chargé par le BIOS à partir du premier bloc du disque dur principal, appelé enregistrement de démarrage principal ou MBR. Cependant, le BIOS peut (selon sa configuration) vérifier d'abord le lecteur de disquette ou le CD-ROM pour un chargeur de démarrage, afin que le système puisse être démarré à partir d'un disque amovible. Cela n'est généralement effectué que lors de l'installation d'un nouveau système d'exploitation - pour une utilisation quotidienne normale, presque tous les systèmes démarrent à partir du disque dur.

Il existe plusieurs chargeurs de démarrage disponibles pour Linux, mais les deux plus courants et les deux qui seront couverts dans ce chapitre sont LILO et GRUB. Les deux ne fonctionnent que sur du matériel PC compatible x86, donc si vous utilisez Linux sur un système Apple, SPARC ou Alpha, ce chapitre ne vous sera pas très utile. Chaque plate-forme matérielle non PC possède son propre chargeur de démarrage Linux spécialisé, conçu pour gérer les particularités et les exigences particulières de la plate-forme.

D'autres systèmes d'exploitation (tels que Windows, FreeBSD et Solaris) ont leurs propres chargeurs de démarrage, qui font essentiellement la même chose que LILO ou GRUB, mais sont conçus pour charger le noyau d'un système d'exploitation différent à la place. Webmin ne prend pas en charge la configuration d'un chargeur de démarrage non-Linux, donc si vous utilisez une version différente d'Unix, ce chapitre peut être ignoré.

Sur un système Linux, la principale responsabilité du chargeur de démarrage est le chargement du noyau. Une fois que le noyau a été chargé en mémoire et que le contrôle lui a été transféré, le travail du chargeur de démarrage est terminé. Le noyau monte ensuite le système de fichiers racine, initialise les pilotes et exécute enfin le programme init pour continuer le processus de démarrage comme expliqué au chapitre 9.

Le chargeur de démarrage peut également démarrer le processus de chargement d'un système d'exploitation totalement différent sur des systèmes sur lesquels plusieurs sont installés. Pour ce faire, il charge le chargeur de démarrage de l'autre système d'exploitation à partir du premier bloc d'une partition ou d'un autre disque dur, puis lui transfère le contrôle. L'autre système d'exploitation se charge alors exactement comme il le ferait si son chargeur de démarrage était exécuté directement par le BIOS. Pouvoir décider quel système d'exploitation charger au moment du démarrage rend pratique l'installation de deux ou plusieurs systèmes sur le même système, comme Windows et Linux.

LILO et GRUB peuvent tous deux être configurés pour afficher un menu d'options de démarrage lorsqu'ils sont chargés, permettant à l'utilisateur de sélectionner le noyau particulier à charger ou un autre système d'exploitation à charger. Pouvoir choisir parmi plusieurs noyaux différents peut être particulièrement utile lorsque vous en avez installé un nouveau et que vous souhaitez avoir la possibilité de démarrer à la fois sur le nouveau et sur l'ancien. Il est même possible d'avoir plusieurs options de démarrage qui chargent toutes la même version du noyau, mais avec des options de ligne de commande différentes.

Toutes les distributions Linux vous donneront la possibilité de configurer automatiquement un chargeur de démarrage au moment de l'installation. Vous pouvez généralement choisir de démarrer également d'autres systèmes d'exploitation installés, par exemple si vous ajoutez Linux à un système avec Windows déjà installé sur une partition différente. Si cette configuration par défaut fonctionne pour vous, soyez très prudent lorsque vous modifiez la configuration LILO ou GRUB manuellement ou via Webmin. Une seule erreur peut rendre votre système non amorçable et nécessiter l'utilisation d'un disque de secours pour récupérer.

GRUB utilise généralement le fichier de configuration /boot/grub/grub.cfg (précédemment menu.lst ) et contrairement à LILO, il comprend le format des systèmes de fichiers ext2, ext3, ext4 et vfat et peut donc lire les fichiers menu.lst et du noyau sans avoir besoin d'une carte de blocs. Pour cette raison et parce que GRUB peut charger un noyau stocké n'importe où sur le disque dur, il est généralement considéré comme un chargeur de démarrage supérieur et a dépassé LILO sur la plupart des distributions Linux.

GRUB 2

GRUB2 tel qu'il est utilisé dans de nombreuses (toutes ?) nouvelles distributions utilise des fichiers de configuration dans /etc/grub.d/ .La configuration du module pourrait être modifiée, mais ne fonctionne pas encore.

Le module chargeur de démarrage GRUB

Comme son nom l'indique, ce module permet de mettre en place GRUB. Comme le module LILO, lorsque vous y accédez depuis la catégorie Matériel, la page principale affiche une liste d'icônes, une pour chaque option de démarrage. Cette capture d'écran montre un exemple.

Le module GRUB Boot Loader

L'icône du module n'apparaîtra que si Webmin détecte que GRUB est installé sur votre système. S'il n'est pas visible ou si une erreur s'affiche lorsque vous entrez dans le module, GRUB n'est pas installé. Si tel est le cas, LILO est probablement utilisé à la place et vous devez donc utiliser le module Linux Boot Loader.

Une particularité de GRUB est qu'en interne, il fait référence à tous les disques durs par leur numéro de disque BIOS. hd0 est le premier lecteur identifié par le BIOS et hd0,0 est la première partition de ce lecteur. Sur un système avec uniquement des disques durs IDE, cette numérotation est assez simple - le disque BIOS 0 est le maître principal, ou /dev/hda sous Linux. Le disque 2 (appelé hd1 par GRUB) est l'esclave principal, et ainsi de suite. Cependant, sur un système avec des lecteurs SCSI et IDE, les choses deviennent plus complexes. Les disques IDE viennent généralement avant SCSI dans l'ordre du BIOS, mais cela peut être inversé sur certains systèmes. Heureusement, le module GRUB des versions récentes de Webmin peut détecter automatiquement la relation entre les fichiers de périphérique Linux et les numéros de disque BIOS.

Démarrer un nouveau noyau Linux ou BSD avec GRUB

Si vous venez de compiler un nouveau noyau et que vous souhaitez pouvoir l'utiliser, vous devrez ajouter une nouvelle option de démarrage GRUB.

Un processus similaire doit être suivi si Linux et FreeBSD, NetBSD ou OpenBSD sont installés sur votre système et que vous souhaitez pouvoir choisir l'un d'entre eux au démarrage. Pour le configurer, les étapes à suivre sont :

  1. Pour démarrer un noyau Linux, après la compilation, copiez son fichier image de noyau compressé (généralement trouvé sous le répertoire source à arch/i386/bzImage) dans le répertoire /boot. Normalement, il devrait être renommé en vmlinuz-_xx.yy.zz_, où xx.yy.zz est le numéro de version du noyau.
  2. Sur la page principale du chargeur de démarrage GRUB module, cliquez sur Ajouter une nouvelle option de démarrage lien pour accéder au formulaire de création d'option.
  3. Entrez un nom unique pour votre nouveau noyau dans le Titre de l'option champ, tel que linux-xx.yy.zz . Tout ce que vous entrez apparaîtra dans le menu GRUB au démarrage.
  4. Définir la partition d'image de démarrage champ à Sélectionné et choisissez la partition qui contient votre noyau dans la liste à côté. Si la partition n'apparaît pas dans le menu, vous devrez choisir Autre à la place et entrez le disque et la partition dans le champ à côté, au format hd_X_,_Y_ utilisé par GRUB. Par exemple, hd2,1 serait la deuxième partition sur le lecteur BIOS 3.
  5. Pour le système d'exploitation démarre , sélectionnez noyau Linux et entrez le chemin d'accès au fichier image compressé du noyau dans le champ à côté. Pour passer des arguments supplémentaires au noyau, entrez-les dans les Options du noyau champ en dessous. Pour FreeBSD, vous devez également sélectionner le noyau Linux et entrez /boot/loader dans le domaine. Aucun argument de noyau supplémentaire n'est autorisé. Pour NetBSD ou OpenBSD, sélectionnez noyau Linux également et entrez type=netbsd /netbsd-elf .
  6. Si le répertoire racine de votre système est monté à partir d'un périphérique qui n'est pas compilé dans le noyau Linux (tel qu'un disque SCSI ou un contrôleur RAID matériel), vous devrez créer un disque RAM initial contenant les modules du noyau nécessaires pour accéder au système de fichiers racine. La façon la plus simple de vérifier si cela est nécessaire est de regarder d'autres configurations de noyau de démarrage existantes. Pour créer un fichier de disque RAM initial sous le répertoire /boot pour la version du noyau xx.yy.zz , vous devrez exécuter une commande comme :mkinitrd /boot/initrd-_xx.yy.zz_ xx.yy.zz Définissez ensuite le fichier de disque virtuel initial champ au chemin d'accès au fichier nouvellement créé.
  7. Enfin, cliquez sur Créer bouton. Tant qu'aucune erreur n'a été détectée dans votre entrée, vous serez renvoyé à la page principale du module qui contiendra désormais une icône d'ajout pour le nouveau noyau.
  8. Pour démarrer avec le nouveau noyau, vous devrez redémarrer votre système. Lorsque GRUB se charge au démarrage, il affiche un menu d'options de démarrage disponibles, à partir duquel vous pouvez sélectionner le noyau nouvellement ajouté. Assurez-vous de regarder la sortie de débogage et les messages d'erreur que le noyau affiche lors du démarrage, de sorte qu'en cas de problème, vous puissiez diagnostiquer le problème. En cas de problème, vous devrez peut-être redémarrer et sélectionner l'ancienne option de noyau, puis utiliser Webmin pour corriger la configuration GRUB.

Une fois que vous avez créé une nouvelle option de démarrage du noyau, vous pouvez la modifier en cliquant sur son icône sur la page principale du module. Sur le formulaire d'édition, n'importe lequel des champs peut être modifié et les modifications enregistrées en cliquant sur Enregistrer ou le noyau peut être supprimé en cliquant sur Supprimer Au lieu. Soyez toujours prudent lorsque vous modifiez les configurations du noyau que vous n'avez pas créées vous-même, car une erreur peut empêcher le démarrage du système.

Démarrer un autre système d'exploitation avec GRUB

Si votre système a un autre système d'exploitation installé sur un disque dur ou une partition différente, vous pouvez configurer GRUB pour qu'il puisse être choisi et démarré au démarrage au lieu de Linux. Si vous souhaitez démarrer FreeBSD, NetBSD ou OpenBSD, consultez plutôt la section *Démarrage d'un nouveau noyau Linux ou BSD* ci-dessus - mais pour Windows, UnixWare ou tout autre système d'exploitation, les étapes à suivre sont :

  1. Sur la page principale du module, cliquez sur Ajouter une nouvelle option de démarrage pour afficher le formulaire de création d'options de démarrage.
  2. Saisissez un nom unique pour le Titre de l'option champ, comme les fenêtres.
  3. Définir la partition d'image de démarrage champ à Sélectionné et choisissez la partition qui contient l'autre système d'exploitation dans la liste à côté. Si la partition n'apparaît pas dans le menu, vous devrez choisir Autre à la place et entrez le disque et la partition dans le champ à côté, au format hd_X_,_Y_ utilisé par GRUB.
  4. Changer le Système d'exploitation pour démarrer vers Autre système d'exploitation .
  5. Normalement, GRUB exécutera simplement le chargeur de démarrage dans le premier secteur de la partition choisie. Cependant, il se peut qu'il n'y ait pas toujours de chargeur de démarrage si, par exemple, le système d'exploitation écrit normalement son chargeur dans le secteur de démarrage principal. Si l'autre système d'exploitation est Windows, sélectionnez *From chainloader file* et entrez +1 dans le champ à côté. Vous devez également cocher la case Créer une action de partition racine ? option. Si vous démarrez SCO UnixWare, vous devez également sélectionner *From chainloader file* et entrer force +1 dans le champ à côté. L'option *Make root partition action?* doit également être sélectionnée.
  6. Cliquez sur Créer bouton pour ajouter le nouveau système d'exploitation. Votre navigateur reviendra à la page principale du module, qui inclura désormais une icône pour votre nouvelle option de démarrage.
  7. Pour démarrer dans l'autre système d'exploitation, redémarrez votre système et sélectionnez-le dans le menu GRUB au démarrage.

Comme pour les options de démarrage pour les noyaux Linux, vous pouvez modifier ou supprimer l'option pour un autre système d'exploitation en cliquant sur son icône sur la page principale du module. Toute modification prendra effet immédiatement et sera utilisée lors du prochain redémarrage du système.

Modification des options GRUB globales

GRUB a plusieurs options qui s'appliquent à tous les noyaux et systèmes d'exploitation amorçables. Pour modifier ces options globales, les étapes à suivre sont :

  1. Cliquez sur Modifier les options globales sur la page principale du module, qui vous mènera au formulaire d'options.
  2. Pour contrôler quel noyau est démarré automatiquement si l'utilisateur n'en choisit pas un dans le menu GRUB dans le délai configuré, modifiez l'option de démarrage par défaut domaine. Si l'option que vous choisissez ne peut pas être chargée, GRUB reviendra à ce qui est sélectionné dans l'option de démarrage de secours domaine.
  3. Pour modifier le temps pendant lequel GRUB attendra que l'utilisateur choisisse une option de démarrage avant d'utiliser la valeur par défaut à la place, modifiez le champ *Timeout avant d'utiliser la valeur par défaut *.
  4. Le menu de démarrage GRUB permet aux utilisateurs de faire des choses comme modifier les paramètres du noyau et lire des fichiers arbitraires sur les systèmes de fichiers Linux. Pour éviter cela, saisissez un mot de passe dans le champ Mot de passe de démarrage domaine. Cela limitera les utilisateurs aux options de démarrage disponibles à moins que le mot de passe ne soit entré. De plus, les options de démarrage dans lesquelles le Mot de passe verrouillé ? champ a été défini ne sera pas sélectionnable non plus.
  5. Lorsque vous avez terminé, cliquez sur Enregistrer bouton et vous serez renvoyé à la page principale du module.
Ajouter une option de démarrage

Installer GRUB

Si vous avez utilisé le chargeur de démarrage LILO et que vous souhaitez passer à GRUB, vous devrez l'installer sur le même enregistrement de démarrage principal ou la même partition que LILO utilise actuellement. Cela ne doit être fait qu'une seule fois, contrairement à LILO qui doit être effectivement réinstallé à chaque changement de configuration.

Pour installer GRUB, les étapes à suivre sont :

  1. Sur la page principale du module, cliquez sur Modifier les options globales bouton.
  2. À partir de Installer GRUB sur le disque/la partition , sélectionnez le disque ou la partition sur laquelle vous souhaitez installer GRUB. Ce sera généralement le premier disque dur de votre système.
  3. Cliquez sur Enregistrer bouton pour revenir à la page principale du module.
  4. Cliquez sur Installer GRUB bouton pour qu'il soit écrit sur le lecteur ou la partition choisie à l'étape 2.
  5. Pour que votre système puisse être démarré sous Linux à partir de maintenant, créez toutes les options de démarrage du noyau nécessaires comme expliqué dans la section *Démarrer un nouveau noyau Linux ou BSD*. Si vous redémarrez avant cela, il sera impossible de redémarrer Linux !

Webmin
  1. GRUB sur un système compatible EUFI

  2. Ubuntu 14.04 ne démarre pas l'invite Grub ?

  3. CentOS / RHEL 5,6 :Comment réinstaller le chargeur GRUB à partir du mode de secours

  4. Redimensionner la partition de démarrage

  5. démarrer Windows à partir de GRUB rescue

Réparation de démarrage Ubuntu

Comment réparer votre Grub 2 sur Ubuntu

Comment installer le chargeur de démarrage BURG dans Ubuntu

Comment installer Grub Customizer sur Ubuntu

Correction de Grub ne s'affichant pas pour le système à double démarrage Windows et Linux

CentOS / RHEL 7 :processus de démarrage