JavaScript is required to for searching.
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)
search filter icon
search icon

Informations document

Préface

1.  Initialisation et arrêt d'un système (Présentation)

2.  x86 : Administration de GRand Unified Bootloader (tâches)

x86 : Présentation de GRUB 2

x86 : Description de la configuration de GRUB 2

x86 : Schéma de nommage des périphériques et des partitions de GRUB 2

x86 : Comparaison des tâches de GRUB 2 et GRUB Legacy

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 : Gestion 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)

6.  Dépannage de l'initialisation d'un système (tâches)

Index

x86 : Présentation de GRUB 2

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 :

x86 : Description de la configuration de 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.

x86 : Schéma de nommage des périphériques et des partitions de GRUB 2

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

Nom du périphérique
Description
Remarques
(hd0, msdos1)
Spécifie la première partition DOS sur le premier disque.
(hd0, gpt2)
Spécifie la deuxième partition GPT sur le disque.
Il s'agit d'un exemple de la partition prototype dans laquelle serait installée la version actuelle.
(hd0, msdos1, sunpc1)
Spécifie la première tranche VTOC dans la partition Oracle Solaris stockée sur la première partition DOS du premier disque.
L'exemple ci-dessous illustre la partition prototype sur laquelle les versions antérieures d'Oracle Solaris seraient installées.

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.

image:Capture d'écran de l'interpréteur de commandes GRUB 2 qui permet d'extraire des informations sur les périphériques.

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.

image:Capture d'écran de l'interpréteur de commandes GRUB 2 présentant la sortie de la commande qui répertorie les périphériques identifiés.

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).


x86 : Comparaison des tâches de GRUB 2 et GRUB Legacy

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

Tâche ou commande
Méthode GRUB 2
Méthode GRUB Legacy
Etablissement de la liste actuelle des entrées d'initialisation du menu GRUB
bootadm list-menu

Vous pouvez également afficher des entrées individuelles par leur numéro ou titre. Pour afficher une entrée par titre :

bootadm list-menu entry-title

Lorsque le titre contient des espaces, il faut l'indiquer entre guillemets pour qu'il ne soit pas analysé comme plusieurs arguments. Par exemple :

bootadm list-menu `This is a menu entry with a title'

Pour afficher une entrée par numéro :

bootadm list-menu -i entry-number

bootadm list-menu
Génération d'un nouveau fichier de configuration GRUB (grub.cfg) qui contient les paramètres du programme d'amorçage par défaut et une entrée de menu pour chaque environnement d'initialisation Oracle Solaris sur chaque pool root du système
bootadm generate-menu

En présence d'un fichier grub.cfg sur le système, ajoutez l'option -f à la sous-commande generate-menu. Cette syntaxe détruit la configuration de GRUB 2 existante et la remplace par la nouvelle.

Si vous ajoutez l'option -P pour générer un nouveau fichier de configuration GRUB 2 pour un pool root spécifique du système, notez que le fichier grub.cfg généré est stocké au niveau supérieur du jeu de données ZFS de ce pool root.

Modifiez manuellement le fichier menu.lst pour ajouter de nouvelles informations.
Ajout d'une nouvelle entrée au menu GRUB
Pour ajouter une entrée en spécifiant son numéro :

bootadm add-entry -i entry-number

Pour ajouter une entrée en spécifiant son titre :

bootadm add-entry entry-title

Ajoutez manuellement l'entrée au fichier menu.lst.
Modification d'une entrée dans le menu GRUB
Pour modifier une entrée en spécifiant son numéro :

bootadm change-entry -i entry-number key=value

Pour modifier une entrée en spécifiant son titre :

bootadm change-entry entry-title key=value

Lorsque le titre contient des espaces, il faut l'indiquer entre guillemets pour qu'il ne soit pas analysé comme plusieurs arguments.

Cette sous-commande permet d'apporter des modifications à une entrée d'initialisation individuelle (pour spécifier le périphérique de la console Oracle Solaris comme argument de noyau, par exemple). Si le titre correspond à plusieurs entrées de menu, seule la première est modifiée.

Il est également possible de modifier une entrée d'initialisation en éditant le menu GRUB au moment de l'initialisation, tout comme dans les versions précédentes avec une entrée GRUB Legacy.

Modifiez manuellement le fichier menu.lst pour apporter des modifications permanentes.

Vous pouvez également modifier le menu GRUB au moment de l'initialisation pour apporter des modifications temporaires à l'entrée d'initialisation, éliminées à la prochaine initialisation du système.

Suppression d'une entrée du menu GRUB
Pour supprimer une entrée en spécifiant son numéro :

bootadm remove-entry -i entry-number

Pour supprimer une entrée en spécifiant son titre :

bootadm remove-entry entry-title

Si vous spécifiez un titre, toutes les entrées portant ce titre sont supprimées.

Supprimez manuellement l'entrée du fichier menu.lst.
Gestion du menu GRUB (définition de l'entrée de menu GRUB par défaut à partir de laquelle procéder à l'initialisation, par exemple)
bootadm set-menu key= value
bootadm set-menu
Ajout d'entrées de menu personnalisées (Linux, par exemple) au menu GRUB
Ajoutez l'entrée au fichier custom.cfg en veillant à respecter la syntaxe du fichier de configuration GRUB 2 appropriée. Voir la section x86 : Personnalisation de la configuration de GRUB.

Remarque - Il faut commencer par créer ce fichier.


Ajoutez les informations au fichier menu.lst après avoir installé Oracle Solaris.
Modification du menu GRUB au moment de l'initialisation pour ajouter des arguments d'initialisation
1. Interrompez le processus d'initialisation à l'aide des touches de direction pour sélectionner l'entrée de menu souhaitée, puis tapez e.

2. Ajoutez des arguments d'initialisation à la fin de la ligne $multiboot de l'entrée spécifiée.

3. Appuyez sur Ctrl+X pour procéder à l'initialisation à partir de l'entrée modifiée. Si la console système se trouve sur un périphérique en série, la touche F10 risque de ne pas être correctement reconnue sur un système UEFI. Dans ce cas, appuyez sur les touches Ctrl+X.


Remarque - Si vous appuyez sur Echap alors que vous modifiez une entrée de menu, vous revenez à la liste des entrées, et toutes les modifications apportées sont annulées.


1. Interrompez le processus d'initialisation en tapant e.

2. Ajoutez des arguments d'initialisation à la fin de la ligne kernel$ de l'entrée spécifiée.

3. Appuyez sur la touche Entrée, puis tapez b pour initialiser le système.

Installation du programme d'amorçage
bootadm install-bootloader

Cette commande installe automatiquement le programme d'amorçage sur tous les périphériques d'un pool root mis en miroir.

installgrub sur les systèmes x86 et installboot sur les systèmes SPARC.
Création de partitions d'initialisation adaptées aux microprogrammes UEFI ou BIOS
Ajoutez la nouvelle option -B à la commande zpool create pour créer automatiquement la partition d'initialisation adapté au microprogramme, ainsi que la partition de données ZFS dans laquelle stocker le pool ZFS.

La connexion d'un disque à un pool root a pour effet de créer automatiquement les partitions d'initialisation correctes et d'installer le programme d'amorçage sur ce disque. Voir le Chapitre 4, Gestion des composants du pool root ZFS du manuel Administration d’Oracle Solaris 11.1 : Systèmes de fichiers ZFS.

GRUB Legacy prend en charge uniquement les systèmes équipés d'un microprogramme BIOS et ne nécessite donc pas de partition d'initialisation séparée.