Initialisation et arrêt des systèmes Oracle® Solaris 11.2

Quitter la vue de l'impression

Mis à jour : Juillet 2014
 
 

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 est situé au niveau supérieur du jeu de données ZFS du pool root, /pool-name/boot/grub, tel que /rpool/boot/grub/grub.cfg.

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 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 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 le fichier utilisé par 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 Personnalisation de la configuration de GRUB.