Ce chapitre décrit l'initialisation GRUB sur des systèmes x86 et qui concerne une installation Solaris. Ce chapitre se compose des sections suivantes :
Depuis Solaris version 10 1/06, GRUB, chargeur d'initialisation Open Source, a été choisi comme chargeur d'initialisation par défaut dans le système d'exploitation Solaris.
L'initialisation GRUB n'est pas disponible sur les systèmes SPARC.
Le chargeur d'initialisation correspond au premier programme qui s'exécute lorsque vous démarrez un système. Une fois que vous avez démarré un système x86, le BIOS (Basic Input/Output System) effectue l'initialisation du processeur, de la mémoire et du matériel de plate-forme. Une fois l'initialisation terminée, le BIOS charge le chargeur d'initialisation à partir du périphérique d'initialisation configuré, puis transfère le contrôle du système au chargeur d'initialisation.
GRUB est un chargeur d'initialisation Open Source doté d'une interface de menu simple incluant des options d'initialisation prédéfinies dans un fichier de configuration. GRUB dispose également d'une interface de ligne de commande à laquelle vous pouvez accéder à partir de l'interface de menu pour exécuter diverses commandes d'initialisation. Dans le système d'exploitation Solaris, l'implémentation GRUB est conforme à la spécification d'initialisation multiple. Pour des informations détaillées sur la spécification, visitez l'adresse http://www.gnu.org/software/grub/grub.html.
Le noyau Solaris étant conforme à la spécification d'initialisation multiple, vous pouvez initialiser un système x86 Solaris à l'aide de GRUB. Avec GRUB, vous pouvez effectuer une initialisation et installer plusieurs systèmes d'exploitation facilement. Par exemple, vous pouvez initialiser les systèmes d'exploitation suivants sur un système :
Les SE Solaris
Microsoft Windows
GRUB détecte les partitions Microsoft Windows, mais ne vérifie pas si le système d'exploitation peut être initialisé.
L'avantage principal de GRUB est qu'il détecte automatiquement les systèmes de fichiers et les formats de noyau exécutables, vous permettant ainsi de charger un système d'exploitation sans avoir à enregistrer l'emplacement du noyau sur le disque. Avec une initialisation GRUB, le noyau est chargé en définissant le nom de fichier, le lecteur ainsi que la partition dans laquelle se trouve le noyau. Une initialisation GRUB remplace l'Assistant de configuration de périphérique Solaris et simplifie le processus d'initialisation à l'aide d'un menu GRUB.
Une fois que GRUB contrôle le système, un menu s'affiche dans la console. Dans le menu GRUB, vous pouvez :
Sélectionner une entrée pour initialiser votre système.
Modifier une entrée d'initialisation à l'aide du menu Edition GRUB intégré.
Charger manuellement un noyau SE à partir de la ligne de commande.
Un délai configurable est disponible pour initialiser l'entrée SE par défaut. L'activation d'une touche annule l'initialisation de l'entrée SE par défaut.
Pour voir un exemple de menu GRUB, reportez-vous à la section Description du menu GRUB principal.
Les conventions de noms de périphériques utilisées par GRUB diffèrent légèrement des versions précédentes du système d'exploitation Solaris. La compréhension des conventions de noms de périphériques GRUB vous permet de spécifier correctement les informations relatives au lecteur et à la partition lorsque vous configurez GRUB sur votre système.
Le tableau suivant décrit les conventions de noms de périphériques GRUB.
Tableau 5–1 Conventions de noms pour les 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 partition fdisk du premier disque bios |
(hd0,0,a), (hd0,0,b) |
Les tranches 0 et 1 de Solaris/BSD sur la première partition fdisk du premier disque bios |
Tous les noms de périphériques GRUB doivent être mis entre parenthèses. Les numéros de partitions sont comptabilisés à partir de 0 (zéro), et non à partir de 1.
Pour plus d'informations sur les partitions fdisk, reportez-vous à la section 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 5–2 Informations sur les installations GRUB
Rubrique |
Tâches de menu GRUB |
Pour plus d'informations |
---|---|---|
Installation |
Pour installer à l'aide du CD du système d'exploitation Solaris ou du DVD | |
Pour installer à partir d'une image d'installation réseau | ||
Pour configurer un serveur DHCP pour les installations réseau | ||
Pour installer à l'aide du programme JumpStart personnalisé | ||
Pour activer ou revenir à un environnement d'initialisation à l'aide de Solaris Live Upgrade | ||
Administration système |
Pour des informations détaillées sur GRUB et les tâches administratives |
Chapitre 11, GRUB Based Booting (Tasks) du System Administration Guide: Basic Administration |
Cette section décrit les notions de base de l'initialisation GRUB ainsi que 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 SE Solaris. La seconde entrée est l'archive d'initialisation de secours utilisée pour la restauration du système. Les entrées de menu Solaris GRUB sont installées et mises à jour automatiquement dans le cadre du processus d'installation et de mise à niveau du logiciel Solaris. Ces entrées sont directement gérées par le système d'exploitation et ne doivent pas être modifiées manuellement.
Lors d'une installation standard du système d'exploitation Solaris, GRUB est installé sur la partition fdisk de Solaris sans modification du paramètre BIOS du système. Si le système d'exploitation ne se trouve pas sur le disque de démarrage de BIOS, vous devez effectuer l'une des opérations suivantes :
Modifier le paramètres BIOS.
Utiliser un gestionnaire d'initialisation pour passer à la partition Solaris. Pour plus d'informations, consultez votre gestionnaire d'initialisation.
La méthode privilégiée est d'installer le système d'exploitation Solaris sur le disque de démarrage. Si plusieurs systèmes d'exploitation sont installés sur l'ordinateur, vous pouvez ajouter des entrées au fichier menu.lst. Ces entrées sont ensuite affichées dans le menu GRUB lors de la prochaine initialisation du système.
Pour de plus amples informations sur la coexistence de 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 de réseau GRUB nécessite un serveur DHCP configuré pour les clients PXE ainsi qu'un serveur d'installation fournissant le service tftp. Le serveur DHCP doit pouvoir répondre aux classes DHCP ainsi qu'aux fichiers PXEClient et GRUBClient. La réponse DHCP doit comprendre les informations suivantes :
l'adresse IP du serveur de fichiers ;
le nom du fichier d'initialisation (pxegrub).
rpc.bootparamd, qui est généralement une exigence du serveur pour l'exécution d'une initialisation réseau, n'est pas nécessaire pour une initialisation de réseau GRUB.
Si aucun serveur PXE ou DHCP n'est disponible, vous pouvez charger GRUB à partir du CD-ROM ou du disque local. Vous pouvez alors configurer manuellement le réseau sous GRUB et télécharger le programme d'initialisation multiple ainsi que l'archive d'initialisation à partir du serveur de fichiers.
Pour plus d'informations, reportez-vous à la section 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.
Le menu GRUB s'affiche lorsque vous effectuez l'initialisation d'un système x86. Ce menu fournit la liste des entrées d'initialisation. Une entrée d'initialisation correspond à une instance SE installée sur votre système. Le menu GRUB est basé sur le fichier menu.lst, qui est un fichier de configuration. Le fichier menu.lst est créé par le programme d'installation Solaris et peut être modifié une fois l'installation terminée. Le fichier menu.lst détermine la liste des instances SE qui sont affichées dans le menu GRUB.
Si vous installez ou mettez à niveau le système d'exploitation Solaris, le menu GRUB est automatiquement mis à jour. Le système d'exploitation Solaris est alors affiché en tant que nouvelle entrée d'initialisation.
Si vous installez un système d'exploitation autre que le système d'exploitation Solaris, vous devez modifier le fichier de configuration menu.lst pour inclure la nouvelle instance SE. L'ajout d'une nouvelle instance SE permet à la nouvelle entrée d'initialisation de s'afficher dans le menu GRUB lors de la prochaine initialisation du système.
Dans l'exemple suivant, le menu principal GRUB affiche les systèmes d'exploitation Solaris et Microsoft Windows. Un environnement d'initialisation Solaris Live Upgrade est également répertorié et est appelé second_disk. Consultez l'exemple suivant pour obtenir la description de chaque élément de menu.
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. |
Indique le système d'exploitation Solaris.
Indique une archive d'initialisation pouvant être utilisée pour la récupération si le système d'exploitation Solaris est endommagé.
Indique un environnement d'initialisation Solaris Live Upgrade. L'environnement d'initialisation second_disk a été créé en tant que copie du système d'exploitation Solaris. Il a été mis à niveau et activé à l'aide de la commande luactivate. L'environnement d'initialisation est disponible.
Indique le système d'exploitation Microsoft Windows. GRUB détecte ces partitions mais ne vérifie pas si le système d'exploitation peut être initialisé.
Le fichier GRUB menu.lst répertorie le contenu du menu principal GRUB. Le menu principal GRUB répertorie les entrées d'initialisation de toutes les instances SE installées sur votre système, y compris les environnements d'initialisation Solaris Live Upgrade. Le processus de mise à niveau du logiciel Solaris enregistre les modifications apportées à ce fichier.
Les révisions effectuées dans le fichier menu.lst sont affichées dans le menu principal GRUB, en même temps que les entrées Solaris Live Upgrade. Toutes les modifications apportées au fichier deviennent effectives lors de la prochaine réinitialisation du système. Vous pouvez modifier ce fichier pour les raisons suivantes :
Pour faire des ajouts aux entrées de menu GRUB pour les systèmes d'exploitation autres que Solaris
Pour personnaliser le comportement d'initialisation tel que la définition du système d'exploitation par défaut dans le menu GRUB
N'utilisez pas le fichier menu.lst pour modifier les entrées Solaris Live Upgrade. Les modifications peuvent entraîner l'échec de Solaris Live Upgrade.
Même si vous pouvez utiliser le fichier menu.lst pour personnaliser le comportement d'initialisation tel que l'initialisation à l'aide du débogueur de noyau, la méthode privilégiée pour la personnalisation est d'utiliser la commande eeprom. Si vous utilisez le fichier menu.lst pour la personnalisation, il se peut que les entrées SE Solaris soient modifiées lors de la mise à niveau d'un logiciel. Les modifications apportées au fichier ne seront pas enregistrées.
Pour obtenir des informations sur l'utilisation de la commande eeprom, reportez-vous à la rubrique How to Set Solaris Boot Parameters by Using the eeprom Command du System Administration Guide: Basic Administration.
Vous trouverez ci-dessous un exemple d'un 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 |
Indique l'élément à initialiser en cas d'expiration du délai. Pour modifier la valeur par défaut, vous pouvez indiquer un autre élément dans la liste en modifiant le chiffre. Le comptage débute avec zéro pour le premier titre. Par exemple, utilisez la valeur par défaut 2 pour une initialisation automatique vers l'environnement d'initialisation second_disk.
Indique le nombre de secondes d'attente pour une action de l'utilisateur avant d'initialiser l'entrée par défaut. Si aucun délai n'est spécifié, vous devez choisir une entrée.
Indique le nom du système d'exploitation.
S'il s'agit d'un environnement d'initialisation Solaris Live Upgrade, OS name est le nom que vous avez attribué au nouvel environnement d'initialisation lorsque vous l'avez créé. Dans l'exemple précédent, l'environnement d'initialisation Solaris Live Upgrade est appelé second_disk.
S'il s'agit d'une archive d'initialisation de secours, cette archive est utilisée pour la récupération 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 pour la restauration des systèmes d'exploitation Solaris et second_disk.
Indique le disque, la partition et le secteur sur lesquels charger les fichiers. GRUB détecte automatiquement le type du système de fichiers.
Indique le programme d'initialisation multiple. La commande noyau doit impérativement être suivie par le programme d'initialisation multiple. Une fois l'initialisation multiple terminée, la chaîne passe au système d'exploitation Solaris sans interprétation.
Pour obtenir une description complète sur la coexistence de 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.
Vous devez impérativement utiliser la commande bootadm pour localiser le fichier menu.lst du menu GRUB. La sous-commande list-menu recherche le menu actif GRUB. Le fichier menu.lst répertorie tous les systèmes d'exploitation installés sur un système. Le contenu de ce fichier détermine la liste des systèmes d'exploitation affichée dans le menu GRUB. Si vous souhaitez modifier ce fichier, reportez-vous à la section x86 : Localisation du fichier menu.lst du menu GRUB (Tâches).
Depuis Solaris 10 1/06, le menu GRUB peut être mis à jour. Par exemple, vous pouvez modifier le temps par défaut relatif à la vitesse d'initialisation du système d'exploitation par défaut. Vous pouvez également ajouter un autre SE au menu GRUB.
Généralement, le fichier menu.lst du menu actif GRUB se trouve à l'emplacement /boot/grub/menu.lst. Dans certains cas, le fichier GRUB menu.lst se trouve ailleurs. Par exemple, dans un système utilisant Solaris Live Upgrade, il se peut que le fichier GRUB menu.lst se trouve dans un environnement d'initialisation autre que l'environnement d'initialisation en cours d'exécution. Ou si vous avez mis à niveau un système avec une partition d'initialisation x86, il se peut que le fichier menu.lst se trouve dans le répertoire /stubboot. Seul le fichier GRUB actif menu.lst est utilisé pour initialiser le système. Pour modifier le menu GRUB affiché lorsque vous démarrez le système, le fichier GRUB actif menu.lst doit être modifié. La modification de tout autre fichier menu.lst n'a aucune incidence sur le menu affiché lors du démarrage du système. Pour déterminer l'emplacement du fichier GRUB actif menu.lst, utilisez la commande bootadm. La sous-commande list-menu affiche l'emplacement du menu GRUB actif. La procédure suivante détermine l'emplacement du fichier menu.lst du menu GRUB.
Pour plus d'informations sur la commande bootadm, reportez-vous à la page de manuel bootadm(1M).
Dans la procédure suivante, le système comporte deux systèmes d'exploitation : Solaris et l'environnement d'initialisation Solaris Live Upgrade, second_disk. Le système d'exploitation Solaris a été initialisé et comporte 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 localiser le fichier menu.lst, tapez :
# /sbin/bootadm list-menu |
L'emplacement du fichier ainsi que son contenu sont affichés.
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 comporte deux systèmes d'exploitation : Solaris et l'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 d'exécution. 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 localiser le fichier menu.lst, tapez :
# /sbin/bootadm list-menu |
L'emplacement du fichier ainsi que son contenu sont affichés.
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 |
Le système de fichiers comprenant le fichier menu.lst n'étant pas encore monté, montez le système de fichiers. Indiquez le système de fichiers UFS et le nom du périphérique.
# /usr/sbin/mount -F ufs /dev/dsk/device_name /mnt |
Où device_name spécifie l'emplacement du système de fichiers racine (/) sur le périphérique de disque de l'environnement d'initialisation que vous souhaitez monter. Le nom du périphérique est entré sous la forme /dev/dsk/c wtx dysz. Exemple :
# /usr/sbin/mount -F ufs /dev/dsk/c0t1d0s0 /mnt |
Vous pouvez accéder au menu GRUB dans le fichier /mnt/boot/grub/menu.lst
Démontez le système de fichiers
# /usr/sbin/umount /mnt |
Si vous montez un environnement d'initialisation ou le système de fichiers d'un environnement d'initialisation, assurez-vous que le système de fichiers ou les systèmes de fichiers sont démontés après leur utilisation. Si ces systèmes de fichiers ne sont pas démontés, il se peut que les opérations Solaris Live Upgrade ultérieures sur cet environnement d'initialisation échouent.
Dans la procédure suivante, le système comporte deux systèmes d'exploitation : Solaris et l'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é dans /.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 localiser le fichier menu.lst, tapez :
# /sbin/bootadm list-menu |
L'emplacement du fichier ainsi que son contenu sont affichés.
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 comportant 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 comporte deux systèmes d'exploitation : Solaris et l'environnement d'initialisation Solaris Live Upgrade, second_disk. L'environnement d'initialisation second_disk a été initialisé. Votre système a été mis à niveau et une partition d'initialisation x86 existe. La partition d'initialisation est montée dans /stubboot et comporte le menu GRUB. Pour une description des partitions d'initialisation 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 localiser le fichier menu.lst, tapez :
# /sbin/bootadm list-menu |
L'emplacement du fichier ainsi que son contenu sont affichés.
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.