Ce chapitre décrit l'initialisation GRUB sur des systèmes x86 pour l'installation de Solaris. Ce chapitre se compose des sections suivantes :
Démarrage avec la version Solaris 10 1/06, GRUB, le chargeur de démarrage open source, a été adopté comme comme chargeur de démarrage par défaut dans le système d'exploitation (OS) Solaris.
L'initialisation GRUB n'est pas disponible sur des systèmes SPARC.
Le chargeur de démarrage est le premier programme qui est exécuté après avoir mis le système sous tension. Une fois le système x86 sous tension, le BIOS (système de base d'entrée/sortie, Basic Input/Output System) initialise l'UC, la mémoire et le matériel de la plate-forme. Lorsque la phase d'initialisation est terminée, le BIOS charge le chargeur de démarrage à partir du périphérique d'initialisation, puis transfère le contrôle du système au chargeur de démarrage.
GRUB est un chargeur de démarrage open source doté d'une interface organisée par menus contenant des options d'initialisation déjà définies dans un fichier de configuration. GRUB propose également une interface par ligne de commande accessible depuis l'interface par menus et autorisant l'exécution de différentes commandes d'initialisation. Dans le système d'exploitation Solaris, l'implémentation GRUB est compatible avec la spécification Multiboot (amorçage multiple). La spécification est décrite en détails dans http://www.gnu.org/software/grub/grub.html.
Le noyau Solaris étant totalement compatible avec la spécification Multiboot, vous pouvez initialiser un système x86 Solaris à l'aide de GRUB. GRUB autorise une initialisation facile et l'installation de différents systèmes d'exploitation. Par exemple, sur un système, il est possible d'initialiser individuellement les systèmes d'exploitation suivants :
Les SE Solaris
Microsoft Windows
GRUB détecte des partitions Microsoft Windows, mais ne vérifie pas que le système d'exploitation peut être initialisé.
Avantage important, GRUB est intuitif à propos des systèmes de fichiers et formats des exécutables des noyaux ; il est donc en mesure de charger un système d'exploitation sans avoir à enregistrer la position physique du noyau sur le disque. L'initialisation GRUB permet de charger le noyau en spécifiant son nom de fichier, le lecteur et la partition hébergeant le noyau. L'initialisation GRUB remplace l'assistant de configuration des périphériques de Solaris et simplifie le processus d'initialisation grâce au menu GRUB.
Dès que GRUB prend le contrôle du système, un menu apparaît sur la console. Le menu GRUB vous permet d'effectuer les opérations suivantes :
Sélection d'une entrée pour initialiser votre système
Modification d'une entrée d'initialisation à l'aide du menu d'édition GRUB intégré
Chargement manuel du noyau d'un système d'exploitation à partir de la ligne de commande
Un délai d'attente configurable permet de lancer l'initialisation de l'entrée du système d'exploitation par défaut. Il suffit d'appuyer sur une touche pour abandonner ce lancement.
Pour voir un exemple de menu GRUB, reportez-vous à la rubrique Description du menu principal de GRUB.
Les conventions d'attribution de noms utilisées par GRUB diffèrent légèrement de celles employées dans les versions précédentes du système d'exploitation Solaris. La compréhension des conventions d'attribution de nom peut vous aider à spécifier correctement des informations relatives à des lecteurs et des partitions, lors de la configuration GRUB sur votre système.
Le tableau suivant décrit les conventions d'attribution de noms de périphériques de GRUB.
Tableau 4–1 Conventions d'attribution de nom pour des périphériques GRUB
Nom périphérique |
Description |
---|---|
(fd0), (fd1) |
Première disquette, deuxième disquette |
(nd) |
Périphérique réseau |
(hd0,0), (hd0,1) |
Première et deuxième partition fdisk du premier disque bios |
(hd0,0,a), (hd0,0,b) |
Tranche 0 et 1 Solaris/BSD sur une première partition fdisk sur le premier disque bios |
Tous les noms de périphériques GRUB doivent être mis entre parenthèses. Les numéros de partition sont comptés à partir de 0 (zéro), et non à partir de 1.
Pour plus d'informations sur les partitions fdisk, reportez-vous à la rubrique 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 Où trouver des informations sur des installations GRUB
Rubrique |
Menu Tâches de GRUB |
Pour plus d'informations |
---|---|---|
Installation |
Pour procéder à une installation à partir d'un média CD ou DVD du système d'exploitation Solaris | |
Pour procéder à une installation à partir d'une image d'installation réseau | ||
Pour configurer un serveur DHCP pour des installations réseau |
Préconfiguration des informations de configuration système à l'aide du service DHCP - Tâches |
|
Pour procéder à une installation avec le programme JumpStart de personnalisation | ||
Pour activer ou se rabattre sur un environnement d'initialisation à l'aide de Solaris Live Upgrade |
|
|
Administration système |
Pour plus d'informations détaillées à propos de GRUB et concernant des tâches administratives |
Chapitre 11, GRUB Based Booting (Tasks) du System Administration Guide: Basic Administration |
Cette section décrit les principes d'une 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 sur le systèmes par défaut. La première est l'entrée Solaris OS. La deuxième entrée est l'archive d'initialisation de secours (failsafe) ; elle est utilisée pour la récupération du système. Les entrées du menu GRUB de Solaris sont installées et mises à jour automatiquement lors des processus d'installation et de mise à niveau des logiciels Solaris. Le système d'exploitation gère directement ces entrées, elles 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 modifier le paramétrage BIOS du système. Si l'OS n'est pas sur le disque d'initialisation du système, vous devez effectuer l'une des opérations suivantes :
Modifier le paramétrage BIOS.
Utiliser un gestionnaire de démarrage pour permettre une initialisation à partir de la partition Solaris. Pour plus d'informations, reportez-vous à votre gestionnaire de démarrage.
La meilleure méthode consiste à 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 des entrées dans le fichier menu.lst. Ces entrées apparaîtront ensuite dans le menu GRUB lors de la prochaine initialisation de votre système.
Pour plus d'informations sur les systèmes avec plusieurs systèmes d'exploitation, reportez-vous à la rubrique 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 fournissant un service tftp. Le serveur DHCP doit être en mesure de répondre aux classes DHCP, PXEClient et GRUBClient. La réponse DHCP doit contenir les informations suivantes :
L'adresse IP du serveur de fichiers
Le nom du fichier d'initialisation (pxegrub)
rpc.bootparamd, qui est habituellement une exigence sur le côté serveur pour l'exécution d'une initialisation réseau, n'est pas requis pour une initialisation 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 dans GRUB et télécharger ensuite le programme d'amorçage multiple (multiboot) et l'archive d'initialisation à partir du serveur de fichiers.
Pour plus d'informations, reportez-vous à la rubrique x86 : Présentation de l'initialisation et de l'installation sur le réseau à l'aide de PXE.
Lorsque vous initialisez un système x86, le menu GRUB s'affiche. Ce menu présente la liste des entrées d'initialisation pour vous permettre d'en choisir une. Une entrée d'initialisation est une instance du système d'exploitation installée sur votre système. Le menu GRUB s'appuie sur le fichier de configuration menu.lst. Créé par le programme d'installation de Solaris, le fichier menu.lst peut être modifié après l'installation. Le fichier menu.lst dicte la liste des instances des systèmes d'exploitation apparaissant 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 apparaît ensuite comme 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 y inclure la nouvelle instance du système d'exploitation. L'ajout d'une nouvelle instance d'un système d'exploitation permet de voir la nouvelle entrée d'initialisation affichée dans le menu GRUB lors de la prochaine initialisation du système.
Dans l'exemple suivant, le menu principal GRUB présente les systèmes d'exploitation Solaris et Microsoft Windows. Un environnement d'initialisation Solaris Live Upgrade figure également sur la liste sous l'appellation second_disk. La description de chaque élément de menu est donnée dans ce qui suit.
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 l'archive d'initialisation disponible pour une récupération si le système d'exploitation est endommagé.
Indique l'environnement d'initialisation Solaris Live Upgrade L'environnement d'initialisation second_disk a été créé comme une 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 une initialisation.
Indique 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 répertorie le contenu du menu principal GRUB. Le menu principal GRUB liste les entrées de toutes les instances des systèmes d'exploitation installés sur votre système, notamment les environnements d'initialisation Solaris Live Upgrade. Le processus de mise à niveau des logiciels Solaris conserve toutes les modifications que vous avez apportées à ce fichier.
Toutes les révisions effectuées sur le fichier menu.lst sont affichées sur le menu principal GRUB avec les entrées Solaris Live Upgrade. Toute modification apportée au fichier devient effective à la prochaine réinitialisation du système. Vous pouvez revoir ce fichier pour les raisons suivantes :
Pour ajouter aux entrées du menu GRUB des systèmes d'exploitation autres que Solaris
Pour personnaliser le comportement de l'initialisation, par exemple en spécifiant un système d'exploitation par défaut dans le menu GRUB
N'utilisez pas le fichier GRUB menu.lst pour modifier des entrées Solaris Live Upgrade. De telles modifications feraient échouer Solaris Live Upgrade.
Bien que le fichier menu.lst soit utilisable pour personnaliser le comportement de l'initialisation comme une initialisation avec le débogueur de noyau, la meilleure méthode de personnalisation consiste à employer la commande eeprom. Si vous utilisez le fichier menu.lst pour une personnalisation, les entrées du système d'exploitation Solaris pourraient très bien être modifiées lors de la mise à niveau des logiciels. Les modifications apportées au fichier pourraient ensuite être perdues.
Pour plus d'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.
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 |
Indique l'élément à initialiser en cas d'expiration du délai d'attente. Pour modifier la valeur par défaut, vous pouvez spécifier un autre élément de la liste en changeant le numéro. Le comptage débute par zéro pour le premier titre. Par exemple, modifiez la valeur par défaut pour 2 pour que l'initialisation se fasse automatiquement sur l'environnement d'initialisation second_disk.
Indique le temps d'attente exprimé en secondes accordé à un utilisateur pour faire une entrée avant que l'initialisation ne s'enclenche sur l'entrée par défaut. Si aucun délai d'attente n'est spécifié, vous devez sélectionner 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 donné au nouvel environnement d'initialisation lorsqu'il a été créé. Dans l'exemple précédent, l'environnement d'initialisation Solaris Live Upgrade se nomme second_disk.
S'il s'agit d'une archive d'initialisation de secours (failsafe), cette dernière est utilisée pour la récupération du système 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 récupération des systèmes d'exploitation Solaris et second_disk.
Indique le disque, la partition et la tranche pour le chargement des fichiers. GRUB détecte automatiquement le type de système de fichiers.
Indique le programme de multiboot. La commande kernel doit toujours être suivie par le programme multiboot. La chaîne qui vient après multiboot est transmise au système d'exploitation Solaris sans interprétation.
Pour obtenir une description complète des systèmes avec plusieurs systèmes d'exploitation, reportez-vous à la rubrique How Multiple Operating Systems Are Supported in the GRUB Boot Environment du System Administration Guide: Basic Administration.
Vous devez toujours employer la commande bootadm pour rechercher le fichier menu.lst du menu GRUB. La sous-commande list-menu trouve le menu GRUB actif. Le fichier menu.lst répertorie tous les systèmes d'exploitation installés sur un système. La liste des systèmes d'exploitation qui apparaissent dans le menu GRUB est établie à partir du contenu de ce fichier. Pour modifier ce fichier, reportez-vous à la rubrique x86 : Recherche du fichier menu.lst du menu GRUB (Tâches).
Démarrage la version Solaris 10 1/06, le menu GRUB peut être mis à jour. Par exemple, vous pouvez vouloir modifier le temps par défaut indiquant la rapidité avec laquelle l'initialisation du système d'exploitation par défaut va s'effectuer. Ou, vous pouvez souhaiter ajouter un autre système d'exploitation au menu GRUB.
D'une manière générale, le chemin d'accès au fichier menu.lst du menu GRUB actif est /boot/grub/menu.lst. Dans certains cas, le fichier GRUB menu.lst réside ailleurs. Par exemple, dans un système utilisant Solaris Live Upgrade, le fichier GRUB menu.lst peut se trouver dans un environnement d'initialisation n'étant pas celui actuellement exécuté. Ou si vous avez mis à niveau un système contenant une partition d'initialisation x86, le fichier menu.lst peut résider dans le répertoire /stubboot. Seul le fichier GRUB menu.lst actif sert à l'initialisation du système. Pour modifier le menu GRUB qui s'affiche à l'initialisation du système, vous devez modifier le fichier GRUB menu.lst actif. Toute modification d'un autre fichier GRUB menu.lst est sans effet sur le menu affiché à l'initialisation du système. Pour déterminer l'emplacement du fichier GRUB menu.lst actif, servez-vous de 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 à la page man bootadm(1M).
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. Le système d'exploitation Solaris a été initialisé et contient la 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 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 contient deux systèmes d'exploitation : Solaris et un environnement d'initialisation Solaris Live Upgrade, second_disk . Dans cette situation, le fichier menu.lst n'existe pas dans l'environnement d'initialisation exécuté actuellement. 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 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 |
Puisque le système de fichiers contenant le fichier menu.lst n'est pas monté, vous devez monter le système de fichiers. Spécifiez le système de fichier UFS et le nom du périphérique.
# /usr/sbin/mount -F ufs /dev/dsk/device_name /mnt |
Où device_name indique l'emplacement du système de fichiers racine (/) sur le périphérique de disque de l'environnement d'initialisation que vous voulez monter. Le nom du périphérique est entré sous la forme /dev/dsk/cw txdy sz. Par exemple :
# /usr/sbin/mount -F ufs /dev/dsk/c0t1d0s0 /mnt |
Pour accéder au menu GRUB, utilisez le chemin d'accès /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, vérifiez que le ou les systèmes de fichiers sont démontés après utilisation. Si vous ne démontez pas les systèmes de fichiers, de futures opérations Solaris Live Upgrade sur cet environnement d'initialisation risqueraient d'échouer.
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é à /.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 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 |
Puisque l'environnement d'initialisation contenant le menu GRUB est déjà monté, vous pouvez alors accéder au fichier menu.lst à /.alt.Solaris/boot/grub/menu.lst.
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é. Votre système a été mis à niveau et il reste une partition d'initialisation x86. La partition d'initialisation a été montée à /stubboot et contient le menu GRUB. Pour plus d'information sur les partitions d'initialisation x86, reportez-vous à la rubrique 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 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 à /stubboot/boot/grub/menu.lst.