Les gestionnaires d`amorçage LILO et GRUB
Transcription
Les gestionnaires d`amorçage LILO et GRUB
Les gestionnaires d'amorçage LILO et GRUB Stéphane Gill [email protected] Table des matières Introduction 2 Configurer LILO 2 Enregistrer la configuration LILO 4 Supprimer LILO du MBR 4 Création d’une disquette de démarrage LILO 4 Utilisation de GRUB 5 Désignation des périphériques de stockage 6 Désignation des partitions 6 Désignation des fichiers par leur nom 6 Désigner un périphérique par défaut 7 Commandes de base pour charger un noyau 7 Création d’une disquette de démarrage GRUB 8 Installer le GRUB sur le disque dur 8 Personnaliser le fichier "menu.lst" 9 Installation 9 Changement de niveau d'exécution au démarrage 10 Mode de secours 11 Références 11 Document écrit par Stéphane Gill © Copyright 2004 Stéphane Gill Ce document est soumis à la licence GNU FDL. Permission vous est donnée de distribuer, modifier des copies de ce document tant que cette note apparaît clairement. Les gestionnaires d'amorçage LILO et GRUB Introduction Avec LILO (Linux Loader), Werner Almesberger a certainement signé le programme d’amorçage le plus répandu. LILO figure dans la plupart des distributions. GRUB (GRand Unified Bootloader) de GNU est un gestionnaire d’amorçage qui offre beaucoup plus de fonctionnalité que LILO. C’est pour cette raison que de plus en plus de distribution adopte GRUB comme gestionnaire d’amorçage. Dans ce document, … Configurer LILO LILO est constitué d’un programme accompagné de son fichier de configuration. Il est possible de spécifier dans ce fichier jusqu’à 16 configurations différentes. Nous y trouvons en générale une, deux ou au maximum trois entrées. Le fichier de configuration de LILO s’appelle /etc/lilo.conf. Voici un exemple de fichier lilo.conf. boot=/dev/hda prompt timeout=50 default=linux image=/boot/vmlinuz-2.2.12-20 label=linux initrd=/boot/initrd-2.2.12-20.img read-only root=/dev/hda3 other=/dev/hda1 label=dos Pour configurer LILO il suffit de modifier le fichier /etc/lilo.conf à l’aide d’un éditeur de texte. Vous pouvez utiliser les options ci-après dans le fichier /etc/lilo.conf: © Copyright 2004 Stéphane Gill Page 2 Les gestionnaires d'amorçage LILO et GRUB Option Description boot=périph Définit le périphérique contenant le secteur d'amorçage. En l'absence de cette option, la partition racine actuelle sera utilisée. label=nom Renomme une image. linear Génère des adresses linéaires de secteurs à la place des adresses secteur/tête/cylindre. Ces adresses linéaires sont indépendantes de la géométrie du disque et sont traduites au vol lors du chargement du système. Les disques d'amorçage linéaires peuvent ne pas être portables. message=fichier provoque l'affichage du contenu de fichier avant l'invite boot. Le message ne peut excéder 64 Ko. Si le message est modifié ou déplacé, il faut reconstruire la table. optional rend une image optionnelle. Si le fichier n'est pas trouvé, il ne pourra pas être utilisé pour l'amorçage. Cette option est utile pour tester de nouveaux noyaux. password=mot-de-passe définit un mot de passe pour toules les images. En présence de l'option restricted, le mot de passe ne s'appliquera qu'à l'image à laquelle la configuration fait référence. prompt impose l'affichage de l'invite boot, sans contrôle préalable d'enfoncement de touches. Cette option est souvent associée à timeout, afin de permettre des démarrages autonomes. read-only provoque le montage en lecture seulement du système de fichiers racine. read-write provoque le montage en lecture/écriture du système de fichiers racine. restricted assouplit la protection par mot de passe. root=périph définit le périphérique qui devra être monté comme système de fichiers racine. Si vous indiquez la valeur current, il s'agira du périphérique utilisé actuellement pour ce montage (à moins qu'il ne soit changé par l'option de lancement –r) timeout=secs définit le nombre de dixièmes de seconde d'attente avant le chargement de l'image. Cette option sert aussi à définir des chiens de garde pour l'introduction des mots de passe. La valeur par défaut correspond à une attente infinie. © Copyright 2004 Stéphane Gill Page 3 Les gestionnaires d'amorçage LILO et GRUB Enregistrer la configuration LILO Dans la section précédente, nous avons décrit comment relier LINUX et d’autres systèmes d’exploitation au moyen de LILO, de façon à pouvoir procéder à un choix au démarrage de l’ordinateur. Après la modification du fichier de configuration il faut enregistrer la configuration à l’aide de la commande /sbin/lilo. Après l’appel de la commande /sbin/lilo, le système cherche automatiquement le fichier /etc/lilo.conf. Le fichier /etc/lilo.conf est lu et les choix de système d’exploitation sont enregistrés. # /sbin/lilo Added linux * Added dos # Exemple : Enregistrer la configuration de lilo se trouvant dans le fichier /etc/lilo2.conf : /sbin/lilo –C /etc/lilo2.conf Supprimer LILO du MBR Sous MS-DOS pour éliminer LILO du MBR il suffit d’utiliser la commande suivante : C :> FDISK /MBR et sous Linux : # /sbin/lilo –u Création d’une disquette de démarrage LILO La commande mkbootdisk permet de créer une disquette de démarrage LILO. Il faut d’abord insérer un disquette formatée puis taper la commande : © Copyright 2004 Stéphane Gill Page 4 Les gestionnaires d'amorçage LILO et GRUB # mkbootdisk --device /dev/fd0 2.2.18 Le numéro 2.2.18 spécifie le numéro du noyau, il faut donc que le noyau /boot/vmlinuz-2.2.18 existe. Utilisation de GRUB GRUB possède un interpréteur de commande, « grub-shell », qui peut être démarrer à partir de Linux. $ /sbin/grub Les premières lignes affichées sont explicites : GRUB version 0.5.97 (640K lower / 3072K upper memory) [ Minimal BASH-like line editing is supported. TAB lists possible command completions. For the first word, Anywhere else TAB lists the possible completions of a device/filename. ] grub> Pour afficher la liste des commandes internes, il suffit d’appuyer sur la touche <TAB> sur la ligne de commande, voici le résultat : grub> Possible commands are: blocklist boot cat chainloader cmp color configfile debug device displayapm displaymem embed find fstest geometry halt help hide impsp robe initrd install ioprobe kernel lock makeactive map md5crypt module moduleno unzip partnew parttype password pause quit read reboot root rootnoverify savedefault serial setkey setup terminal testload testvbe unhide uppermem vbeprobe L'intégralité des commandes est documentée en ligne. La commande help <commande> affiche une description de <commande>. Exemple : Afficher l'aide pour la commande root : grub> help root root: root [DEVICE [HDBIAS]] © Copyright 2004 Stéphane Gill Page 5 Les gestionnaires d'amorçage LILO et GRUB Set the current "root device" to the device DEVICE, then attempt to mount it to get the partition size (for passing the partition descriptor in `ES:ESI', used by some chain-loaded gestionnaire . . . Désignation des périphériques de stockage Pour GRUB, il n'existe pas de différence entre des disques IDE ou SCSI, ils sont tous appelés de la même façon : hdN où N est un entier. Le premier disque trouvé est désigné par hd0, le deuxième par hd1, etc... La désignation d’une unité de données (disque ou partition), se fait en plaçant son nom entre parenthèses. (hd0) signifie donc que l'on désigne non pas une commande mais un périphérique, et que cette unité est le premier disque dur. Une disquette sera désignée par le préfixe fd, avec le même système de numérotation. (fd0) désigne donc la première unité de disquette. Enfin, les périphériques réseau, (nd), existe lorsque le réseau a été initialisé. Désignation des partitions Pour désigner une partition sur une unité physique, on fait suivre la désignation de l'unité physique par une virgule et l'identifiant de la partition. Ainsi hd0,0 désigne la première partition sur le premier disque dur. A noter que l'écriture (hd0) est tout à fait légitime : dans ce cas on désigne le périphérique (disque) dans son intégralité. Cette notation est utile pour accéder au MBR, comme le MBR n'appartient à aucune partition. De même, dans le cas d'une disquette qui n'est pas partionnable on utilisera également la syntaxe (fd0). Désignation des fichiers par leur nom Lorsque le système de fichiers est supporté par GRUB, il est possible d’accéder en appelant les fichiers en utilisant leur nom. Ainsi : © Copyright 2004 Stéphane Gill Page 6 Les gestionnaires d'amorçage LILO et GRUB (hd2,4)/vmlinuz désigne le fichier vmlinuz situé à la racine du système de fichiers existant sur la 5ème partition du troisième disque dur. Désigner un périphérique par défaut La commande root permet de désigner un périphérique par défaut. L’utilisation de root permet d’éviter d'avoir à re-désigner à chaque commande le périphérique. Exemple : # root (hd0,0) stipule donc que le système de fichiers par défaut est celui existant sur la première partition du premier disque dur. Note : Pour visualiser les périphériques disponibles invoquer la commande « root » et appuyer sur TAB. Puis, entrer la commande « root (hd2, » et appuyer sur TAB pour obtenir la liste des partitions et du type de système de fichiers présents sur le troisième disque dur. Commandes de base pour charger un noyau La commande kernel permet d’identifier le noyau qui doit être chargé. Exemple : Charger le noyau vmlinuz-2.10.4 qui se trouve sur la première partition du premier disque IDE. kernel (hd0,0)/tartempion-linux root=/dev/hda2 Les paramètres passés au noyau doivent utiliser une syntaxe compréhensible par le noyau. Dans l’exemple précédent « root=/dev/hda2 » est paramètre passé au noyau. Maintenant que le noyau est identifié, il doit être chargé à l’aide de la commande : boot Dans le cas d'un noyau non supporté, il faudra passer la main à l'amorceur spécifique du système, via la commande chainloader. Exemple : Démarrer Windows XP aui ce trouve sur la deuxième partition du deuxième disque : © Copyright 2004 Stéphane Gill Page 7 Les gestionnaires d'amorçage LILO et GRUB chainloader (hd0,1)+1 boot Création d’une disquette de démarrage GRUB L’installation le GRUB sur une disquette débute par la création d’un système de fichiers ext2 sur une disquette vierge. # mke2fs /dev/fd0 Créer sur la disquette les deux répertoires /mnt/floppy/boot et /mnt/floppy/boot/grub : mount -t ext2 /dev/fd0 /mnt/floppy mkdir /mnt/floppy/boot mkdir /mnt/floppy/boot/grub Copier les fichiers stage1 et stage2 dans le répertoire grub de la disquette : cp /boot/grub/stage? /mnt/floppy/boot/grub Maintenant, que tous les fichiers sont en place, il faut rendre la disquette amorçable. umount /dev/fd0 /sbin/grub Lorsque l’invite de GRUB apparaît, taper les commandes suivantes : grub> root (fd0) grub> setup (fd0) grub> quit La commande setup (fd0) permet d’installer GRUB dans le « boot sector » de la disquette. Installer le GRUB sur le disque dur L’installation de GRUB sur un disque dur ce fait en deux étapes : • La personnalisation du fichier menu.lst; • L’installation de GRUB dans le MBR. © Copyright 2004 Stéphane Gill Page 8 Les gestionnaires d'amorçage LILO et GRUB Personnaliser le fichier "menu.lst" À cette étape, la suite des commandes qui permet de démarrer vos systèmes d'exploitation doit être connue. Il suffit donc d'inscrire ces commandes dans le fichier menu.lst. Exemple de fichier menu.lst : # Demarrer Linux title Linux 2.2.18 kernel (hd0,0)/vmlinuz-2.2.18 root=/dev/sda2 # Demarrer Windows title Windows rootnoverify (hd1,1) makeactive (hd1,1) chainloader (hd1,1)+1 A noter que par défaut la commande boot est exécutée à l'issue de chaque séquence de commandes associée à un titre. Installation D'abord, GRUB doit être installé correctement sur votre système, depuis les sources ou depuis un paquetage RPM. GRUB est accompagné d'images de démarrage, qui sont normalement installées dans le répertoire /usr/share/grub/i386-pc. Les fichiers stage1, stage2, et stage1_5 doivent être copié dans le répertoire /boot/grub. Par la suite, créer un fichier menu.lst dans le répertoire /boot/grub. Finalement, GRUB doit être installé dans le MBR. Pour ce faire, l’interpréteur de GRUB est démarré. # grub et les commandes suivantes sont exécutées : grub> root (hd0,0) grub> find /boot/grub/stage1 grub> setup (hd0) © Copyright 2004 Stéphane Gill Page 9 Les gestionnaires d'amorçage LILO et GRUB La commande find, permet de rechercher le fichier /boot/grub/stage1 et ainsi de s’assurer que le fichier stage1 est au bon endroit. Pour installé GRUB sur le secteur de démarrage d'une partition au lieu du MBR, précisez la partition sur laquelle GRUB doit être installé à l’aide de la commande : grub> setup (hd0,0) Maintenant, Linux peut être démarrer. Changement de niveau d'exécution au démarrage Il est possible de changer le niveau d'exécution au démarrage. En passant comme paramètre au noyau le niveau d’exécution désiré. Si vous utilisez LILO comme chargeur de démarrage, accédez à l'invite boot: en tapant [Ctrl]-[X]. Ensuite, entrez: linux <numéro-d'exécution> Dans cette commande, remplacez <numéro-d'exécution> par le numéro du niveau d'exécution auquel vous souhaitez que le démarrage soit amorcé (de 1 à 5), ou les mots single ou emergency. Si vous utilisez GRUB comme chargeur de démarrage, suivez les étapes suivantes: À l'écran de chargeur de démarrage graphique GRUB, sélectionnez le label de démarrage Red Hat Linux et appuyez sur [e] pour l'éditer. À l'aide de la flèche bas, aller jusqu'à la ligne de noyau et appuyez sur [e] pour l'éditer. À l'invite, tapez le numéro du niveau d'exécution souhaité (de 1 à 5) ou les mots single ou emergency et appuyez sur [Entrée]. Vous retournerez à l'écran GRUB avec les informations sur le noyau. Appuyez sur la touche [b] pour démarrer le système. © Copyright 2004 Stéphane Gill Page 10 Les gestionnaires d'amorçage LILO et GRUB Mode de secours Le mode de secours est une méthode permettant de démarrer un petit environnement Linux entièrement à partir du CD d’installation. Normalement, vous devez entrer en mode de secours dans une ou deux situations : • Vous ne parvenez pas à démarrer Linux et vous aimeriez régler ce problème. • Vous avez des problèmes de matériel ou de logiciel et souhaitez retirer quelques fichiers importants du disque dur de votre système. Pour démarrer le système en mode de secours : • Démarrer le système à partir du CD-ROM d’installation; • entrez le paramètre suivant à l'invite de LILO boot: linux rescue Références « Red Hat Linux 9 : Guide de référence Red Hat ». Red Hat Inc., 2003. Jeffrey Dean « LPI Linux Certification in a Nutshell, A Desktop Quick Reference », O’Reilly, 2001. GRUB-HOWTO (Thierry Laronde) La documentation de GNU GRUB © Copyright 2004 Stéphane Gill Page 11