Ce chapitre décrit l'initialisation avec GRUB sur des système x86, associée à une installation de Solaris. Ce chapitre se compose des sections suivantes :
Depuis la version Solaris 10 1/06, GRUB, le programme d'initialisation Open Source, est le programme d'initialisation par défaut du système d'exploitation Solaris.
L'initialisation avec GRUB n'est pas disponible sur les systèmes SPARC.
Le programme d'initialisation est le premier programme logiciel qui démarre après la mise sous tension d'un système. Après avoir mis sous tension un système x86, le BIOS (Basic Input/Output System) initialise l'unité centrale, la mémoire et le matériel de la plate-forme. Après l'initialisation, le BIOS charge le programme d'initialisation depuis le périphérique d'initialisation configuré, puis transfère le contrôle du système au programme d'initialisation.
GRUB est un programme d'initialisation Open Source doté d'une interface à menu simple contenant des options d'initialisation prédéfinies dans un fichier de configuration. GRUB dispose également d'une interface de ligne de commande accessible depuis l'interface de menu, qui permet d'exécuter diverses commandes d'initialisation. Dans le système d'exploitation Solaris, la mise en oeuvre GRUB est conforme à la spécification Multiboot. Cette spécification est décrite en détail sur le site Web http://www.gnu.org/software/grub/grub.html.
Étant donné que le noyau Solaris est complètement compatible avec la spécification Multiboot, vous pouvez initialiser un système Solaris x86 en utilisant GRUB. GRUB facilite l'initialisation et l'installation de divers systèmes d'exploitation. Sur un même système, par exemple, vous pouvez initialiser individuellement les systèmes d'exploitation suivants :
Les SE Solaris
Microsoft Windows
GRUB détecte les partitions Microsoft Window, mais ne vérifie pas si le système d'exploitation peut être initialisé.
L'intuitivité de GRUB au niveau des systèmes de fichiers et des formats exécutables dans le noyau, permet de charger un système d'exploitation sans avoir à enregistrer la position physique du noyau sur le disque. Avec l'initialisation GRUB, le noyau est chargé en définissant son nom de fichier, le lecteur et la partition dans laquelle il se trouve. L'initialisation GRUB remplace l'assistant de configuration de périphériques Solaris et simplifie l'initialisation avec un menu GRUB.
Lorsque GRUB prend le contrôle du système, un menu s'affiche sur la console. Dans le menu GRUB, vous pouvez :
sélectionner une entrée pour initialiser le système ;
modifier une entrée d'initialisation en utilisant le menu d'édition intégré GRUB ;
charger manuellement un noyau de système d'exploitation depuis la ligne de commande.
Il existe un délai définissable associé à l'initialisation de l'entrée de système d'exploitation par défaut. Pour mettre fin à l'initialisation de l'entrée de système d'exploitation par défaut, il suffit d'appuyer sur une touche.
Pour voir un exemple de menu GRUB, reportez-vous à la section Description du menu principal GRUB.
Les conventions d'attribution de noms qu'utilise GRUB sont légèrement différentes de celles des versions précédentes du système d'exploitation Solaris. il est important de comprendre les conventions GRUB d'attribution de noms de périphériques pour définir correctement les informations d'unités et de partitions lorsque vous configurez GRUB sur votre système.
Le tableau suivant répertorie les conventions d'attribution de noms de périphériques GRUB.
Tableau 4–1 Conventions d'attributions de noms des périphériques GRUB
Nom périphérique |
Description |
---|---|
(fd0), (fd1) |
Première disquette, seconde disquette |
(nd) |
Périphérique réseau |
(hd0,0), (hd0,1) |
Première et seconde partitions fdisk du premier disque bios |
(hd0,0,a), (hd0,0,b) |
Tranches 0 et 1 Solaris/BSD dans la partition fdisk sur le premier disque bios |
Tous les noms de périphériques GRUB doivent se trouver entre parenthèses. Les numéros de partition commencent à 0 (zéro) et non 1.
Pour plus d'informations sur les partitions fdisk, reportez-vous à Guidelines for Creating an fdisk Partition du System Administration Guide: Devices and File Systems.
Pour plus d'informations sur ces modifications, reportez-vous aux références suivantes :
Tableau 4–2 Emplacement des informations relatives aux installations GRUB
Rubrique |
Tâches du menu GRUB |
Pour plus d'informations |
---|---|---|
Installation |
Installation du système Solaris depuis le support CD ou DVD | |
Installation depuis une image d'installation réseau | ||
Configuration d'un serveur DHCP pour des installations réseau | ||
Installation avec le programme d'installation personnalisée JumpStart | ||
Activation ou retour à un environnement d'initialisation en utilisant Solaris Live Upgrade |
|
|
Administration système |
Pour plus d'informations sur GRUB et les tâches administratives |
Chapitre 11, GRUB Based Booting (Tasks) du System Administration Guide: Basic Administration |
Cette section décrit de manière générale l'initialisation avec GRUB et le menu GRUB.
Lorsque vous installez le système d'exploitation Solaris , deux entrées de menu GRUB sont installées par défaut sur le système. La première entrée est l'entrée du système d'exploitation Solaris. La seconde entrée est l'archive d'initialisation de secours qui doit être utilisée pour récupérer le système. Les entrées de menu Solaris GRUB sont installées et mises à jour automatiquement lors de l'installation et de la mise à niveau du logiciel Solaris. Ces entrées sont gérées directement par le système d'exploitation et ne doivent pas être modifées manuellement.
Au cours d'une installation standard du système d'exploitation Solaris, GRUB est installé dans la partition Solaris fdisk sans modifier le BIOS du système. Si le système d'exploitation ne se trouve pas sur le disque d'initialisation BIOS, vous devez effectuer l'une des opérations suivantes :
modifier le BIOS ;
utiliser un gestionnaire d'initialisation pour initialiser la partition Solaris. Pour plus d'informations, reportez-vous à votre gestionnaire d'initialisation.
Il est préférable d'installer le système d'exploitation Solaris sur le disque d'initialisation. Si plusieurs systèmes d'exploitation sont installés sur la machine, vous pouvez ajouter les entrées au fichier menu.lst. Ces entrées s'affichent dans le menu GRUB lors du démarrage suivant du système.
Pour plus d'informations sur plusieurs systèmes d'exploitation, reportez-vous à la section How Multiple Operating Systems Are Supported in the GRUB Boot Environment du System Administration Guide: Basic Administration.
L'exécution d'une initialisation réseau avec GRUB nécessite un serveur DHCP configuré pour des clients PXE et un serveur d'installation qui fournit un service tftp. Le serveur DHCP doit pouvoir répondre aux classes DHCP, PXEClient et GRUBClient. La réponse DHCP doit contenir les informations suivantes :
adresse IP du serveur de fichier ;
nom du fichier d'initialisation (pxegrub) :
rpc.bootparamd, généralement nécessaire sur le serveur pour effectuer une initialisation réseau, n'est pas nécessaire pour une initialisation réseau avec GRUB.
Si aucun serveur PXE ou DHCP n'est disponible, vous pouvez charger GRUB depuis un CD-ROM ou un disque local. Ensuite, vous pouvez configurer manuellement le réseau dans GRUB et télécharger le programme multi-initialisation et l'archive d'initialisation depuis le serveur de fichiers.
Pour plus d'informations, reportez-vous à Présentation de l’initialisation et de l’installation sur le réseau à l’aide de PXE du Guide d’installation de Solaris 10 : Installations basées sur les réseaux.
Lorsque vous initialisez un système x86, le menu GRUB s'affiche. Ce menu contient la liste des entrées d'initialisation disponibles. Une entrée d'initialisation est une instance de système d'exploitation installée sur le système. Le menu GRUB repose sur le fichier menu.lst, un fichier de configuration. Le fichier menu.lst est créé par le programme d'installation Solaris et peut être modifié après l'installation. Le fichier menu.lst définit la liste des instances de système d'exploitation qui figurent dans le menu GRUB.
Si vous installez ou mettez à niveau le système d'exploitation Solaris, le menu GRUB est mis à jour automatiquement. Le système d'exploitation Solaris apparaît ensuite sous la forme d'une nouvelle entrée d'initialisation.
Si vous installez un système d'exploitation autre que Solaris, vous devez modifier le fichier de configuration menu.lst pour inclure la nouvelle instance de système d'exploitation. L'ajout de la nouvelle instance permet de faire apparaître la nouvelle entrée d'initialisation dans le menu GRUB lors du démarrage suivant du système.
Dans l'exemple suivant, le menu principal GRUB contient les systèmes d'exploitation Solaris et Microsoft Windows. L'environnement d'initialisation Solaris Live Upgrade second_disk est également présent. Pour une description de chaque option de menu, reportez-vous aux informations ci-dessous.
GNU GRUB version 0.95 (616K lower / 4127168K upper memory) +-------------------------------------------------------------------+ |Solaris | |Solaris failsafe | |second_disk | |second_disk failsafe | |Windows | +-------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press enter to boot the selected OS, 'e' to edit the commands before booting, or 'c' for a command-line. |
Définit le système d'exploitation Solaris.
Définit une archive d'initialisation pouvant être utilisée pour effectuer une reprise en cas d'endommagement du système d'exploitation Solaris.
Définit un environnement d'initialisation Solaris Live Upgrade. L'environnement d'initialisation second_disk a été créé comme copie du système d'exploitation Solaris. Il a été mis à niveau et activé avec la commande luactivate. L'environnement d'initialisation est disponible pour l'initialisation.
Définit le système d'exploitation Microsoft Windows. GRUB détecte ces partitions, mais ne vérifie pas que le système d'exploitation peut être initialisé.
Le fichier GRUB menu.lst contient les éléments du menu principal GRUB. Le menu principal GRUB contient les entrées d'initialisation de toutes les instances de système d'exploitation installées sur le système, y compris les environnements d'initialisation Solaris Live Upgrade. La mise à niveau du logiciel Solaris conserve les modifications que vous apportez à ce fichier.
Les modifications apportées au fichier menu.lst s'affichent dans le menu principal GRUB, avec les entrées Solaris Live Upgrade. Les modifications que vous apportez au fichier entrent en vigueur lors du démarrage suivant du système. Vous pouvez modifier ce fichier pour :
ajouter des entrées au menu GRUB pour les systèmes d'exploitation autres que Solaris ;
personnaliser le comportement d'initialisation, tel que définir le système d'exploitation par défaut dans le menu GRUB.
N'utilisez pas le fichier GRUB menu.lst pour modifier les entrées Solaris Live Upgrade afin de ne pas provoquer l'échec de Solaris Live Upgrade.
Bien que vous puissiez utiliser le fichier menu.lst pour personnaliser le comportement d'initialisation, tel que l'initialisation depuis le programme de débogage du noyau, il est préférable d'utiliser la commande eeprom pour la personnalisation. Si vous utilisez le fichier menu.lst pour la personnalisation, les entrées de système d'exploitation Solaris risquent d'être modifiées lors d'une mise à niveau et les modifications apportées aux fichiers seront perdues.
Pour plus d'informations sur l'utilisation de la commande eeprom, reportez-vous à la section How to Set Solaris Boot Parameters by Using the eeprom Command du System Administration Guide: Basic Administration.
Voici un exemple de fichier menu.lst :
default 0 timeout 10 title Solaris root (hd0,0,a) kernel /platform/i86pc/multiboot -B console=ttya module /platform/i86pc/boot_archive title Solaris failsafe root (hd0,0,a) kernel /boot/multiboot -B console=ttya -s module /boot/x86.miniroot.safe #----- second_disk - ADDED BY LIVE UPGRADE - DO NOT EDIT ----- title second_disk root (hd0,1,a) kernel /platform/i86pc/multiboot module /platform/i86pc/boot_archive title second_disk failsafe root (hd0,1,a) kernel /boot/multiboot kernel/unix -s module /boot/x86.miniroot-safe #----- second_disk -------------- END LIVE UPGRADE ------------ title Windows root (hd0,0) chainloader -1 |
Définit l'élément à initialiser en cas d'expiration du délai. Pour changer l'élément par défaut, vous pouvez définir un autre élément dans la liste en changeant le numéro. La numérotation commence à zéro pour le premier élément. Définissez 2 comme élément par défaut, par exemple, pour effectuer l'initialisation automatiquement dans l'environnement d'initialisation second_disk.
Spécifiez le délai d’attente en secondes de l'entrée utilisateur avant l’initialisation de l’entrée par défaut. Si vous ne définissez pas un délai d'attente, vous devez choisir une entrée.
Définit le nom du système d'exploitation.
S'il s'agit d'un environnement d'initialisation Solaris Live Upgrade, le OS name correspond au nom que vous avez attribué au nouvel environnement d'initialisation lors de sa création. Dans l'exemple précédent, l'environnement d'initialisation Solaris Live Upgrade s'appelle second_disk.
S'il s'agit d'une archive d'initialisation de secours ; cette archive est utilisée pour effectuer une reprise lorsque le système d'exploitation principal est endommagé. Dans l'exemple précédent, Solaris failsafe et second_disk failsafe sont les archives d'initialisation de restauration des systèmes d'exploitation Solaris et second_disk.
Définit le disque, la partition et la tranche utilisés pour charger les fichiers. GRUB détecte automatiquement le type de système de fichiers.
Définit le programme multi-initialisation. Le commande kernel doit toujours être suivie de ce programme. La chaîne après la mulit-initialisation est envoyée au système d'exploitation Solaris sans être interprétée.
Pour une description complète de plusieurs systèmes d'exploitation, reportez-vous à How Multiple Operating Systems Are Supported in the GRUB Boot Environment du System Administration Guide: Basic Administration.
Vous devez toujours utiliser la commande bootadm pour rechercher le fichier menu.lst du menu GRUB. La sous-commande list-menu recherche le menu GRUB actif. Le fichier menu.lst contient la liste de tous les systèmes d'exploitation installés sur un système. Le contenu du fichier détermine les systèmes d'exploitation figurant dans le menu GRUB. Si vous voulez modifier le fichier, reportez-vous à la section x86 : Recherche du fichier menu.lst du menu Grub (Tâches).
Depuis la version Solaris 10 1/06, vous pouvez mettre à jour le menu GRUB. Vous pouvez, par exemple, changer le délai par défaut de l'initialisation du système d'exploitation par défaut ou bien ajouter un autre système d'exploitation au menu GRUB.
Généralement, le fichier menu.lst du menu GRUB en cours se trouve dans /boot/grub/menu.lst. Dans certains cas, le fichier GRUB menu.lst se trouve dans un autre emplacement. Dans un système qui utilise Solaris Live Upgrade, par exemple, le fichier GRUB menu.lst peut se trouver dans un environnement d'initialisation qui ne correspond pas à l'environnement d'initialisation en cours. Ou, si vous avez mis à niveau un système avec une partition d'initialisation x86, le fichier menu.lst peut se trouver dans le répertoire /stubboot. Seul le fichier GRUB menu.lst actif est utilisé pour initialiser le système. Pour pouvoir modifier le menu GRUB qui s'affiche lorsque vous initialisez le système, vous devez modifier le fichier GRUB menu.lst actif. La modification d'un autre fichier GRUB menu.lst n'a aucun effet sur le menu qui s'affiche dans ce cas. Pour identifier l'emplacement du fichier GRUB menu.lst, utilisez la commande bootadm. La sous-commande list-menu affiche l'emplacement du menu GRUB actif. Les procédures suivantes déterminent l'emplacement du fichier menu.lst du menu GRUB.
Pour plus d'informations sur la commande bootadm, reportez-vous à l'aide en ligne bootadm(1M).
Dans la procédure suivante, le système contient deux systèmes d'exploitation : Solaris et un environnement Solaris Live Upgrade, second_disk. Le système d'exploitation Solaris a été initialisé et contient le menu GRUB.
Connectez-vous en tant que superutilisateur ou prenez un rôle équivalent.
Les rôles contiennent des autorisations et des commandes privilégiées. Pour de plus amples informations sur les rôles, reportez-vous à la rubrique Configuring RBAC (Task Map) du System Administration Guide: Security Services.
Pour rechercher le fichier menu.lst, tapez :
# /sbin/bootadm list-menu |
L'emplacement et le contenu du fichier s'affichent.
The location for the active GRUB menu is: /boot/grub/menu.lst default 0 timeout 10 0 Solaris 1 Solaris failsafe 2 second_disk 3 second_disk failsafe |
Dans la procédure suivante, le système contient deux systèmes d'exploitation : Solaris et un environnement d'initialisation Solaris Live Upgrade, second_disk . Dans cet exemple, le fichier menu.lst n'existe pas dans l'environnement d'initialisation en cours. L'environnement d'initialisation second_disk a été initialisé. L'environnement d'initialisation Solaris contient le menu GRUB. L'environnement d'initialisation Solaris n'est pas monté.
Connectez-vous en tant que superutilisateur ou prenez un rôle équivalent.
Les rôles contiennent des autorisations et des commandes privilégiées. Pour de plus amples informations sur les rôles, reportez-vous à la rubrique Configuring RBAC (Task Map) du System Administration Guide: Security Services.
Pour rechercher le fichier menu.lst, tapez :
# /sbin/bootadm list-menu |
L'emplacement et le contenu du fichier s'affichent.
The location for the active GRUB menu is: /dev/dsk/device_name(not mounted) The filesystem type of the menu device is <ufs> default 0 timeout 10 0 Solaris 1 Solaris failsafe 2 second_disk 3 second_disk failsafe |
Étant donné que le système de fichiers contenant le fichier menu.lst n'est pas monté, montez le système de fichiers. Définissez le système de fichiers UFS et le nom du périphérique.
# /usr/sbin/mount -F ufs /dev/dsk/nom_périphérique /mnt |
où device_name définit l'emplacement du système de fichiers racine (/) sur le disque de l'environnement d'initialisation à monter. Le nom du périphérique a le format /dev/dsk/c wtx dysz. Exemple :
# /usr/sbin/mount -F ufs /dev/dsk/c0t1d0s0 /mnt |
Vous pouvez accéder au menu GRUB dans /mnt/boot/grub/menu.lst
Démontez le système de fichiers
# /usr/sbin/umount /mnt |
Si vous montez un environnement d'initialisation ou un système de fichiers d'un environnement d'initialisation, veillez à démonter le système de fichiers ou les systèmes de fichiers après utilisation. Si vous ne les démontez pas, les opérations Solaris Live Upgrade suivantes dans cet environnement d'initialisation échoueront.
Dans la procédure suivante, le système contient deux systèmes d'exploitation : Solaris et un environnement d'initialisation Solaris Live Upgrade, second_disk . L'environnement d'initialisation second_disk a été initialisé. L'environnement d'initialisation Solaris contient le menu GRUB. L'environnement d'initialisation Solaris est monté sur /.alt.Solaris.
Connectez-vous en tant que superutilisateur ou prenez un rôle équivalent.
Les rôles contiennent des autorisations et des commandes privilégiées. Pour de plus amples informations sur les rôles, reportez-vous à la rubrique Configuring RBAC (Task Map) du System Administration Guide: Security Services.
Pour rechercher le fichier menu.lst, tapez :
# /sbin/bootadm list-menu |
L'emplacement et le contenu du fichier s'affichent.
The location for the active GRUB menu is: /.alt.Solaris/boot/grub/menu.lst default 0 timeout 10 0 Solaris 1 Solaris failsafe 2 second_disk 3 second_disk failsafe |
Étant donné que l'environnement d'initialisation contenant le menu GRUB est déjà monté, vous pouvez accéder au fichier menu.lst dans /.alt.Solaris/boot/grub/menu.lst.
Dans la procédure suivante, le système contient deux systèmes d'exploitation : Solaris et un environnement Solaris Live Upgrade, second_disk. L'environnement d'initialisation second_disk a été initialisé. Votre système a été mis à niveau et il reste une partition d'initialisation x86. La partition d'initialisation est montée sur /stubboot et elle contient le menu GRUB. Pour plus d'informations sur les partitions x86, reportez-vous à la section x86 : Recommandations pour le partitionnement.
Connectez-vous en tant que superutilisateur ou prenez un rôle équivalent.
Les rôles contiennent des autorisations et des commandes privilégiées. Pour de plus amples informations sur les rôles, reportez-vous à la rubrique Configuring RBAC (Task Map) du System Administration Guide: Security Services.
Pour rechercher le fichier menu.lst, tapez :
# /sbin/bootadm list-menu |
L'emplacement et le contenu du fichier s'affichent.
The location for the active GRUB menu is: /stubboot/boot/grub/menu.lst default 0 timeout 10 0 Solaris 1 Solaris failsafe 2 second_disk 3 second_disk failsafe |
Vous pouvez accéder au fichier menu.lst dans /stubboot/boot/grub/menu.lst.