Ignorer les liens de navigation | |
Quitter l'aperu | |
![]() |
Initialisation et arrêt des systèmes Oracle Solaris 11.1 Oracle Solaris 11.1 Information Library (Français) |
1. Initialisation et arrêt d'un système (Présentation)
2. x86 : Administration de GRand Unified Bootloader (tâches)
x86 : Description de la configuration de GRUB 2
x86 : Schéma de nommage des périphériques et des partitions de GRUB 2
x86 : Mise à niveau d'un système GRUB Legacy vers une version qui prend en charge GRUB 2
x86 : Mise à niveau d'un système GRUB Legacy vers une version qui prend en charge GRUB 2
x86 : Migration des entrées de menu GRUB Legacy vers GRUB 2
x86 : Gestion des environnements d'initialisation GRUB 2 et GRUB Legacy sur le même système
x86 : Administration de la configuration de GRUB par le biais de la commande bootadm
x86 : Etablissement de la liste des entrées du menu GRUB
x86 : Régénération manuelle du menu GRUB
x86 : Définition des attributs d'une entrée d'initialisation du menu GRUB
x86 : Ajout d'une entrée d'initialisation au menu GRUB
x86 : Suppression d'une entrée d'initialisation du menu GRUB
x86 : Ajout d'arguments de noyau en modifiant le menu GRUB au moment de l'initialisation
x86 : Ajout d'arguments de noyau -B prop=val en modifiant le menu GRUB au moment de l'initialisation
Redirection de la console Oracle Solaris au moment de l'initialisation
x86 : Personnalisation de la configuration de GRUB
x86 : Opérations avancées d'administration et de dépannage de GRUB
x86 : Installation de GRUB 2 par le biais de la commande bootadm install-bootloader
x86 : Installation du programme d'amorçage
x86 : Installation du programme d'amorçage après la restauration d'un pool root
x86 : Installation de GRUB à un autre emplacement que l'emplacement par défaut
x86 : Installation de GRUB Legacy sur un système sur lequel est installé GRUB 2
x86 : Installation de GRUB Legacy sur un système sur lequel est installé GRUB 2
3. Arrêt d'un système (tâches)
4. Initialisation d'un système (tâches)
5. Initialisation d'un système à partir du réseau (tâches)
Les informations suivantes sont fournies dans cette section :
GRUB 2 est un programme d'amorçage puissant et modulaire qui prend en charge un plus large éventail de plates-formes et de microprogrammes. Il autorise notamment l'initialisation à partir d'un microprogramme UEFI (Unified Extensible Firmware Interface) et à partir de disques partitionnés GPT (GUID Partition Table) de toute taille sur les systèmes équipés d'un microprogramme BIOS ou UEFI. GRUB 2 prend également en charge le schéma de partitionnement GPT spécifié par UEFI.
Tout comme GRUB Legacy, GRUB 2 met en oeuvre un processus d'initialisation en deux étapes. La principale différence entre GRUB 2 et GRUB Legacy tient à ce que GRUB 2 place de nombreuses fonctions dans des modules chargés dynamiquement, ce qui permet de réduire l'image mémoire de GRUB 2 (deuxième phase) et par conséquent, d'accélérer le chargement et de profiter d'une plus grande flexibilité. Ainsi, les fonctionnalités de GRUB sont chargées à la demande au moment de l'initialisation.
GRUB 2 instaure les modifications clés suivantes :
Modifications apportées en matière de configuration
Du point de vue de la syntaxe, la configuration de GRUB 2 diffère de celle de GRUB Legacy. Le fichier de configuration menu.lst de GRUB Legacy a été remplacé par le nouveau fichier grub.cfg. Contrairement au fichier menu.lst, le fichier grub.cfg est régénéré automatiquement par les commandes de gestion de l'initialisation. Il ne faut jamais éditer directement ce fichier car les modifications apportées sont détruites dès que le fichier grub.cfg est régénéré. Reportez-vous à la section x86 : Description de la configuration de GRUB 2.
Modifications apportées en matière de nommage des périphériques et des partitions
Plutôt que des index de base 0, GRUB 2 utilise des index de base 1 pour les partitions, ainsi qu'un schéma de nommage des périphériques modifié. Reportez-vous à la section x86 : Schéma de nommage des périphériques et des partitions de GRUB 2.
Modifications apportées en matière d'administration du programme d'amorçage et du menu GRUB
Pour administrer le fichier grub.cfg, il faut exécuter la commande bootadm. Les sous-commandes (nouvelles et modifiées) vous permettent d'effectuer la plupart des tâches d'administration précédemment réalisées en modifiant le fichier menu.lst. Parmi ces tâches, citons notamment la définition des attributs d'initialisation (comme des arguments de noyau) pour une instance d'initialisation Oracle Solaris et la gestion des paramètres du programme d'amorçage. Reportez-vous à la section x86 : Administration de la configuration de GRUB par le biais de la commande bootadm.
Modifications apportées aux écrans et menus GRUB
A présent, divers menus GRUB et certaines tâches (notamment l'ajout d'arguments de noyau en modifiant le menu GRUB au moment de l'initialisation) fonctionnent différemment. Le cas échéant, ces différences sont documentées dans les tâches présentées dans ce document.
Autres modifications apportées aux commandes du programme d'amorçage
La commande installgrub n'est plus valide dans cette version. N'exécutez pas cette commande pour installer le programme d'amorçage sur les systèmes qui prennent en charge GRUB 2, car cette opération peut empêcher l'initialisation du système. Si vous disposez d'une version qui prend en charge GRUB 2, exécutez plutôt la commande bootadm install-bootloader. Cette commande remplace la fonctionnalité de la commande installgrub sur les plates-formes x86 et celle de la commande installboot sur les plates-formes SPARC. Reportez-vous à la section x86 : Installation de GRUB 2 par le biais de la commande bootadm install-bootloader.
Vous pouvez exécuter la commande installgrub pour installer GRUB Legacy sur un système, mais uniquement après avoir vérifié que cette version de GRUB Legacy prend en charge la version de votre pool root ZFS et qu'il ne reste plus aucun environnement d'initialisation GRUB 2 sur le système. Pour obtenir des instructions, reportez-vous à la section x86 : Installation de GRUB Legacy sur un système sur lequel est installé GRUB 2.
La configuration de GRUB 2 est tout à fait différente de celle de GRUB Legacy. Il convient de gérer la configuration de GRUB Legacy par le biais du fichier menu.lst, alors que GRUB 2 ne comprend pas de fichier menu.lst. GRUB 2 stocke le même type d'informations dans le fichier de configuration grub.cfg. Tout comme le fichier menu.lst, le fichier grub.cfg se trouve au niveau supérieur du jeu de données ZFS pour le pool root /pool-name/boot/grub (/rpool/boot/grub/grub.cfg, par exemple).
La syntaxe du fichier grub.cfg repose sur un sous-ensemble de scripts bash, plus complexe et puissant que le langage de type directive figurant dans le fichier menu.lst, comme illustré dans l'exemple suivant :
title title bootfs pool-name/ROOT/bootenvironment-name kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS module$ /platform/i86pc/$ISADIR/boot_archive
Pour comparaison, la même configuration est stockée dans le fichier grub.cfg, comme suit :
menuentry "<title>" { insmod part_msdos insmod part_sunpc insmod part_gpt insmod zfs search --no-floppy --fs-uuid --set=root f3d8ef099730bafa zfs-bootfs /ROOT/<BE name>/@/ zfs_bootfs set kern=/platform/i86pc/kernel/amd64/unix echo -n "Loading ${root}/ROOT/<BE name>/@$kern: " $multiboot /ROOT/<BE name>/@/$kern $kern -B $zfs_bootfs set gfxpayload="1024x768x32;1024x768x16;800x600x16;640x480x16;640x480x15;640x480x32" insmod gzio echo -n "Loading ${root}/ROOT/<BE name>/@/platform/i86pc/amd64/boot_archive: " $module /ROOT/<BE name>/@/platform/i86pc/amd64/boot_archive }
Une autre différence importante entre les fichiers grub.cfg et menu.lst tient au fait qu'il ne faut pas modifier le fichier grub.cfg directement. Le fichier menu.lst prend en charge les entrées de menu créées par l'utilisateur et les modifications apportées aux variables et paramètres du fichier de configuration GRUB global, en plus des entrées de menu générées automatiquement par le système. En revanche, il convient d'administrer le fichier grub.cfg par le biais de différentes sous-commandes bootadm, dont la plupart ont été instaurées dans cette version. Les sous-commandes bootadm vous permettent de gérer la plupart des tâches d'administration du programme d'amorçage. Reportez-vous à la section x86 : Administration de la configuration de GRUB par le biais de la commande bootadm.
D'autre part, le fichier grub.cfg est généré automatiquement chaque fois que vous apportez des modifications à la configuration du programme d'amorçage. Ce fichier est également généré automatiquement au cours de certaines opérations et de l'exécution de commandes spécifiques d'administration de l'initialisation. Si nécessaire, vous pouvez générer manuellement un nouveau fichier grub.cfg en exécutant la commande bootadm avec la nouvelle sous-commande generate-menu. Ajoutez cette sous-commande pour créer un nouveau fichier grub.cfg uniquement si la configuration d'initialisation est endommagée. Reportez-vous à la section x86 : Régénération manuelle du menu GRUB.
Remarque - Le mécanisme de génération automatique du fichier grub.cfg est réservé aux systèmes installés.
A titre de référence, la configuration de GRUB 2 est stockée dans les fichiers suivants.
grub.cfg est le fichier de configuration principal de GRUB 2.
/pool-name /boot/grub/menu.conf est un fichier dont se sert Oracle Solaris pour générer le fichier de configuration grub.cfg final.
Le fichier menu.conf est un fichier de métaconfiguration GRUB distinct qui stocke la représentation de la configuration de GRUB 2 dans un format analysable.
Remarque - Ne tentez en aucun cas de modifier ce fichier.
/pool-name /boot/grub/custom.cfg est un fichier éditable qui se trouve au même emplacement que les fichiers grub.cfg et menu.conf. Le fichier custom.cfg est créé par l'administrateur (et non sur le système par défaut). Ce fichier est réservé à l'ajout de structures plus complexes (entrées de menu ou autres informations de script) à la configuration de GRUB.
Le fichier custom.cfg est référencé dans le fichier grub.cfg. En présence d'un fichier custom.cfg sur le système, les commandes ou directives qui y figurent sont ensuite traitées par le fichier grub.cfg. Pour plus d'informations, reportez-vous à la section x86 : Personnalisation de la configuration de GRUB.
Si vous maîtrisez le mode d'attribution de noms aux périphériques de GRUB Legacy, vous devez connaître les différences qui existent entre les schémas de nommage GRUB Legacy et GRUB 2. Alors que GRUB Legacy met en oeuvre un schéma de nommage de base 0 pour les index de partition, GRUB 2 utilise un schéma de nommage de base 1.
Le schéma de nommage des périphériques GRUB 2 respecte le format suivant :
(hdX, part-type Y, part-typeZ, ...)
Dans la mesure où les schémas de partition peuvent être imbriqués, le schéma de nommage des périphériques GRUB a été modifié afin de prendre en charge les niveaux d'imbrication arbitraire. GRUB accepte aussi bien l'ancien mode d'attribution de noms aux périphériques (“(hd0,1)”) que le nouveau, qui inclut le schéma de partitionnement. Par exemple :
(hd0, gpt1)
L'exemple ci-dessus fait référence à la première partition GPT sur le premier disque.
Remarque - Seule la numérotation des partitions a changé, pas la numérotation des disques. Les numéros de disque restent basés sur 0.
Dans la mesure où GRUB 2 tire parti des UUID (ou étiquettes) de système de fichiers et d'une commande de recherche intégrée pour localiser automatiquement le nom de partition ou de périphérique approprié, il est inutile de spécifier manuellement des noms de périphériques. Le tableau suivant fournit des exemples d'index de partition et de noms de périphériques qu'attribue GRUB.
Tableau 2-1 Schéma de nommage des périphériques et des partitions de GRUB 2
|
Si vous devez déterminer quel numéro fait référence à une partition qui vous intéresse, accédez à l'interpréteur de ligne de commande GRUB en appuyant sur la touche C (ou sur Ctrl+C si vous modifiez une entrée de menu). Exécutez ensuite la commande ls pour répertorier toutes les partitions que GRUB peut identifier, comme illustré dans la capture d'écran ci-dessous.
L'option -l ajoutée la commande ls permet d'afficher des informations plus détaillées sur chaque partition, notamment l'UUID de système de fichiers, comme illustré dans la capture d'écran ci-dessous.
Remarque - GRUB compte le nombre de disques à partir de zéro, quel que soit leur type et ne fait pas la distinction entre périphériques IDE (Integrated Drive Electronics) et SCSI (Small Computer Systems Interface).
Bien que GRUB 2 partage plusieurs caractéristiques avec GRUB Legacy, la plupart des tâches d'administration de l'initialisation diffèrent sur les systèmes qui prennent en charge GRUB 2, en raison du fait que ce programme d'amorçage ne comprend pas de fichier menu.lst. Il faut par exemple gérer le menu GRUB et effectuer plusieurs tâches d'administration du programme d'amorçage par le biais des nouvelles sous-commandes de la commande bootadm.
Le nouvel argument -P pool est disponible avec la plupart des sous-commandes bootadm. Cette option vous permet d'afficher ou de modifier le menu GRUB et les entrées d'initialisation d'un pool root donné. Si vous exécutez un système d'exploitation prenant en charge GRUB Legacy, l'option -P ne sera peut-être pas disponible pour les sous-commandes bootadm.
Par exemple, vous pouvez répertorier le menu GRUB d'un pool root spécifique comme suit :
# bootadm list-menu -P pool-name
Le tableau ci-dessous compare des commandes courantes de GRUB 2 à leur équivalent dans GRUB Legacy. Pour obtenir des instructions détaillées, reportez-vous à la page de manuel bootadm(1M) et à la section x86 : Administration de la configuration de GRUB par le biais de la commande bootadm.
Tableau 2-2 Tâches GRUB 2 comparées aux tâches GRUB Legacy
|