Node:Top, Noeud «Next», Noeud «Up»(dir)

Utiliser GRUB

Ceci est la documentation de GNU GRUB, the GRand Unified Bootloader, un chargeur flexible et puissant pour PCs.

Cette édition documente la version 0.92.


Node:Introduction, Noeud «Next», Noeud «Previous»:Top, Noeud «Up»Top

Introduction à GRUB

Ce manuel documente l'aspect de GRUB visible par l'utilisateur. Si vous cherchez des informations sur le fonctionnement interne, Top.


Node:Apercu, Noeud «Next», Noeud «Up»Introduction

Aperçu

Brièvement, le chargeur (boot loader en Anglais) est le premier logiciel qui s'exécute quand un ordinateur démarre. C'est lui qui charge et transfère le contrôle au logiciel noyau d'un système d'exploitation (comme Linux ou GNU Mach). Le noyau, à son tour, initialise le reste du système d'exploitation (ex. un système GNU).

GNU GRUB est un chargeur très puissant, qui peut démarrer une grande variété de systèmes d'exploitation libres, ainsi que des systèmes d'exploitation propriétaires avec la technique du chain-loading1. GRUB est conçu pour gérer la complexité du démarrage d'un PC; le programme et ce manuel sont limités à cette plate-forme d'ordinateur, bien que des portages vers d'autres plate-formes puissent être envisagés par la suite.

La flexibilité est une des caractéristiques importantes de GRUB; GRUB reconnaît les systèmes de fichiers et les formats des noyaux, vous pouvez donc charger un système d'exploitation arbitraire comme vous voulez, sans enregistrer la position physique du noyau sur le disque.

Ainsi, vous pouvez charger le noyau en spécifiant simplement le nom du fichier et le disque (ainsi que la partition) où le noyau est enregistré. Pour faire connaître à GRUB le disque et le nom du fichier, vous pouvez soit les entrer manuellement via l'interface en ligne de commande (voir Ligne de commande), soit utiliser l'agréable menu (voir Interface menu) qui vous permet de sélectionner facilement quel OS doit être démarré. Pour vous permettre de personnaliser le menu, GRUB lira un fichier de configuration (voir Configuration). Notez que vous pouvez non seulement utiliser l'interface en ligne de commande à n'importe quel moment, mais aussi éditer des entrées spécifiques du menu avant de les utiliser.

