- GRUB
-
GRand Unified Bootloader
GNU GRUB Développeur Projet GNU Dernière version 1.97 (beta 3) (le 12 septembre 2009) [+/-] Type Chargeur d'amorçage Licence GNU GPL 3 Site Web www.gnu.org/software/grub Grub (acronyme de GRand Unified Bootloader) est un programme de multiboot, libre, au même titre que LILO (Linux loader), qui permet de choisir au démarrage de son ordinateur entre plusieurs systèmes d'exploitation.
Ses avantages sont notamment la gestion d'autres systèmes que Linux et Windows (utile pour Hurd, Solaris, FreeBSD et OpenBSD), la lecture de la configuration au démarrage (pas besoin de réinstaller GRUB dans le secteur d'amorçage après un changement de configuration, contrairement à LILO), une ligne de commande permettant de changer la configuration au démarrage et surtout la reconnaissance en natif de divers systèmes de fichiers existants. Il possède également une sorte de langage de commande simple permettant de « rattraper » un boot qui se serait mal passé, suite au mauvais adressage d'une partition, par exemple.
Grub doit être capable de reconnaître tous les systèmes de fichiers sur lesquels il pourrait être amené à démarrer. Il est pour cette raison beaucoup plus volumineux que LILO.
Il fait partie du projet GNU.
Sommaire
Fonctionnalités
- Contrairement à LILO, GRUB n'a pas besoin d'être réinstallé pour mettre à jour sa configuration. GRUB prend en compte les modifications de son fichier de configuration dynamiquement.
- Au cas où le fichier de configuration serait incorrect, GRUB peut fournir un interpréteur de commandes pour permettre à l'utilisateur de charger un système d'exploitation manuellement.
- GRUB est très portable : il permet de charger aussi bien des systèmes compatibles avec le multiboot que des systèmes non-compatibles avec cette fonction (comme Microsoft Windows). GRUB supporte en outre beaucoup de systèmes de fichiers comme ext3, VFAT ou NTFS. GRUB est également compatible avec le mode Logical block addressing (LBA).
- GRUB peut être utilisé avec différentes interfaces. Beaucoup de distributions GNU/Linux utilisent le support graphique de GRUB pour afficher au démarrage de l'ordinateur un menu avec une image de fond, et parfois une prise en charge de la souris.
- GRUB peut télécharger des images de systèmes d'exploitation depuis un réseau, et supporte donc les ordinateurs sans disques. GRUB peut donc décompresser ces images pour les charger ensuite.
Fonctionnement
Quand l'ordinateur est allumé, le BIOS cherche un disque sur lequel démarrer et transfère le contrôle au secteur d'amorçage ou Master Boot Record (MBR), correspondant aux 512 premiers octets de ce disque.
A cause de la faible taille du MBR, celui-ci contient seulement la Partie 1 de GRUB. Cette partie se contente de charger la partie suivante de GRUB (qui elle peut se trouver n'importe où sur le disque). La Partie 1 peut directement charger la Partie 2, ou charger la Partie 1.5, qui se trouve dans les 30 kilooctets suivant le MBR. Cette Partie 1.5 charge ensuite la Partie 2.
Quand la Partie 2 est chargée, elle affiche une interface à l'utilisateur et ce dernier peut choisir quel système d'exploitation charger. Habituellement, cette interface est un menu graphique, mais si ce dernier n'est pas disponible ou si l'utilisateur souhaite obtenir un plus grand contrôle, GRUB peut fournir son propre interpréteur de commandes et l'utilisateur peut taper ses paramètres de démarrage personnalisés. GRUB peut également charger, après une période donnée, un système d'exploitation configuré par défaut.
Une fois le système choisi, GRUB le charge et lui transfère le contrôle de la machine.
Installation
A l'inverse de LILO, GRUB n'a pas besoin d'être réinstallé dans le MBR à chaque modification de son fichier de configuration.
Dans un système GNU/Linux, la commande grub-install est uniquement utilisée pour installer la Partie 1 de GRUB dans le MBR ou dans une partition. Les fichiers de configuration de GRUB doivent se trouver sur une partition utilisable, et dans le cas contraire, la Partie 1 exécute l'interpréteur de commandes automatiquement.
Le nom et l'emplacement de ce fichier varient d'un système à un autre. Par exemple, dans la distribution Debian GNU/Linux, ce fichier est situé dans
/boot/grub/menu.lst
, alors que Fedora Core le place dans/boot/grub/grub.conf
(ce dernier utilise un lien symbolique à l'emplacement/etc/grub.conf
et qui pointe vers/boot/grub/grub.conf
pour des raisons de compatibilité).De plus, GRUB peut être installé sur un disque amovible, comme une disquette, un CD ou une clé USB pour charger un système qui ne pourrait démarrer directement depuis son propre disque.
Configuration Basique
La configuration n'est pas extrêmement complexe, il faut connaître :
- Le périphérique où se trouve le noyau (kernel) :
hd0 : correspond au premier disque hd1 : correspond au deuxième disque hd0,2 : correspond au premier disque, 3eme partition.
- Le nom du kernel
- Le nom du initrd si besoin.
- Puis : boot
Grâce à un système de prompt interactif grub gère la completion, ceci permet de retrouver les noms de disque/kernel/initrd si le menu de chargement ne fonctionne plus. Dans le fichier /boot/grub/menu.lst, se trouve les éléments de couleurs et timeout pour le menu. Par la suite sont définis les uns en dessous des autres les kernel qu'il est possible de charger.
default 0 timeout 5 # foreground = ffffff background = 000000 # splashimage=(hd0,1)/boot/grub/leaf_splash.xpm.gz # title Gentoo root (hd0,1) kernel /boot/vmlinuz root=/dev/sda2 quiet # title Windows root (hd1) chainloader +1
Pour la partie Microsoft, il n'y a pas de noyau spécifique à charger, l'astuce consiste à choisir le bon disque puis de débuter sur le premier octet de ce disque via "chainloader +1". La commande boot permet de lancer l'exécution.
Développement
Le terme GRUB fait généralement référence à GRUB Legacy. Cette version continue de recevoir des patchs, mais plus aucune nouvelle fonction n'est ajoutée. Les développeurs de GRUB ont décidé de se concentrer sur GRUB 2 : une réécriture complète du programme pour le rendre plus sûr, plus propre, plus puissant et plus robuste.
GNU GRUB 2
Véritable suite de GRUB, GNU GRUB 2 est appelée à devenir la nouvelle version utilisée. Les développeurs prévoient donc[1] :
- de pouvoir scripter GRUB, avec des structures comme les boucles ou les conditions ;
- une interface graphique ;
- un système pour charger les modules à l'exécution, plutôt que d'alourdir la compilation ;
- une portabilité accrue ;
- le support des caractères non-ASCII.
- le support du système de fichiers ext4 depuis le 13 juillet 2008.
Notes et références
Voir aussi
Autres chargeurs d'amorçage
- NTLDR, sur Windows 2003 et les versions qui l'ont précédé (NB : il a été remplacé par "bootloader.exe")
- LILO, un prédécesseur de grub, plus compact
- GAG, qui tient en entier sur le secteur d'amorçage (Master Boot Record)
- AiR-Boot, qui tient en entier sur le secteur d'amorçage (Master Boot Record)
- XOSL
Liens externes
- (en) GRUB 2
- (en) GRUB
- (fr) Manuel en français
- (en) Super Grub Disk (libre) CD Rom, USB ou Disquette Bootable qui permet de restaurer GRUB. (Disponible en Français)
- (en) PXE Grub
- un chargeur GRUB pour Windows
- quelques explications en français pour installer démarrer Linux depuis le chargeur NTLDR de Microsoft
- Portail GNU/Linux
- Portail des logiciels libres
- Portail de l’informatique
Catégories : Amorçage de l'ordinateur | Logiciel du projet GNU
Wikimedia Foundation. 2010.