Dans les chapitres suivants, vous apprendrez comment spécifier un disque ou une partition, et un nom de fichier (voir Convention de nommage) à GRUB, comment installer GRUB sur votre disque (voir Installation), et comment démarrer vos OS (systèmes d'exploitation) étape par étape (voir Demarrage).


Node:Historique, Noeud «Next», Noeud «Previous»:Apercu, Noeud «Up»Introduction

Historique de GRUB

GRUB est né en 1995 quand Erich Boleyn essayait de démarrer le GNU/Hurd avec le microkernel Mach 4 de l'Université de l'Utah (maintenant connu sous le nom de GNU Mach). Erich et Brian Ford ont conçu la Spécification Multiboot (voir Top), car ils étaient déterminés à ne pas augmenter le grand nombre de méthodes de démarrage d'un PC, toutes incompatibles entre elles.

Erich a alors commencé la modification du chargeur de FreeBSD pour lui faire comprendre le format Multiboot. Il a rapidement réalisé qu'il lui serait beaucoup plus facile d'écrire son propre chargeur à partir de zéro plutôt que de continuer à travailler sur le chargeur de FreeBSD. GRUB était né.

Erich a ajouté de nombreuses fonctions à GRUB, mais d'autres priorités l'ont empêché de suivre les demandes du nombre croissant d'utilisateurs. En 1999, Gordon Matzigkeit et Yoshinori K. Okuji ont adopté GRUB comme un projet GNU officiel, et ont ouvert son développement en rendant les dernières sources disponibles via un accès CVS anonyme. Voir Obtenir et compiler GRUB, pour plus d'informations.


Node:Caracteristiques, Noeud «Next», Noeud «Previous»:Historique, Noeud «Up»Introduction

Caractéristiques de GRUB

La première exigence pour GRUB est d'être compatible avec la Spécification Multiboot, (voir Top).

Les autres objectifs, listés approximativement par ordre d'importance, sont:

À l'exception de modes de compatibilité spécifiques (chain-loading et le format piggyback de Linux), tous les noyaux seront démarrés pratiquement dans le même état que dans la Spécification Multiboot. Seuls les noyaux chargés en mémoire à 1MO ou au-delà sont actuellement supportés. Toute tentative de chargement en-dessous de cette limite échouera et un message d'erreur signalera le problème.

En plus des conditions précédentes, GRUB dispose des fonctionnalités suivantes (notez que ces fonctions ne sont pas toutes exigées par la Spécification Multiboot):

Reconnaissance de plusieurs formats d'exécutables:
Support de nombreuses variantes du format a.out et du format ELF. Les tables de symboles sont également chargées.
Support des noyaux non Multiboot
Support d'un grand nombre de noyaux 32-bits libres auxquels il manque la compatibilité Multiboot (FreeBSD, NetBSD, OpenBSD et Linux). Le chaînage d'autres chargeurs est aussi supporté.
Chargement de plusieurs modules
Support complet de la fonction Multiboot qui permet de charger plusieurs modules.
Lecture d'un fichier de configuration
Support d'un fichier de configuration lisible par l'homme qui prédéfinit les commandes de démarrage. Vous pouvez aussi ouvrir un autre fichier de configuration dynamiquement ou intégrer un fichier de configuration dans un fichier image de GRUB. La liste des commandes (voir Commandes) est une extension de celles supportées en ligne de commande. Un exemple de fichier de configuration est donné au Configuration.
Fournir une interface menu
Un menu listant les commandes de démarrage prédéfinies avec un délai d'attente ajustable, est disponible. Il n'y a pas de limite fixe quant au nombre d'entrées, et actuellement, il peut y en avoir jusqu'à plusieurs centaines.
Posséder une interface en ligne de commande flexible
Une ligne de commande vraiment flexible, accessible depuis le menu, permet d'éditer n'importe quelle commande prédéfinie ou bien d'ajouter de nouvelles entrées. Si aucun fichier de configuration n'est présent, GRUB affiche cette interface. La liste des commandes (voir Commandes) est un sous-ensemble de celles supportées dans les fichiers de configuration. Le comportement de la ligne de commandes est très proche de celui de Bash (voir Command Line Editing), avec la touche <TAB> qui permet de compléter les commandes, les noms de périphériques, de partitions, et de fichiers.
Support de plusieurs systèmes de fichiers
GRUB supporte plusieurs systèmes de fichiers de façon transparente, et une notation utile de listes de blocs. Les systèmes de fichiers actuellement supportés sont BSD FFS, DOS FAT16 et FAT32, Minix fs, Linux ext2fs, ReiserFS, JFS, XFS et VSTa fs. Voir Systeme de fichiers, pour plus d'informations.
Support de la décompression automatique
GRUB peut décompresser des fichiers compressés avec la commande gzip. Cette fonction est automatique et transparente pour l'utilisateur (toutes les fonctions utilisent le contenu décompressé des fichiers). La compression réduit nettement la taille d'un fichier ainsi que le temps de chargement, ce qui est particulièrement utile pour les disquettes2. Il est concevable que les modules d'un noyau puissent être chargés en étant compressés, c'est pourquoi une commande spéciale pour charger les modules peut-être utilisée afin d'éviter leur décompression.
Accès aux données sur n'importe quel disque installé
GRUB peut lire des données depuis n'importe quel lecteur de disquettes ou disque dur reconnu par le BIOS, sans tenir compte de la partition racine qui a été spécifiée.
Être indépendant des traductions de géométrie du disque
Contrairement à beaucoup d'autres chargeurs, le problème de traduction pour disque particulier ne se pose pas avec GRUB. Un disque installé et utilisé avec un mode de traduction peut être converti dans un autre mode sans effet sur la configuration de GRUB.
Détection de toute la RAM installée
GRUB peut généralement détecter tout la RAM installée sur une machine compatible PC. Il utilise une technique de recherche avancée du BIOS pour trouver toutes les parties de la mémoire. Comme décrit dans la Spécification Multiboot (voir Top), GRUB fournit cette information aux noyaux qui l'utilisent.
Support du mode Logical Block Address
Dans les accès traditionnels aux disques (appelé mode CHS), à cause d'un problème de traduction de géométrie, le BIOS ne peut pas lire au-delà des 1024 premiers cylindres, la taille accessible est donc limitée à 508 MO au minimum et 8 GO au maximum. GRUB ne peut pas résoudre ce problème dans tous les cas puisqu'il n'existe pas d'interface standard utilisée sur toutes les machines. Cependant, bon nombre d'entre elles possèdent une nouvelle interface, le mode Logical Block Address (LBA). GRUB détecte et utilise automatiquement ce mode s'il est disponible. Avec le mode LBA, GRUB peut accéder au disque en entier.
Support du démarrage depuis un réseau
GRUB est, à l'origine, un chargeur basé sur disque mais il possède un support réseau. Vous pouvez charger des images d'OS sur un réseau en utilisant le protocole TFTP.
Support de terminaux distants
Pour les ordinateurs sans console, GRUB fournit un support de terminaux distants, ce qui permet de le contrôler depuis un hôte distant. Seuls les terminaux série sont supportés pour le moment.

Node:Role du chargeur, Noeud «Previous»:Caracteristiques, Noeud «Up»Introduction

Rôle du chargeur

Le texte qui suit est une citation de Gordon Matzigkeit, un fanatique de GRUB:

Certaines personnes aiment féliciter le système d'exploitation et le noyau quand ils parlent de leurs ordinateurs, ainsi il peuvent dire qu'ils utilisent "GNU/Linux" ou "GNU/Hurd". D'autres personnes semblent penser que le noyau est la partie la plus importante du système, ainsi ils aiment appeler "système Linux"leur système d'exploitation GNU.

Personnellement, je pense qu'il s'agit d'une grave injustice, car le chargeur est le logiciel le plus important de tous. J'avais l'habitude de nommer ces systèmes soit "LILO"3 soit "GRUB".

Malheureusement, jamais personne n'a compris ce dont je parlais; maintenant, je n'utilise que le mot "GNU" comme un pseudonyme pour GRUB.

Donc, si vous entendez des personnes parler de leurs systèmes "GNU" présumés, souvenez-vous qu'ils rendent en fait hommage au meilleur chargeur...GRUB!

Nous, les mainteneurs de GRUB, n'encourageons pas (habituellement) le degré de fanatisme de Gordon, mais cela aide à se souvenir que les chargeurs méritent d'être reconnus. Nous espérons que vous apprécierez l'utilisation de GNU GRUB autant que nous avons aimé l'écrire.


Node:Convention de nommage, Noeud «Next», Noeud «Previous»:Introduction, Noeud «Up»Top

Convention de nommage

La syntaxe des périphériques utilisée dans GRUB est un tout petit peu différente de ce que vous avez pu voir avant avec vos systèmes d'exploitation, et vous devez savoir que c'est de cette manière que vous pourrez désigner un disque ou une partition.

Examinez les exemples et explications suivants:

(fd0)

Tout d'abord, GRUB exige que les noms de périphériques se trouvent entre ( et ). La partie fd signifie qu'il s'agit d'une disquette. Le nombre 0 représente le numéro du lecteur, qui est compté à partir de zéro. Cette expression veut dire que GRUB utilisera la disquette entière.

(hd0,1)

Ici, hd signifie qu'il s'agit d'un disque dur. Le premier nombre 0 indique le numéro du disque, qui est ici le premier disque, alors que le second entier 1 indique le numéro de la partition (ou le numéro de slice dans la terminologie BSD). Encore une fois, notez que les numéros de partitions sont déterminés à partir de zéro, et non depuis un. Cette expression désigne la deuxième partition du premier disque dur. Dans ce cas, GRUB n'utilise qu'une partition du disque à la place du disque entier.

(hd0,4)

Ceci désigne la première partition étendue du premier disque dur. Notez que les numéros des partitions étendues sont comptés à partir de 4, sans tenir compte du nombre réel de partitions primaires sur votre disque dur.

(hd1,a)

Cet exemple désigne la partition BSD a du second disque dur. Si vous avez besoin de spécifier le numéro de slice PC, utilisez quelque chose comme ceci: (hd1,0,a). Si le numéro de slice PC est omis, GRUB recherche le premier slice PC qui a la partition BSD a.

Évidemment, pour accéder aux disques ou aux partitions avec GRUB, vous devez utiliser ces notations dans une commande, comme root (fd0) ou unhide (hd0,2). Pour vous aider à trouver quelle partition vous voulez, la ligne de commande de GRUB (voir Ligne de commande) peut être complétée automatiquement. Cela signifie que, par exemple, vous n'avez qu'à entrer root (, suivi de la touche <TAB>, pour que GRUB vous affiche la liste des disques, des partitions et des noms de fichiers, ainsi il devrait être assez facile de déterminer le nom de la partition voulue, même avec seulement une connaissance minimale de la syntaxe.

Remarquez que GRUB ne distingue pas l'IDE du SCSI, il compte simplement les disques depuis zéro, sans faire attention à leur type. Normalement, les numéros des disques IDE sont inférieurs à ceux des disques SCSI, bien que cela ne soit pas exact si vous changez la séquence de démarrage du BIOS en inversant IDE et SCSI.

Maintenant, vous devez vous demander comment désigner un fichier. De nouveau, regardez cet exemple:

(hd0,0)/vmlinuz

Cette ligne désigne le fichier nommé vmlinuz qui se trouve sur la première partition du premier disque dur. Remarquez que les noms de fichiers peuvent également être complétés automatiquement.

Tout ceci était facile, admettez-le. Lisez le chapitre suivant pour savoir comment installer GRUB sur votre disque.


Node:Installation, Noeud «Next», Noeud «Previous»:Convention de nommage, Noeud «Up»Top

Installation

D'abord, vous devez avoir installé GRUB correctement sur votre système (voir Obtenir et compiler GRUB), depuis les sources, ou depuis un package pour votre système.

Pour utiliser GRUB, vous devez l'installer sur votre disque. Il y a deux manières pour cela - soit utiliser l'utilitaire grub-install, sur un OS de type Unix, soit utiliser le fichier Stage 2. Ils sont tous deux assez similaires, mais l'utilitaire peut trouver un disque incorrect, donc mieux vaut être prudent.

Ainsi, si vous installez GRUB sur un OS de type Unix, assurez-vous d'avoir une disquette de démarrage d'urgence, pour pouvoir toujours démarrer votre ordinateur si, pour une raison quelconque, votre disque dur devenait inutilisable (indémarrable).

GRUB est accompagné d'images de démarrage, qui sont normalement installées dans le répertoire /usr/share/grub/i386-pc. Vous devez copier les fichiers stage1, stage2, et *stage1_5 dans le répertoire /boot/grub. Par la suite, nous appellerons répertoire des images le répertoire où les images de GRUB sont installées, et répertoire de démarrage le répertoire où pourra GRUB les trouver.


Node:Creer une disquette de demarrage, Noeud «Next», Noeud «Up»Installation

Créer une disquette de démarrage

Pour créer une disquette de démarrage de GRUB, vous devez prendre les fichiers stage1 et stage2 pour les copier sur respectivement les premier et deuxième blocs de la disquette.

Attention: Cette procédure détruira toutes les données enregistrées sur la disquette.

Sur un système de type Unix, ceci est realisé avec les commandes suivantes:

# cd /usr/share/grub/i386-pc
# dd if=stage1 of=/dev/fd0 bs=512 count=1
1+0 records in
1+0 records out
# dd if=stage2 of=/dev/fd0 bs=512 seek=1
153+1 records in
153+1 records out
#

Les noms des fichiers de périphériques peuvent être différents, consultez le manuel de votre OS.


Node:Installer GRUB nativement, Noeud «Next», Noeud «Previous»:Creer une disquette de demarrage, Noeud «Up»Installation

Installer GRUB nativement

Attention: L'installation de stage1 de cette manière écrasera le secteur de démarrage normal de votre OS.

GRUB peut actuellement démarrer GNU Mach, Linux, FreeBSD, NetBSD et OpenBSD directement, donc l'utiliser sur un secteur de démarrage ne devrait pas poser de problème. Mais il est généralement préférable de faire une sauvegarde du secteur de démarrage de la partition où vous voulez installer le stage1 de GRUB. Ce n'est pas aussi important si vous l'installez sur le premier secteur d'un disque dur puisqu'il est facile de le réinitialiser (par exemple avec la commande FDISK /MBR depuis DOS).

Si vous décidez d'installer GRUB sur votre ordinateur, ce qui est préférable, vous aurez besoin d'une disquette de démarrage de GRUB et de redémarrer votre ordinateur avec. Sinon, voir Installer GRUB avec grub-install, pour plus de détails.

À son démarrage, GRUB affichera la ligne de commande (voir Ligne de commande). Définissez d'abord le disque racine4 vers le répertoire de démarrage:

grub> root (hd0,0)

Si vous n'êtes pas sûr de la partition qui contient les images, utilisez la commande find (voir find), comme ceci:

grub> find /boot/grub/stage1

Cette commande recherchera le fichier /boot/grub/stage1 et affichera les disques qui contiennent ce fichier.

Dès que vous avez défini correctement la partition racine, entrez la commande setup (voir setup):

grub> setup (hd0)

Cette commande installera GRUB sur le MBR du premier disque. Si vous voulez installer GRUB sur le secteur de démarrage d'une partition au lieu du MBR, précisez la partition sur laquelle vous voulez installer GRUB:

grub> setup (hd0,0)

Si vous installez GRUB sur une partition ou un disque autre que le premier, vous devez lancer GRUB depuis un autre chargeur. Consultez le manuel de votre chargeur pour savoir comment charger GRUB.

Maintenant vous pouvez démarrer GRUB sans disquette. Voir Demarrage pour savoir comment démarrer vos systèmes d'exploitation depuis GRUB.


Node:Installer GRUB avec grub-install, Noeud «Previous»:Installer GRUB nativement, Noeud «Up»Installation

Installer GRUB avec grub-install

Attention: Cette procédure est définitivement déconseillée parce qu'il y a de nombreuses possibilités pour que votre ordinateur devienne indémarrable. Par exemple, la plupart des systèmes d'exploitation ne donnent pas la correspondance entre les disques du BIOS et les disques de l'OS, GRUB essaie de deviner cette correspondance. La procédure réussit dans la plupart des cas, mais pas toujours. GRUB est donc accompagné d'un fichier de correspondances appelé carte des périphériques, que vous devez corriger s'il est faux. Voir Table de correspondances, pour plus de détails.

Malheureusement, vous devez appeler le programme grub-install (voir Invoquer grub-install) sous le compte du super-utilisateur (root) si vous voulez installer GRUB sous un OS de type Unix.

Il est très facile à utiliser. Vous devez seulement passer un argument au programme qui lui indique où installer GRUB. Cet argument peut être soit un fichier de périphérique, soit un disque ou une partition. Ainsi, cette commande installera GRUB sur le MBR du premier disque IDE sous Linux:

# grub-install /dev/hda

Sous le GNU/Hurd, ceci a le même effet:

# grub-install /dev/hd0

S'il s'agit du premier disque du BIOS, cette commande est également équivalente aux deux précédentes:

# grub-install '(hd0)'

Mais tous les exemples ci-dessus considèrent que les images de GRUB se trouvent dans le répertoire racine. Si vous voulez que GRUB utilise les images dans un autre répertoire, vous devez ajouter l'option --root-directory. Cette commande est typiquement utilisée pour créer une disquette de démarrage avec un système de fichiers. Voici un exemple:

# mke2fs /dev/fd0
# mount -t ext2 /dev/fd0 /mnt
# grub-install --root-directory=/mnt '(fd0)'
# umount /mnt

Un autre exemple est le cas où vous avez une partition de démarrage montée dans /boot. Puisque GRUB est un chargeur, il n'a pas du tout connaissance des points de montage. Vous devez donc appeler grub-install comme ceci:

# grub-install --root-directory=/boot /dev/hda

Comme expliqué précédemment, il est assez difficile de deviner les disques du BIOS correctement sous un OS de type Unix. C'est pourquoi grub-install vous demandera de vérifier s'il a pu correctement deviner les correspondances, après l'installation. Le format utilisé est défini dans Table de correspondances. Soyez assez attentifs. Si la sortie est fausse, il est peu probable que votre ordinateur puisse démarrer sans problème.

Notez que grub-install est en fait un simple script pour le shell et le travail est effectué par l'interpréteur GRUB, grub (voir Invoquer le shell grub). Vous pouvez lancer grub directement pour installer GRUB, sans passer par grub-install. Cependant, ne le faites pas si vous ne connaissez pas bien le fonctionnement interne de GRUB. Installer un chargeur sur un OS en marche peut être très dangereux.


Node:Demarrage, Noeud «Next», Noeud «Previous»:Installation, Noeud «Up»Top

Démarrage

GRUB peut charger les noyaux compatibles Multiboot de la même façon mais pour certains systèmes d'exploitation libres, vous devez utiliser des combinaisons spécifiques.


Node:Methodes generales, Noeud «Next», Noeud «Up»Demarrage

Comment démarrer des systèmes

GRUB dispose de deux méthodes de démarrage distinctes. La première consiste à charger un système d'exploitation directement, l'autre à lancer un autre amorceur qui chargera alors le système d'exploitation. En général, la première méthode est préférable puisque vous n'avez pas besoin d'installer ou de maintenir plusieurs gestionnaires et GRUB est assez flexible pour charger un système depuis un disque ou une partition arbitraire. Cependant, la seconde est parfois nécessaire, puisque GRUB ne supporte pas nativement tous les systèmes d'exploitation existants.


Node:Charger un systeme directement, Noeud «Next», Noeud «Up»Methodes generales

Comment démarrer un OS directement avec GRUB

GRUB supporte nativement le format Multiboot (voir Top). Pour rendre les choses plus pratiques, il prend également en charge Linux, FreeBSD, NetBSD et OpenBSD. Si vous voulez démarrer d'autres systèmes d'exploitation, il faudra passer par le chaînage d'amorceur (voir Chainage).

Généralement, GRUB peut amorcer n'importe quel OS compatible Multiboot en suivant les étapes suivantes:

  1. Positionnez la partition racine de GRUB sur le disque où se trouvent les images de l'OS au moyen de la commande root (voir root).
  2. Chargez l'image du noyau avec la commande kernel (voir kernel).
  3. Si vous avez besoin de modules, chargez-les avec la commande module (voir module) ou modulenounzip (voir modulenounzip).
  4. Entrez la commande boot (voir boot).

Linux, FreeBSD, NetBSD et OpenBSD peuvent être démarrés d'une manière similaire. Vous pouvez charger une image d'un noyau avec la commande kernel et ensuite entrer la commande boot. Si le noyau réclame des paramètres, ajoutez-les simplement à la commande kernel, après le nom de fichier du noyau. Voir Notes specifiques a certains OS pour obtenir des informations sur les particularités de votre OS.


Node:Chainage, Noeud «Previous»:Charger un systeme directement, Noeud «Up»Methodes generales

Amorcer un autre chargeur pour démarrer un système non supporté

Si vous voulez démarrer un système d'exploitation non supporté (comme Windows 95), chargez un autre gestionnaire d'amorçage. Normalement, le gestionnaire se trouve dans le secteur de démarrage de la partition sur laquelle est installé le système d'exploitation.

  1. Définissez la partition racine de GRUB avec la commande rootnoverify (voir rootnoverify):
    grub> rootnoverify (hd0,0)
    
  2. Positionnez le drapeau active de la partition avec makeactive5 (voir makeactive):
    grub> makeactive
    
  3. Chargez le gestionnaire d'amorçage avec la commande chainloader (voir chainloader):
    grub> chainloader +1
    

    +1 indique que GRUB doit lire un secteur à partir du début de la partition. Pour une description complète de cette syntaxe, voir Syntaxe des listes de blocs.

  4. Lancez la commande boot (voir boot).

Cependant, DOS et Windows ont des problèmes, ce qui peut vous obliger à utiliser des instructions plus compliquées. Voir DOS/Windows, pour plus d'information.


Node:Notes specifiques a certains OS, Noeud «Previous»:Methodes generales, Noeud «Up»Demarrage

Avertissements spécifiques à certains OS

Dans cette section, nous allons décrire certains problèmes des systèmes d'exploitation.


Node:GNU/Hurd, Noeud «Next», Noeud «Up»Notes specifiques a certains OS

GNU/Hurd

Puisque le GNU/Hurd est compatible Multiboot, il est facile de le démarrer; il n'y a rien de spécial en ce qui le concerne. Mais n'oubliez pas que vous devez préciser la partition racine au noyau.

  1. Positionnez la partition racine de GRUB sur la partition du GNU/Hurd. Une commande du type find /boot/gnumach peut vous aider (voir find).
  2. Chargez le noyau et le module, comme ceci:
    grub> kernel /boot/gnumach root=hd0s1
    grub> module /boot/serverboot
    
  3. Entrez la commande boot (voir boot).

Node:GNU/Linux, Noeud «Next», Noeud «Previous»:GNU/Hurd, Noeud «Up»Notes specifiques a certains OS

GNU/Linux

Il est relativement facile d'amorcer GNU/Linux depuis GRUB, parce que le processus ressemble à celui d'un OS compatible Multiboot.

  1. Positionnez la partition racine de GRUB sur celle de GNU/Linux. La commande comme find /vmlinuz peut vous aider (voir find).
  2. Chargez le noyau:
    grub> kernel /vmlinuz root=/dev/hda1
    

    Si vous avez besoin de passer des arguments au noyau, ajoutez-les simplement à la commande. Par exemple, pour positionner l'option vga sur ext, faites-ceci:

    grub> kernel /vmlinuz root=/dev/hda1 vga=ext
    

    Consultez la documentation dans les sources de Linux pour obtenir une information complète sur les options disponibles.

  3. Si vous utilisez un initrd, exécutez la commande initrd (voir initrd) après kernel:
    grub> initrd /initrd
    
  4. Enfin, lancez la commande boot (voir boot).

Attention: Si vous utilisez un initrd et que vous passez l'option mem= au noyau pour lui faire utiliser une taille de mémoire inférieure à la taille réelle, vous devrez également spécifier la même taille à GRUB. Pour cela, utilisez la commande uppermem avant de charger le noyau. Voir uppermem, pour plus d'information.


Node:FreeBSD, Noeud «Next», Noeud «Previous»:GNU/Linux, Noeud «Up»Notes specifiques a certains OS

FreeBSD

GRUB peut charger le noyau directement, au format ELF ou a.out. Mais ceci n'est pas recommandé, puisque l'interface de démarrage de FreeBSD change parfois considérablement, donc GRUB ne peut pas vous garantir qu'il passe correctement les paramètres au noyau.

Ainsi, nous vous recommandons d'amorcer à la place le chargeur très flexible /boot/loader. Regardez cet exemple:

grub> root (hd0,a)
grub> kernel /boot/loader
grub> boot

Node:NetBSD, Noeud «Next», Noeud «Previous»:FreeBSD, Noeud «Up»Notes specifiques a certains OS

NetBSD

GRUB peut charger NetBSD au format a.out et ELF directement, suivez ces étapes.

  1. Définissez la partition racine de GRUB avec root (voir root).
  2. Chargez le noyau avec kernel (voir kernel). Vous devez ajouter l'horrible option --type=netbsd si vous voulez charger un noyau ELF, comme ceci:
    grub> kernel --type=netbsd /netbsd-elf
    
  3. Lancez boot (voir boot).

Pour le moment, GRUB ne vous permet pas de passer des paramètres au noyau, donc il peut être préférable d'utiliser le chaînage d'amorceur, pour plus d'informations, voir Chainage.


Node:OpenBSD, Noeud «Next», Noeud «Previous»:NetBSD, Noeud «Up»Notes specifiques a certains OS

OpenBSD

Le processus de démarrage est exactement le même que pour NetBSD (voir NetBSD).


Node:DOS/Windows, Noeud «Next», Noeud «Previous»:OpenBSD, Noeud «Up»Notes specifiques a certains OS

DOS/Windows

GRUB ne peut pas démarrer DOS ou Windows directement, vous devez donc passer par le chain-loading (voir Chainage). Cependant, leurs chargeurs comportent de graves problèmes qui font que leur chaînage peut ne pas suffire. Pour dépasser ces problèmes, GRUB vous fournit deux fonctions utiles.

Si vous avez installé DOS (ou Windows) sur un disque qui n'est pas le premier, vous devez utiliser la technique d'échange de disques, parce que cet OS ne être démarré que sur le premier disque. Le problème est contourné avec la commande map (voir map), comme ceci:

grub> map (hd0) (hd1)
grub> map (hd1) (hd0)

Ceci échange virtuellement les premier et second disques durs.

Attention: Cela ne fonctionne que si DOS (ou Windows) utilise le BIOS pour accéder aux disques échangés. Si cet OS utilise un pilote spécial pour les disques, il est probable que cela ne marche pas.

Un autre problème se pose si vous avez installé plus d'une copie de DOS/Windows sur un disque, parce qu'ils peuvent être dérangés par l'existence de plusieurs partitions primaires pour DOS/Windows. Vous devriez certainement éviter ce genre de configuration, mais il existe une solution si vous décidez d'agir ainsi. Utilisez la technique de masquage/démasquage des partitions.

Si GRUB masque une partition DOS/Windows (voir hide), DOS/Windows ignore la partition. Si GRUB démasque une partition DOS/Windows, (voir unhide), il détecte la partition. Ainsi, si vous avez installé DOS (ou Windows) sur la première et la deuxième partition du premier disque dur, et que vous voulez démarrer la copie sur la première partition, faites comme ceci:

grub> unhide (hd0,0)
grub> hide (hd0,1)
grub> rootnoverify (hd0,0)
grub> chainloader +1
grub> makeactive
grub> boot

Node:SCO UnixWare, Noeud «Previous»:DOS/Windows, Noeud «Up»Notes specifiques a certains OS

SCO UnixWare

Il est connu que la signature du chargeur de SCO UnixWare est mauvaise, donc vous devrez passer l'option --force à la commande chainloader (voir chainloader), comme ceci:

grub> rootnoverify (hd1,0)
grub> chainloader --force +1
grub> makeactive
grub> boot

Node:Configuration, Noeud «Next», Noeud «Previous»:Demarrage, Noeud «Up»Top

Configuration

Vous avez probablement noté que vous devez taper plusieurs commandes pour amorcer votre OS. Il y a une solution à cela - GRUB fournit une interface avec menu (voir Interface menu) à partir de laquelle vous pouvez choisir un élément (en utilisant les touches de déplacement du curseur) qui fera tout le nécessaire pour amorcer un OS.

Pour disposer du menu, vous avez besoin d'un fichier de configuration, menu.lst sous le répertoire de boot. Nous analyserons un fichier d'exemple.

Le fichier contient d'abord quelques configurations générales, les options relatives à l'interface du menu. Vous pouvez mettre ces commandes (voir Commandes specifiques au menu) avant n'importe lequel de ces éléments (commençant par title (voir title).

#
# Fichier exemple de configuration de démarrage
#

Comme vous avez pu le deviner, ces lignes sont des commentaires. Des lignes commençant par un caractère dièse (#), et les lignes vides sont ignorées par GRUB.

# Par défaut, démarrer la première entrée
default 0

La première entrée (ici, on compte en partant de zéro, non un!) sera le choix de défaut.

# Démarrage automatique après 30 secs.
timeout 30

Comme le commentaire l'indique, GRUB amorcera automatiquement au bout de 30 secondes, à moins qu'on l'interrompe en pressant une touche.

# Retomber sur la deuxième entrée
fallback 1

Si, pour quelque raison, l'entrée par défaut ne fonctionne pas, retomber sur la deuxième entrée (ceci est rarement utilisé, pour des raisons évidentes).

Notez que les descriptions complètes de ces commandes, qui sont spécifiques à l'interface menu, sont dans Commandes specifiques au menu. D'autres descriptions sont disponibles dans Commandes.

Maintenant, passons aux définitions concrètes des OS. Vous verrez que chaque entrée commence par une commande spéciale, title (voir title), l'action étant décrite après elle. Notez qu'il n'y a aucune commande boot (voir boot) à la fin de chaque entrée. C'est parce que GRUB exécute automatiquement le boot s'il charge les autres commandes avec succès.

(NdT: j'avais noté dans la doc antérieure: il fait un boot si les commandes précédentes fournissent suffisamment d'info pour un boot)

L'argument pour la commande title est employé pour afficher un court titre ou description de l'entrée dans le menu. Puisque le title affiche l'argument tel que, vous pouvez écrire ce que vous voulez à cet endroit.

# Pour démarrer GNU/Hurd
title  GNU/Hurd
root   (hd0,0)
kernel /boot/gnumach.gz root=hd0s1
module /boot/serverboot.gz

Ceci démarre GNU/Hurd depuis le premier disque dur.

# Pour démarrer GNU/Linux
title  GNU/Linux
kernel (hd1,0)/vmlinuz root=/dev/hdb1

Ceci démarre GNU/Linux, mais depuis le deuxième disque dur.

# Pour démarrer Mach (en prenant le noyau sur une disquette)
title  Utah Mach4 multiboot
root   (hd0,2)
pause  Insérer la disquette maintenant^G!!
kernel (fd0)/boot/kernel root=hd0s3
module (fd0)/boot/bootstrap

Ceci démarre Mach avec un noyau sur une disquette, mais avec le système de fichier racine sur hd0s3. L'entrée comporte également une ligne pause, qui laisse GRUB afficher une invite et attendre, avant d'exécuter vraiment le reste des commandes et d'amorcer.

# Pour démarrer FreeBSD
title  FreeBSD
root   (hd0,2,a)
kernel /boot/loader

Cette entrée démarre le noyau FreeBSD chargé depuis la partition a de la troisième tranche PC du premier disque dur.

# Pour démarrer OS/2
title OS/2
root  (hd0,1)
makeactive
# chargement chainé du chargeur OS/2 depuis le premier secteur
chainloader +1
# Similaire à "chainload", mais en chargeant un fichier spécifique
#chainloader /boot/chain.os2

Ceci démarre OS/2, par un chargeur chaîné (voir Chainage).

# Pour démarrer Windows NT ou Windows95
title Menu de démarrage Windows NT / Windows 95
root        (hd0,0)
makeactive
chainloader +1
# Pour démarrer DOS si Windows NT est installé
# chainload /bootsect.dos

Même principe qu'auparavant, mais pour Windows.

# Pour installer GRUB sur le disque dur
title Installer GRUB sur le disque dur
root    (hd0,0)
setup   (hd0)

Ceci (ré)installera juste GRUB sur le disque dur.

# Changer les couleurs.
title Changer les couleurs
color light-green/brown blink-red/blue

Dans la dernière entrée, la commande color est utilisée (voir color), pour changer les couleurs du menu (essayez-la!). Cette commande est quelque peu spéciale, parce qu'elle peut être utilisée en ligne de commande et dans le menuline. GRUB a plusieurs commandes de ce type, voir Commandes generales.

Nous espérons que vous comprenez maintenant comment utiliser les fonctions de base de GRUB. Pour en apprendre plus au sujet de GRUB, voyez les chapitres suivants.


Node:Reseau, Noeud «Next», Noeud «Previous»:Configuration, Noeud «Up»Top

Télécharger des images d'OS depuis un réseau

Bien que GRUB soit un chargeur basé sur disque, il dispose d'un support pour un réseau. Pour utiliser un réseau, vous devez inclure au moins un pilote réseau au moment de la compilation de GRUB. Pour plus d'informations, consultez le fichier netboot/README.netboot qui se trouve avec les fichiers sources.


Node:Utilisation generale du support reseau, Noeud «Next», Noeud «Up»Reseau

Comment faire fonctionner votre réseau

GRUB requiert un serveur de fichiers et éventuellement un serveur qui assignera une adresse IP à la machine sur laquelle GRUB tourne. Pour le premier serveur, seul TFTP est supporté pour le moment. Le second peut être un serveur BOOTP, DHCP ou RARP6. Il n'est pas nécessaire de faire fonctionner les deux serveurs sur un seul ordinateur. La configuration de ces serveurs sort du cadre de ce document, consultez les manuels spécifiques à ces protocoles/serveurs.

Si vous avez décidé d'utiliser un serveur pour assigner une adresse IP, configurez le serveur et lancez bootp (voir bootp), dhcp (voir dhcp) ou rarp (voir rarp) pour BOOTP, DHCP ou RARP, respectivement. Chaque commande affichera l'adresse IP assignée, un masque de réseau, une adresse IP pour votre serveur TFTP et une passerelle. Si une des adresses est fausse ou cause une erreur, la configuration de vos serveurs n'est probablement pas correcte.

Sinon, entrez ifconfig, comme ceci:

grub> ifconfig --address=192.168.110.23 --server=192.168.110.14

Vous pouvez également utiliser ifconfig avec bootp, dhcp ou rarp (par exemple, pour réassigner l'adresse du serveur manuellement). Voir ifconfig, pour plus de détails.

Finalement, téléchargez les images de votre OS depuis le réseau. Vous pouvez y accéder avec le périphérique (nd). Le reste est très similaire aux instructions normales (voir Demarrage).

Voici un exemple:

grub> bootp
Probing... [NE*000]
NE2000 base ...
Address: 192.168.110.23    Netmask: 255.255.255.0
Server: 192.168.110.14     Gateway: 192.168.110.1

grub> root (nd)
grub> kernel /tftproot/gnumach.gz root=sd0s1
grub> module /tftproot/serverboot.gz
grub> boot

Node:Utilisation sans disque, Noeud «Previous»:Utilisation generale du support reseau, Noeud «Up»Reseau

Démarrage depuis un réseau

Il est de temps en temps pratique de démarrer depuis un réseau, spécialement quand vous utilisez une machine qui n'a pas de disque local. Dans ce cas, vous devez acquérir un type de Net Boot ROM, comme une PXE ROM ou un logiciel libre comme Etherboot. Ce type de ROM commence par démarrer la machine, configure la carte réseau installée sur la machine et télécharge la seconde image de démarrage depuis le réseau. Ensuite, la seconde image essaiera démarrer un système d'exploitation depuis le réseau.

GRUB fournit deux images, nbgrub et pxegrub (voir Images). Ces images sont identiques à Stage 2, sauf qu'elles activent un réseau automatiquement et essaient de télécharger un fichier de configuration depuis le réseau. Leur utilisation est très simple: si la machine possède une PXE ROM, utilisez pxegrub. Si la machine a un chargeur NBI comme Etherboot, utilisez nbgrub. Seul le format diffère entre les deux. Pour savoir comment charger la seconde image de démarrage que vous voulez utiliser, consultez le manuel de votre Net Boot ROM.

Cependant, GRUB a une particularité, qui est la manière de spécifier un fichier de configuration dans un serveur BOOTP/DHCP. Pour le moment, GRUB utilise le tag 150 pour obtenir le nom d'un fichier de configuration. Ce qui suit est un exemple de configuration d'un serveur BOOTP:

.allhost:hd=/tmp:bf=null:\
        :ds=145.71.35.1 145.71.32.1:\
        :sm=255.255.254.0:\
        :gw=145.71.35.1:\
        :sa=145.71.35.5:

foo:ht=1:ha=63655d0334a7:ip=145.71.35.127:\
        :bf=/nbgrub:\
        :tc=.allhost:\
        :T150="(nd)/tftpboot/menu.lst.foo":

Notez que vous devez indiquer le périphérique (nd) dans le nom du fichier de configuration, car vous pouvez changer la racine avant de télécharger le fichier de configuration depuis le serveur TFTP, quand le menu prédéfini est utilisé (voir Menu predefini).

Consultez le manuel de votre serveur BOOTP/DHCP pour plus d'informations. La syntaxe exacte peut être différente de l'exemple, plus ou moins.


Node:Terminal serie, Noeud «Next», Noeud «Previous»:Reseau, Noeud «Up»Top

Utiliser GRUB via une ligne série

Ce chapitre décrit comment utiliser le support d'un terminal série dans GRUB.

Si vous disposez de plusieurs ordinateurs ou d'ordinateurs sans écran/clavier, il serait très utile de les contrôler avec des communications série. Pour connecter un ordinateur avec un autre via une ligne série, vous devez préparer un cable série croisé null-modem, et vous pouvez avoir besoin de tableaux avec plusieurs ports série si votre ordinateur ne dispose pas de beaucoup de ports série. De plus, un émulateur de terminal est également requis, comme minicom. Réferrez-vous au manuel de votre système d'exploitation pour plus d'information.

Comme pour GRUB, les instructions pour activer un terminal série sont assez simples. Tout d'abord, assurez-vous que vous n'avez pas passé l'option --disable-serial au script configure quand vous avez compilé les images de GRUB. Si vous les avez obtenues sous forme binaire, vous disposez probablement déjà du support d'un terminal série.

Ensuite, initialisez votre terminal série après le démarrage de GRUB. Voici un exemple:

grub> serial --unit=0 --speed=9600
grub> terminal serial

La commande serial initialise l'unité série 0 à la vitesse de 9600bps. L'unité série 0 est habituellement appelée COM1, donc si vous voulez utiliser COM2, vous devez entrer --unit=1 à la place. Cette commande accepte de nombreuses autres options, voir serial pour plus de détails.

La commande terminal (voir terminal) détermine le type de terminal que vous voulez utiliser. Dans le cas précédent, le terminal sera un terminal série, mais vous pouvez également passer console à la commande, comme terminal serial console. Dans ce cas, un terminal dans lequel vous appuyez sur n'importe quelle touche sera sélectionnée comme un terminal GRUB.

Cependant, notez que GRUB suppose que votre émulateur de terminal est compatible VT100 par défaut. C'est le cas pour la plupart des émulateurs actuellement, mais vous devez passer l'option --dumb à la commande si votre terminal n'est pas compatible VT100 ou ne dispose que de quelques séquences d'échappement VT100. Si vous passez cette option, alors GRUB affiche un menu alternatif car le menu normal requiert plusieurs fonctionnalités particuliàres.


Node:Menu predefini, Noeud «Next», Noeud «Previous»:Terminal serie, Noeud «Up»Top

Intégrer un fichier de configuration dans GRUB

GRUB inclut le support d'un menu prédéfini qui est toujours chargé avant le démarrage. Cette fonction est utile, par exemple, quand votre ordinateur ne possède qu'un câble série comme console. Dans ce cas, il est nécessaire d'activer le terminal série le plus tôt possible, puisqu'aucun message ne peut être affiché avant que ce dernier ne fonctionne. Il est donc pratique d'exécuter les commandes serial (voir serial) et terminal (voir terminal) avant toute autre au démarrage.

Le fonctionnement du menu prédéfini est un peu complexe :

  1. GRUB vérifie si le menu prédéfini est utilisé, et le charge s'il est disponible. Ceci inclut l'exécution des commandes et la lecture des entrées de démarrage, comme pour un fichier de configuration ordinaire.
  2. GRUB vérifie si le fichier de configuration est disponible. Notez que cette action est exécutée que le menu prédéfini existe ou non. Le fichier de configuration est chargé, męme si le menu prédéfini a été lu.
  3. Si le menu prédéfini contient des entrées de démarrage, elles sont effacées quand le fichier de configuration est chargé. Ce dernier peut contenir zéro, une ou plusieurs entrées, cela n'a aucune importance. Les entrées de démarrage du menu de démarrage ne sont utilisées que lorsque GRUB ne parvient pas à lire le fichier de configuration.

Pour activer le menu prédéfini, vous devez indiquer un fichier au script configure avec l'option --enable-preset-menu. Le fichier possède le męme format que les fichiers de configuration normaux (voir Configuration).

Vous devez aussi faire attention au support diskless (voir Utilisation sans disque). Les images diskless incluent un menu prédéfini pour exécuter la commande bootp (voir bootp) automatiquement, sauf si vous précisez votre propre menu prédéfini au script configure. Vous devez donc ajouter les commandes nécessaires pour initialiser un réseau dans votre propre menu prédéfini, car les images diskless ne l'activent pas implicitement, quand vous utiliser explicitement le menu prédéfini.

Ainsi, un menu prédéfini typique utilisé avec le support diskless ressemblerait à ceci :

# Activer avant tout le terminal série.
serial --unit=0 --speed=19200
terminal --timeout=0 serial

# Initialisation du r´seau.
dhcp

Node:Securite, Noeud «Next», Noeud «Previous»:Menu predefini, Noeud «Up»Top

Protégez votre ordinateur d'un piratage

Comment empêcher les utilisateurs ordinaires de faire ce qu'ils veulent, si vous partagez votre ordinateur avec d'autres personnes, peut vous intéresser. Ce chapitre décrit comment améliorer la sécurité de GRUB.

Un point particulier peut être un trou de sécurité: l'utilisateur peut faire trop de choses avec GRUB, car GRUB permet de modifier sa configuration et de lancer des commandes arbitraires pendant son exécution. Par exemple, l'utilisateur peut même lire /etc/passwd dans l'interface en ligne de commande avec la commande cat (voir cat). Il est donc nécessaire de désactiver toutes les options interactives.

Ainsi, GRUB fournit une fonction mot de passe, pour que seuls les administrateurs ne puissent utiliser les opérations interactives (comme éditer des entrées du menu et utiliser la ligne de commande). Pour utiliser cette fonction, vous devez lancer la commande password dans votre fichier de configuration, comme ceci:

password --md5 PASSWORD

Quand cette commande est entrée, GRUB interdit tout contrôle interactif, jusqu'à ce que la touche <p> soit pressée et qu'un mot de passe correct soit entré. L'option --md5 informe GRUB que PASSWORD est au format MD5. Si elle est ommise, GRUB suppose que PASSWORD est en texte clair.

Vous pouvez crypter votre mot de passe avec la commande md5crypt (voir md5crypt). Par exemple, lancez le shell grub (voir Invoquer le shell grub), et entrez votre mot de passe:

grub> md5crypt
Password: **********
Encrypted: $1$U$JK7xFegdxWH6VuppCUSIb.

Ensuite, copiez le mot de passe crypté dans votre fichier de configuration.

Vous pouvez aussi passer un argument facultatif à password. Regardez cet exemple:

password PASSWORD /boot/grub/menu-admin.lst

Dans ce cas, GRUB chargera le fichier /boot/grub/menu-admin.lst comme son fichier de configuration quand un mot de passe valide est entré.

Il y a également un autre point dangereux: n'importe quel utilisateur peut choisir n'importe quelle entrée du menu. Habituellement, ce n'est pas un problème, mais vous pouvez vouloir restreindre l'exécution de certaines entrées aux seul administrateurs, comme une entrée qui démarre un système non sûr, DOS par exemple.

GRUB dispose d'une commande lock (voir lock). Cette commande échoue toujours sauf si vous avez entré un mot de passe correct, donc utilisez-la comme ceci:

title Démarrer DOS
lock
rootnoverify (hd0,1)
makeactive
chainload +1

Vous devriez insérer lock juste après title, car n'importe quel utilisateur peut exécuter les commandes d'une entrée jusqu'à ce que GRUB ne recontre lock.

Vous pouvez aussi utiliser la commande password à la place de lock. Dans ce cas, le processus de démarrage demandera le mot de passe et s'arrêtera s'il est incorrect. Puisque password prend son propre argument PASSWORD, vous pouvez utiliser différents mots de passe pour différentes entrées.


Node:Images, Noeud «Next», Noeud «Previous»:Securite, Noeud «Up»Top

Fichiers images de GRUB

GRUB consiste en plusieurs images: deux étapes essentielles, des étapes optionnelles appelées Stage 1.5, et deux images de démarrage réseau. Voici un petit aperçu de ces images. Voir Top, pour plus de détails.

stage1
C'est l'image essentielle utilisée pour lancer GRUB. D'habitude, elle est intégrée dans le MBR ou dans le secteur de démarrage d'une partition. Puisque la taille du secteur de démarrage d'un PC est de 512 octets, la taille de cette image est exactement 512 octets.

stage1 doit uniquement charger Stage 2 ou Stage 1.5 depuis un disque local. À cause d'une restriction de taille, stage1 écrit la position de Stage 2 (ou Stage 1.5) sous la forme d'une liste de blocs, il ne connaît jamais aucune structure de système de fichiers.

stage2
C'est l'image noyau de GRUB. Il se charge de tout sauf de son propre chargement. Il se trouve généralement dans un système de fichiers, mais ce n'est pas indispendable.
e2fs_stage1_5
fat_stage1_5
ffs_stage1_5
jfs_stage1_5
minix_stage1_5
reiserfs_stage1_5
vstafs_stage1_5
xfs_stage1_5
Ces images sont appelées Stage 1.5, car leur but est d'être un pont entre stage1 et stage2, c'est-à-dire Stage 1.5 est chargé par Stage 1 et Stage 1.5 charge Stage 2. stage1 et *_stage1_5 se différencient par le fait que le premier ne gère aucun système de fichiers, mais le second en gère un (par exemple e2fs_stage1_5 gère l'ext2fs). Vous pouvez donc changer de position Stage 2 en toute sécurité, même après l'installation de GRUB.

Alors que Stage 2 ne peut généralement pas être intégré dans une zone fixe à cause de sa grande taille, Stage 1.5 peut être installé dans la zone qui suit immédiatement le MBR, ou dans la zone du chargeur de ReiserFS ou de FFS.

nbgrub
C'est l'image de démarrage réseau pour le Network Image Proposal utilisé par certains chargeurs réseau, comme Etherboot. Il est pratiquement identique à Stage 2 mais il configure également un réseau et ouvre une fichier de configuration depuis le réseau.
pxegrub
C'est une autre image de démarrage réseau pour le Preboot Execution Environment utilisé par beaucoup de ROMs Netboot. Il est identique à nbgrub, à l'exception du format.

Node:Systeme de fichiers, Noeud «Next», Noeud «Previous»:Images, Noeud «Up»Top

Système de fichiers: syntaxe et sémantique

GRUB utilise une syntaxe spéciale pour spécifier les disques qui peuvent accédés par le BIOS. À cause de limitations du BIOS, GRUB ne peut faire aucune différence entre IDE, ESDI, SCSI, et autres. Vous devez connaître vous-même quel périphérique du BIOS est équivalent à tel disque pour l'OS. Normalement, la correspondance sera évidente si vous voyez les fichiers du disque, ou utilisez la commande find (voir find).


Node:Syntaxe des peripheriques, Noeud «Next», Noeud «Up»Systeme de fichiers

Comment désigner des périphériques

Voici la syntaxe des périphériques:

(device[,part-num][,bsd-subpart-letter])

[] signifie que le paramètre est optionnel. device devrait être fd ou hd, suivit d'un chiffre, comme fd0. Mais vous pouvez aussi donner une valeur décimale ou hexadécimale pour device, ce qui correspond au numéro du disque pour le BIOS. Ainsi, toutes ces expressions sont équivalentes:

(hd0)
(0x80)
(128)

part-num représente le numéro de la partition sur device, à partir de zéro pour les partitions primaires, de quatre pour les partitions étendues. bsd-subpart-letter représente le label BSD de la sous-partition, comme a ou e.

(device,bsd-subpart-letter) est un raccourci pour désigner une sous-partition BSD, dans ce cas, GRUB recherche la première partition qui contient un disklabel BSD, puis recherche la sous-partition bsd-subpart-letter. Voici un exemple:

(hd0,a)

La syntaxe (hd0) représente le disque entier (ou le MBR lors de l'installation de GRUB), alors que la syntaxe (hd0,0) représente une partition du disque (ou le secteur d'amorçage de la partition lors de l'installation de GRUB).

Si vous avez activé le support réseau, le disque spécial (nd), est également disponible. Avant d'utiliser le périphérique réseau, vous devez initialiser ce réseau. Voir Reseau, pour plus d'informations.


Node:Syntaxe des noms de fichiers, Noeud «Next», Noeud «Previous»:Syntaxe des peripheriques, Noeud «Up»Systeme de fichiers

Comment désigner des fichiers

Il existe deux manières de désigner des fichiers, par un nom de fichier absolu ou par une liste de blocs.

Un nom de fichier absolu ressemble au nom de fichier absolu sous Unix, qui utilise / comme séparateur de répertoires (et non \ comme sous DOS). Un exemple est (hd0,0)/boot/grub/menu.lst. Ceci désigne le fichier /boot/grub/menu.lst de la première partition du premier disque. Si vous ne précisez pas le périphérique, GRUB utilise le périphérique racine implicitement. Donc, si vous positionnez le périphérique racine sur, disons, (hd1,0) avec la commande root (voir root), alors /boot/kernel est identique à (hd1,0)/boot/kernel.


Node:Syntaxe des listes de blocs, Noeud «Previous»:Syntaxe des noms de fichiers, Noeud «Up»Systeme de fichiers

Comment désigner des listes de blocs

Une liste de blocs est utilisée pour désigner un fichier qui n'apparaît pas dans un système de fichiers, comme un chargeur chaîné. La syntaxe d'une liste de blocs est: [offset]+taille[,[offset]+taille]....

Voici un exemple:

0+100,200+1,300+300

GRUB lira les blocs 0 à 99, le bloc 200 et les blocs 300 à 599. Si vous omettez un offset, alors GRUB considère qu'il vaut zéro.

Comme pour les noms de fichiers (voir Syntaxe des noms de fichiers), si une liste de blocs ne contient pas de nom de périphérique, GRUB utilise le périphérique racine. Donc, (hd0,1)+1 est identique à +1 quand la racine est (hd0,1).


Node:Interface, Noeud «Next», Noeud «Previous»:Systeme de fichiers, Noeud «Up»Top

Interface utilisateur de GRUB

GRUB dispose d'une interface menu simple pour choisir des entrées prédéfinies, et une ligne de commande très flexible pour réaliser n'importe quelle combinaison de commande de démarrage.

GRUB cherche son fichier de configuration dès qu'il est lancé. S'il le trouve, alors l'interface menu complète est activée en utilisant les entrées trouvées dans le fichier. Si vous choisissez l'option ligne de commande du menu ou si le fichier de configuration n'a pas été trouvé, alors GRUB affiche la ligne de commande.


Node:Ligne de commande, Noeud «Next», Noeud «Up»Interface

La ligne de commande flexible

La ligne de commande affiche un message et fournit une zone de texte éditable, comme la ligne de commande d'Unix ou de DOS. Chaque commande est exécutée immédiatement après avoir été entrée 7. Les commandes (voir Commandes de la ligne de commande et du menu) sont un sous-ensemble de celles disponibles dans le fichier de configuration, elles s'utilisent exactement avec la même syntaxe.

Les mouvements de curseur et l'édition du texte sur la ligne peuvent être réalisés avec quelques fonctions disponibles dans l'interpréteur Bash:

<C-f>
<Flèche droite PC>
Avancer d'un caractère.
<C-b>
<Flèche gauche PC>
Reculer d'un caractère.
<C-a>
<HOME>
Se déplacer au début de la ligne.
<C-e>
<END>
Aller à la fin de la ligne.
<C-d>
<DEL>
Supprimer le caractère sous le curseur.
<C-h>
<BS>
Supprimer le caractère à gauche du curseur.
<C-k>
Supprimer le texte de la position actuelle du curseur à la fin de la ligne.
<C-u>
Supprimer du curseur au début de la ligne.
<C-y>
Remettre le texte supprimé à partir de la position du curseur.
<C-p>
<Flèche haut PC>
Remonter dans l'historique.
<C-n>
<Flèche bas PC>
Descendre dans l'historique.

Lors de la saisie interactive des commandes, si le curseur se trouve dans ou avant le premier mot de la ligne, la touche <TAB> (ou <C-i>) affichera une liste des commandes disponibles, et si le curseur se trouve après le premier mot, <TAB> complétera avec les noms de disques, de partitions et de fichiers selon le contexte.

Notez que vous ne pouvez pas utiliser cette fonction dans le système de fichiers TFTP. Cette limite est due à TFTP qui ne liste pas les noms de fichiers pour des raisons de sécurité.


Node:Interface menu, Noeud «Next», Noeud «Previous»:Ligne de commande, Noeud «Up»Interface

L'interface menu simple

L'interface menu est assez facile à utiliser. Ses commandes sont raisonnablement intuitives et décrites sur l'écran.

L'interface menu propose un choix parmi une liste d'entrées de démarrage à l'utilisateur. Utilisez les touches fléchées pour sélectionner l'entrée de votre choix, puis appuyez sur <ENTRÉE> pour la lancer. Un délai d'attente optionnel, annulé par n'importe quelle touche, permet de démarrer l'entrée par défaut (cette dernière est définie, mais pas le délai).

La touche <c> vous permet d'accéder à la ligne de commande, qui se comporte exactement comme la version de GRUB sans fichier de configuration, mais vous permet de retourner au menu avec la touche <ESC>. La touche <e> vous permet d'éditer n'importe quelle entrée de démarrage.

Si vous protégez l'interface menu avec un mot de passe (voir Securite), vous ne pouvez que choisir une entrée en appuyant sur <ENTRÉE>, ou appuyer sur <p> pour entrer un mot de passe.


Node:Editer une entree du menu, Noeud «Next», Noeud «Previous»:Interface menu, Noeud «Up»Interface

Éditer une entrée du menu

L'éditeur du menu ressemble beaucoup à l'interface menu principale, mais les lignes du menu sont les commandes individuelles de l'entrée sélectionnée, au lieu d'être les noms des entrées.

Si <ESC> est pressé dans l'éditeur, tous les changements sont annulés et GRUB retourne au menu principal.

Quand une ligne particulière est sélectionnée, l'éditeur place l'utilisateur dans une version spéciale de la ligne de commande de GRUB pour éditer cette ligne. Quand l'utilisateur appuie sur <ENTRÉE>, GRUB remplace la ligne en question dans l'entrée par celle modifiée (sauf si l'action est annulée via <ESC>, dans ce cas, les changements sont effacés).

Si vous voulez ajouter une nouvelle ligne à l'entrée, appuyez sur <o> pour l'ajouter après la ligne actuelle, et sur <O> pour l'ajouter avant.

Pour supprimer une ligne, appuyez sur <d>. Bien que GRUB ne supporte malheureusement pas l'annulation, vous pouvez faire presque la même chose en retournant au menu principal.


Node:Le menu cache, Noeud «Previous»:Editer une entree du menu, Noeud «Up»Interface

L'interface du menu caché

Quand votre terminal ne fonctionne pas totalement ou quand vous demandez explicitement à GRUB de masquer l'interface menu avec la commande hiddenmenu (voir hiddenmenu), GRUB n'affiche pas l'interface menu et démarre automatiquement l'entrée par défaut, sauf si vous pressez <ESC>.

Quand vous interrompez le délai d'attente et que votre terminal n'est pas totalement opérationnel, GRUB retourne en ligne de commande (voir Ligne de commande).


Node:Commandes, Noeud «Next», Noeud «Previous»:Interface, Noeud «Up»Top

Liste des commandes disponibles

Dans ce chapitre, nous listons toutes les commandes qui sont disponibles dans GRUB.

Les commandes appartiennent à différents groupes. Quelques unes ne peuvent être utilisées que dans la section globale du fichier de configuration (ou "menu"); la plupart peuvent être entrées sur la ligne de commande et utilisées dans le menu ou dans les entrées du menu.


Node:Commandes specifiques au menu, Noeud «Next», Noeud «Up»Commandes

Liste des commandes utilisables uniquement dans le menu

Les règles suivantes sont appliquées lors de l'analyse du fichier de configuration.

Seules les commandes suivantes peuvent être utilisées dans le menu.


Node:default, Noeud «Next», Noeud «Up»Commandes specifiques au menu

default

default num Commande
Définit l'entrée par défaut comme l'entrée numéro num. La numérotation commence à zéro, et l'entrée par défaut est 0 si cette commande n'est pas utilisée.

Vous pouvez passer saved au lieu d'un nombre. Dans ce cas, l'entrée par défaut est l'entrée sauvée avec la commande savedefault. Voir savedefault, pour plus d'information.


Node:fallback, Noeud «Next», Noeud «Previous»:default, Noeud «Up»Commandes specifiques au menu

fallback

fallback num Commande
Entrer dans un mode de démarrage non prévu: si l'entrée par défaut provoque une erreur, au lieu d'attendre une action de l'utilisateur, GRUB démarrera l'entrée num (même numérotation que pour la commande default (voir default). Cette option ne sera évidemment pas utile si la machine a été redémarrée par le noyau que GRUB a chargé.

Node:hiddenmenu, Noeud «Next», Noeud «Previous»:fallback, Noeud «Up»Commandes specifiques au menu

hiddenmenu

hiddenmenu Commande
Ne pas afficher le menu. Si la commande est utilisée, aucun menu ne sera affiché sur le terminal de contrôle, et l'entrée par défaut sera démarrée après expiration du délai d'attente. L'utilisateur peut toujours afficher le menu en appuyant sur la touche <ESC> avant l'expiration du délai d'attente. Voir aussi Le menu cache.

Node:timeout, Noeud «Next», Noeud «Previous»:hiddenmenu, Noeud «Up»Commandes specifiques au menu

timeout

timeout sec Commande
Définir un délai d'expiration, au bout de sec secondes, avant de démarrer automatiquement l'entrée par défaut (normalement définie par l'utilisateur).

Node:title, Noeud «Previous»:timeout, Noeud «Up»Commandes specifiques au menu

title

title name ... Commande
Commencer une nouvelle entrée de démarrage. Son nom est défini sur le reste de la ligne, en commençant par le premier caractère qui n'est pas une espace.

Node:Commandes generales, Noeud «Next», Noeud «Previous»:Commandes specifiques au menu, Noeud «Up»Commandes

Commandes générales

Commandes utilisables dans le menu et dans la ligne de commande.


Node:bootp, Noeud «Next», Noeud «Up»Commandes generales

bootp

bootp [--with-configfile] Commande
Initialise un périphérique réseau avec le protocole BOOTP. Cette commande n'est disponible que si GRUB a été compilé avec le support netboot. Voir aussi Reseau.

Si l'argument --with-configfile est passé à cette commande, GRUB téléchargera et lira le fichier de configuration spécifié par votre serveur BOOTP avec l'option 150.


Node:color, Noeud «Next», Noeud «Previous»:bootp, Noeud «Up»Commandes generales

color

color normal [highlight] Commande
Changer les couleurs du menu. La couleur normal est utilisée pour la plupart des lignes du menu (voir Interface menu), et la couleur highlight est utilisée pour la ligne sélectionnée. Si vous ne précisez pas highlight, alors la couleur inverse de normal est utilisée. Le format d'une couleur est foreground/background. foreground et background sont les noms symboliques des couleurs. Un nom symbolique de couleur doit faire partie de cette liste:
  • black (noir)
  • blue (bleu)
  • green (vert)
  • cyan (cyan)
  • red (rouge)
  • magenta (magenta)
  • brown (marron)
  • light-gray (gris clair)

    Les couleurs suivantes ne sont disponibles que pour les caractères (foreground).

  • dark-gray (gris foncé)
  • light-blue (bleu clair)
  • light-green (vert clair)
  • light-cyan (cyan clair)
  • light-red (rouge clair)
  • light-magenta (magenta clair)
  • yellow (jaune)
  • white (blanc)

Seuls les huit premiers noms peuvent être utilisés pour background. Vous pouvez ajouter le préfixe blink- à foreground si vous voulez faire clignoter le texte.

Cette commande peut être utilisée dans le fichier de configuration et dans la ligne de commande, vous pouvez donc écrire dans votre fichier de configuration quelque chose comme:

# Définir les couleurs par défaut
color light-gray/blue black/light-gray

# Changer les couleurs.
title OS-BS like
color magenta/blue black/magenta

Node:device, Noeud «Next», Noeud «Previous»:color, Noeud «Up»Commandes generales

device

device drive file Commande
Dans le shell grub, permet d'utiliser le fichier file comme s'il s'agissait du périphérique BIOS drive. Vous pouvez utiliser cette commande pour créer une image d'un disque, et/ou corriger les périphériques détectés par GRUB quand la détection automatique échoue, comme ceci:
grub> device (fd0) /floppy-image
grub> device (hd0) /dev/sd0

Cette commande n'est disponible que dans le shell grub (voir Invoquer le shell grub).


Node:dhcp, Noeud «Next», Noeud «Previous»:device, Noeud «Up»Commandes generales

dhcp

dhcp [--with-configfile] Commande
Initialise un périphérique réseau avec le protocole DHCP. Actuellement, cette commande n'est qu'un alias pour bootp, puisque les deux protocoles sont très similaires; Cette commande n'est disponible que si GRUB a été compilé avec le support netboot. Voir aussi Reseau.

Si l'argument --with-configfile est passé à cette commande, GRUB téléchargera et lira le fichier de configuration spécifié par votre serveur DHCP avec l'option 150.


Node:hide, Noeud «Next», Noeud «Previous»:dhcp, Noeud «Up»Commandes generales

hide

hide partition Commande
Masque la partition partition en positionnant le bit hidden (masquée) dans le code de type de partition. Cette commande n'est utile que pour démarrer DOS/Windows lorsque plusieurs partitions FAT primaires se trouvent sur un même disque. Voir aussi DOS/Windows.

Node:ifconfig, Noeud «Next», Noeud «Previous»:hide, Noeud «Up»Commandes generales

ifconfig

ifconfig [--server=serveur] [--gateway=passerelle] [--mask=masque] [--address=addresse] Commande
Configure manuellement l'adresse IP, le masque réseau, la passerelle et l'adresse du serveur d'un périphérique réseau. Les valeurs doivent être au format décimal, comme 192.168.11.178. L'ordre des options n'est pas important. Cette commande affiche la configuration actuelle, si aucune option n'est passée. Voir aussi Reseau.

Node:pager, Noeud «Next», Noeud «Previous»:ifconfig, Noeud «Up»Commandes generales

pager

pager [flag] Commande
Inverse ou définit l'état de l'affichage page par page. Si flag est on, il est est activé. Si flag est positionné sur off, il est désactivé. Si aucun argument n'est passé, l'état courant est inversé.

Node:partnew, Noeud «Next», Noeud «Previous»:pager, Noeud «Up»Commandes generales

partnew

partnew part type from to Commande
Crée une nouvelle partition primaire. part désigne la partition selon la syntaxe de GRUB (voir Convention de nommage); type est le type de la partition et doit être un nombre compris entre 0-0xff; from et to sont les secteurs de début et de fin, exprimés sous la forme d'un numéro de secteur absolu.

Node:parttype, Noeud «Next», Noeud «Previous»:partnew, Noeud «Up»Commandes generales

parttype

parttype part type Commande
Change le type d'une partition existante. part est la partition selon la syntaxe de GRUB (voir Convention de nommage); type est le nouveau type de la partition et doit être compris entre 0 et 0xff.

Node:password, Noeud «Next», Noeud «Previous»:parttype, Noeud «Up»Commandes generales

password

password [--md5] passwd [new-config-file] Commande
Si elle est utilisée dans la première section d'un fichier de menu, cette commande désactive l'édition interactive (éditeur d'entrées et ligne de commande) ainsi que les entrées protégées par la commande lock. Si le mot de passe passwd est entrée, la commande charge new-config-file comme nouveau fichier de configuration et redémarre Stage 2, si new-config-file est précisé. Sinon, GRUB débloquera les instructions privilégiées. Vous pouvez aussi utiliser cette commande dans la section de script, dans ce cas le mot de passe sera demandé pour continuer. L'option --md5 informe GRUB que passwd est crypté avec md5crypt (voir md5crypt).

Node:rarp, Noeud «Next», Noeud «Previous»:password, Noeud «Up»Commandes generales

rarp

rarp Commande
Initialise un périphérique réseau avec le protocole RARP. Cette commande n'est disponible que si GRUB a été compilé avec le support netboot. Voir aussi Reseau.

Node:serial, Noeud «Next», Noeud «Previous»:rarp, Noeud «Up»Commandes generales

serial

serial [--unit=unit] [--port=port] [--speed=speed] [--word=word] [--parity=parity] [--stop=stop] [--device=dev] Commande
Initialise un port série. unit est un numéro entre 0 et 3 qui désigne le port à utiliser; 0 par défaut, ce qui correspond au port souvent appelé COM1. port est le port d'E/S où se trouve l'UART; si cette option est passée, elle annule unit. speed est la vitesse de transmission; 9600 par défaut. word et stop sont les numéros des bits de données et d'arrêt. Les bits de données sont compris entre 5 et 8, les bits d'arrêt sont 1 ou 2. Par défaut, il y a 8 bits de données et un bit d'arrêt. parity est no (aucune), odd (impaire) ou even (paire), la valeur par défaut est no. L'option --device n'est utilisable que dans le shell grub pour désigner le périphérique tty à utiliser dans le système d'exploitation hôte (voir Invoquer le shell grub).

Le port série n'est pas utilisé comme une chaîne de communication sauf si la commande terminal est utilisée (voir terminal).

Cette commande n'est disponible que si GRUB a été compilé avec le support série. Voir aussi Terminal serie.


Node:setkey, Noeud «Next», Noeud «Previous»:serial, Noeud «Up»Commandes generales

setkey

setkey [to_key from_key] Commande
Change la table du clavier. La touche to_key remplace alors la touche from_key. Si aucun argument n'est passé, la commande réinitialise les correspondances des touches. Notez que cette commande n'échange pas les touches. Si vous voulez échanger les touches, entrez de nouveau la commande en inversant les arguments, comme ceci:
grub> setkey capslock control
grub> setkey control capslock

Une touche doit être une lettre, un numéro ou un de ces symboles:

escape, exclam, at, numbersign, dollar, percent, caret, ampersand, asterisk, parenleft, parenright, minus, underscore, equal, plus, backspace, tab, bracketleft, braceleft, bracketright, braceright, enter, control, semicolon, colon, quote, doublequote, backquote, tilde, shift, backslash, bar, comma, less, period, greater, slash, question, alt, space, capslock, FX (X est un numéro), et delete. Ce tableau décrit à quel charactère correspond chaque symbole:

exclam
!
at
@
numbersign
#
dollar
$
percent
%
caret
^
ampersand
&
asterisk
*
parenleft
(
parenright
)
minus
-
underscore
_
equal
=
plus
+
bracketleft
[
braceleft
{
bracketright
]
braceright
}
semicolon
;
colon
:
quote
'
doublequote
"
backquote
`
tilde
~
backslash
\
bar
|
comma
,
less
<
period
.
greater
>
slash
/
question
?
space
(espace)

Node:terminal, Noeud «Next», Noeud «Previous»:setkey, Noeud «Up»Commandes generales

terminal

terminal [--dumb] [--timeout=secs] [--lines=lines] [--silent] [console] [serial] [hercules] Commande
Sélectionne un terminal pour l'interaction avec l'utilisateur. Le terminal est supposé compatible VT100, sauf si --dumb est précisé. Si console et serial sont tous deux spécifiés, alors GRUB utilisera le premier dans lequel une touche est entrée, ou le premier si le délai d'expiration est passé. Si aucun des deux n'est passé, la configuration actuelle sera affichée. Cette commande n'est disponible que si GRUB a été compilé avec le support série. Voir aussi Terminal serie.

Cela ne sera probablement pas utile à la plupart des utilisateurs, mais GRUB inclut le support d'une console Hercules. Cette dernière est utilisable comme une console ordinaire, et la commande s'utilise comme pour les terminaux série : passez hercules en argument.

L'option --lines définit le nombre de lignes de voter terminal, et est utilisé pour le défilement page à page. Si vous ne passez pas cette option, le nombre de lignes est supposé être 24.

L'option --silent supprime le message demandant d'appuyer sur n'importe quelle touche. Ceci peut être utile si votre système ne possčde pas de terminal.


Node:tftpserver, Noeud «Next», Noeud «Previous»:terminal, Noeud «Up»Commandes generales

tftpserver

tftpserver ipaddr Commande
Attention: Cette commande n'existe que pour des raisons de compatibilité. Utilisez plutôt ifconfig (voir ifconfig).

Change l'adresse du serveur TFTP retournée par un serveur BOOTP/DHCP/RARP. L'argument ipaddr doit être au format décimal, comme 192.168.0.15. Cette commande n'est disponible que si GRUB a été compilé avec le support netboot. Voir aussi Reseau.


Node:unhide, Noeud «Previous»:tftpserver, Noeud «Up»Commandes generales

unhide

unhide partition Commande
Dé-masque la partition partition en enlevant le bit hidden (masqué) du code de type de la partition. Cette commande n'est utile que pour le démarrage de DOS/Windows avec plusieurs partitions primaires sur un disque. Voir aussi DOS/Windows.

Node:Commandes de la ligne de commande et du menu, Noeud «Previous»:Commandes generales, Noeud «Up»Commandes

Liste des commandes de la ligne de commande et du menu

Ces commandes sont utilisables avec la ligne de commande et dans les entrées du menu. Si vous oubliez une de ces commandes, vous pouvez utiliser la commande help (voir help).


Node:blocklist, Noeud «Next», Noeud «Up»Commandes de la ligne de commande et du menu

blocklist

blocklist file Commande
Affiche la notation en liste de blocs du fichier file. Voir Syntaxe des listes de blocs.

Node:boot, Noeud «Next», Noeud «Previous»:blocklist, Noeud «Up»Commandes de la ligne de commande et du menu

boot

boot Commande
Lance l'OS/le chargeur chaîné qui a été chargé. N'est nécessaire que pour le fonctionnement interactif en ligne de commande (cette commande est sous-entendue à la fin d'une entrée du menu).

Node:cat, Noeud «Next», Noeud «Previous»:boot, Noeud «Up»Commandes de la ligne de commande et du menu

cat

cat file Commande
Affiche le contenu du fichier file. Cette commande peut être utile pour vous souvenir de la partition racine de votre OS:
grub> cat /etc/fstab

Node:chainloader, Noeud «Next», Noeud «Previous»:cat, Noeud «Up»Commandes de la ligne de commande et du menu

chainloader

chainloader [--force] file Commande
Charge file comme chargeur chaîné. Comme n'importe quel autre fichier chargé par le code du système de fichiers, il peut utiliser la notation des listes de blocs pour charger le premier secteur de la partition actuelle avec +1. Si vous précisez l'option --force, alors file sera obligatoirement chargé, qu'il ait une signature correcte ou non. Cette option est nécessaire pour ouvrir des chargeurs défectueux, comme celui de SCO UnixWare 7.1 (voir SCO UnixWare).

Node:cmp, Noeud «Next», Noeud «Previous»:chainloader, Noeud «Up»Commandes de la ligne de commande et du menu

cmp

cmp file1 file2 Commande
Compare le fichier file1 avec file2. Si leurs tailles diffèrent, la commande affiche les tailles comme ceci:
Differ in size: 0x1234 [foo], 0x4321 [bar]

Si les tailles sont égales mais que le contenu diffère à un endroit, la commande affiche les valeurs comme ceci:

Differ at the offset 777: 0xbe [foo], 0xef [bar]

Si les fichiers sont complètement identiques, rien n'est affiché.


Node:configfile, Noeud «Next», Noeud «Previous»:cmp, Noeud «Up»Commandes de la ligne de commande et du menu

configfile

configfile file Commande
Charger le fichier de configuration file.

Node:debug, Noeud «Next», Noeud «Previous»:configfile, Noeud «Up»Commandes de la ligne de commande et du menu

debug

debug Commande
Basculer le mode débogage (par défaut inactif). Quand le mode débogage est activé, des messages supplémentaires sont affichés pour montrer l'activité des disques. Ce drapeau de débogage est principalement utile aux développeurs de GRUB pour tester un nouveau code.

Node:displayapm, Noeud «Next», Noeud «Previous»:debug, Noeud «Up»Commandes de la ligne de commande et du menu

displayapm

displayapm Commande
Affiche les informations APM du BIOS.

Node:displaymem, Noeud «Next», Noeud «Previous»:displayapm, Noeud «Up»Commandes de la ligne de commande et du menu

displaymem

displaymem Commande
Display what GRUB thinks the system address space map of the machine is, including all regions of physical RAM installed. GRUB's upper/lower memory display uses the standard BIOS interface for the available memory in the first megabyte, or lower memory, and a synthesized number from various BIOS interfaces of the memory starting at 1MB and going up to the first chipset hole for upper memory (the standard PC upper memory interface is limited to reporting a maximum of 64MB).

Node:embed, Noeud «Next», Noeud «Previous»:displaymem, Noeud «Up»Commandes de la ligne de commande et du menu

embed

embed stage1_5 device Commande
Intègre l'image Stage 1.5 stage1_5 dans les secteurs après le MBR si device est un disque, ou dans la zone du chargeur si device est une partition FFS ou ReiserFS8. La commande affiche le nombre de secteurs occupés par stage1_5, si elle réussit.

Habituellement, vous n'avez pas besoin de lancer cette commande directement. Voir setup.


Node:find, Noeud «Next», Noeud «Previous»:embed, Noeud «Up»Commandes de la ligne de commande et du menu

find

find filename Commande
Recherche le nom de fichier filename dans toutes les partitions et affiche la liste des périphériques qui contiennent le fichier. Le nom de fichier filename doit être un nom de fichier absolu, comme /boot/grub/stage1.

Node:fstest, Noeud «Next», Noeud «Previous»:find, Noeud «Up»Commandes de la ligne de commande et du menu

fstest

fstest Commande
Bascule le mode de test du système de fichiers. Ce mode de test, quand il est activé, affiche les données correspondant à toutes les lectures sur le disque et quelles valeurs sont envoyées aux routines de bas niveau. Le format est <partition-offset-sector, byte-offset, byte-length> pour les lectures de haut-niveau dans une partition, et [disk-offset-sector] pour les requêtes de secteur au bas niveau.

Le mode de test est arrêté par l'utilisation des commandes install (voir install) ou testload (voir testload)


Node:geometry, Noeud «Next», Noeud «Previous»:fstest, Noeud «Up»Commandes de la ligne de commande et du menu

geometry

geometry drive [cylinder head sector [total_sector]] Commande
Affiche les informations pour le disque drive. Dans le shell grub, vous pouvez définir arbitrairement la géométrie. Les nombres de cylindres, de têtes, de secteurs et le total des secteurs sont respectivement définis par cylinder, head, sector et