Académique Documents
Professionnel Documents
Culture Documents
Fedora - Linux
Portail de Fedora-Fr : la communauté francophone autour de la distribution Linux Fedora
Chercher
dans Documentation
Chercher
Accueil
Forums
Documentation
Planet
Association
Boutique
Sommaire
1 Introduction
2 Préalables
2.1 Le lancement d'un système, de type « PC »
2.2 Les fonctions de GRUB
2.3 La logique de fonctionnement de GRUB
2.3.1 Eléments généraux
2.3.2 Quelques précisions
2.3.3 Quelques précisions: compléments pour la cohabitation de
plusieurs distributions
2.4 Les futures évolutions de GRUB (GRUB 2)
2.5 GRUB et LVM (pour les experts)
3 Paramétrage de GRUB
3.1 À l'installation: cas général
3.1.1 dans /boot
3.1.2 dans /boot/grub
Lancement en mode menu
3.2 Lancement en mode menu
3.2.1 Les conventions de nommage des disques et disquettes
3.2.2 Le fichier grub.conf
3.2.3 Augmenter la résolution des consoles tty
3.2.4 Commandes complémentaires du fichier grub.conf
3.2.5 Spécificités de certaines entrées Windows dans grub.conf
4 Utilisation avancée de GRUB
4.1 Paramétrer le clavier en AZERTY
4.2 Mode interactif
4.3 Mode ligne de commandes : au lancement de GRUB
4.4 Mode ligne de commandes : sous Linux
4.5 Utilisation avancée du mode ligne de commandes
4.5.1 Utilisation de root
4.5.2 Utilisation de setup
4.5.3 Utiliser root et setup pour certaines installations
4.5.4 Utiliser root et setup pour faire cohabiter plusieurs distributions
4.5.4.1 Le schéma de base
4.5.4.2 Cas pratique
4.6 grub-install
5 État des commandes et codes d'erreur
5.1 Commandes réservées au menu
5.2 Commandes utilisables en menu ou ligne de commandes
5.3 État des erreurs signalées par GRUB
5.4 Quelques moyens de corriger les erreurs
5.4.1 Error 17: Cannot mount selected partition
5.4.2 Lancement de Windows : Starting up... GRUB loading stage2
5.4.3 grubloading, please wait error 21
5.4.4 error 15: File not found
1 Introduction
GRUB (GRand Unified Bootloader) fait l'objet de nombreuses questions. Ce tutoriel
propose une présentation générale et quelques élements pour permettre une
personnalisation rapide du lancement de Fedora ou d'autres systèmes. Il s'appuie très
largement sur les documents de référence suivants :
Conventions d'écriture
Les parties en caractères italiques sont des compléments qui peuvent être
ignorés en première lecture.
2 Préalables
2.1 Le lancement d'un système, de type « PC »
Le tutoriel concernant le dual boot a décrit le lancement d'un système.
L'amorce est toutefois différenciée selon les systèmes : GRUB lance ainsi directement les
systèmes ouverts (Linux, Hurd ...), mais pour les systèmes propriétaires, il active le
lanceur de ces systèmes, selon la logique dite du « chainloading ».
GRUB est chargé par le MBR (Master Boot Record). Il s'initialise sous la forme d'un noyau,
qui se loge en mémoire et réalise la détection des éléments majeurs de l'environnement de
la machine : mémoire, disques, clavier, écran, ligne série et réseau éventuellement.
Pour réaliser le démarrage d'un noyau ou d'un gestionnaire d'amorçage tiers, GRUB
utilise des fichiers exécutables appelés stage1, stage1_5 et stage2.
Stage1 correspond à un fichier qui peut se loger soit dans le MBR, soit dans le
secteur de démarrage d'une partition, ou d'un du disque. Les choix par défaut de
Fedora conduisent à utiliser Grub: le MBR correspond alors au Stage1 de Grub ;
Stage1_5 est lancé par Stage 1 et prend en charge une gestion minimale de fichiers.
Différents systèmes de fichiers sont supportés qui correspondent chacun à une
version spécifique de Stage1_5 : reiserfs_stage1_5, vstafs_stage1_5, e2fs_stage1_5,
iso9660_stage1_5, xfs_stage1_5, fat_stage1_5, jfs_stage1_5, ffs_stage1_5,
minix_stage1_5, ufs2_stage1_5. Stage1_5, à son tour, lance Stage2.
Les espaces de stockage des informations (disques durs, disquettes ...) font l'objet d'un
formatage : ils sont ainsi préparés pour recevoir des données, selon une organisation
physique spécifique.
Un système de fichiers :
de lire des fichiers de configuration (grub.conf par exemple) pour afficher un menu ;
de lire les noyaux des systèmes à lancer et leurs paramètres utiles pour les charger
en mémoire et engager leur lancement.
Le support des formats ext2fs, ext3fs ou Reiserfs offre ainsi à Grub la possibilité
d'accéder directement aux fichiers permettant le lancement des systèmes. Grub peut
ainsi lire les fichiers « noyaux » et « paramètres » dans des partitions Linux. Ces fichiers
peuvent être directement manipulés en utilisant leurs noms (voir 2.2.2).
L'amorçage est réalisé comme suit (on simplifiera en ne retenant que Linux et les
systèmes Windows) :
1. la séquence Stage1 -> Stage1_5 -> Stage2 est déroulée. En Stage2, le noyau Grub
est chargé ;
2. lancement du mode menu ou ligne de commandes. En mode menu (ou interactif),
les commandes sont lues dans un fichier spécifique. En mode ligne de commandes,
elles sont saisies par l'utilisateur au sein d'un shell minimal (le shell prend les
commandes saisies ligne à ligne et les soumet au noyau pour action). Il est possible,
en mode menu, de modifier les commandes présentées par le fichier de
configuration, avant de les faire exécuter. Ce mode est dit « interactif » ;
3. Linux (ou Gnu/Hurd, FreeBSD, NetBSD, OpenBSD) ou OS2 (ou Windows ou
Solaris) ;
1. cas de Linux (ou Gnu/Hurd, FreeBSD, NetBSD, OpenBSD) :
1. identification par Grub de la partition sur laquelle le noyau (kernel) est
stocké (directive root -> voir plus loin) ;
2. accès au système de fichiers et lecture des fichiers nécessaires au
lancement : chargement du noyau (commande kernel) et chargement
éventuel de modules (commande module) ;
2. cas d'OS2, systèmes Windows ou Solaris :
1. identification de la partition racine (commande rootnoverify) ;
2. activation de cette partition (commande makeactive) ;
3. lancement du gestionnaire d'amorçage (commande chainloader).
Cette section intéressera uniquement les lecteurs qui souhaitent faire cohabiter plusieurs
distributions Linux (ou des distributions Linux et des systèmes Unix, OpenSolaris ou
*BSD). Elle sera utile pour la compréhension du paragraphe décrivant une solution pour la
cohabitation de plusieurs systèmes.
Par défaut, lors des procédures d'installation des distributions Linux dont Fedora, Stage1
est installé sur le MBR (Master Boot Record) du premier disque actif (soit le disque qui
s'amorce au démarrage). Le MBR est le secteur 0 de la piste 0.
L'amorçage sera toujours réalisé à l'appui du MBR du premier disque actif et de lui seul.
Ce MBR comprendra un Stage1 et un seul. Le Stage1 est paramétré pour dérouler un
processus qui lancera les Stage1_5 puis Stage2 relatifs à ce Stage1. En d'autres termes,
si plusieurs Stage1 sont installés (l'un sur le MBR du disque actif, les autres sur d'autres
MBR ou Boot Sectors), seul le Stage1 du MBR du disque actif puis ses Stage1_5 et Stage2
seront activés.
un noyau plus développé (qui intègre les fonctions de Stage1_5) et pouvant prendre
en charge un plus large variétés de modules pour mieux s'adapter à l'environnement
matériel (exemple: prise en charge de clés USB...) ;
une meilleure gestion de la mémoire ;
un cadre de développement plus orienté objet pour mieux séparer les éléments
concernant la gestion des systèmes de fichiers, les périphériques, les drivers, les
commandes, les chargeurs de fichiers... et favoriser le travail coopératif ;
un meilleur support d'internationalisation ;
une recherche de la plus grande portabilité et interopérabilité (pour aider d'autres
projets).
A ce jour, Fedora à l'installation, tout en initialisant LVM2 par défaut, ne créent pas de PV
(Physical Volume) pour /boot.
3 Paramétrage de GRUB
3.1 À l'installation: cas général
On supposera que lors de l'installation, Grub a été choisi comme lanceur. Le fichier Stage1
pourra dès lors avoir été installé sur le secteur du MBR (512 octets), ou sur n'importe
quelle partition.
Le démarrage sera pleinement automatisé si le choix du MBR a été retenu. Seul ce cas
sera décrit.
Exemple :
# /sbin/fdisk -l
Dans le cas d'espèce, le système comporte deux disques IDE (hda et hdb), supportant des
partitions Solaris (hda) et Linux (hdb). hdb comprend deux partitions (dev/hdb1 et dev/hdb2).
La commande mount permet d'identifier le point de montage de /boot :
# mount
...
/dev/hdb1 on /boot type ext3 (rw)
On constate ainsi que toutes les partitions ont été correctement identifiées par Grub.
Grub, comme indiqué précédemment, ne distingue pas l'IDE du SCSI (ou SATA), et
identifie les disques selon la séquence présentée par le BIOS (plus précisément : Grub
s'appuie sur les interruptions du BIOS et ne peut donc pas identifier séparément IDE et
SCSI). Grub dispose de sa propre convention de nommage reposant sur les principes
suivants :
Grub identifie les disques et lecteurs de disquettes selon l'ordre de présentation par
le BIOS ;
il leur affecte un numéro dans une séquence commençant par 0 ;
le premier disque dur /dev/hda ou /dev/sda est ainsi désigné comme (hd0), le second
le premier disque dur /dev/hda ou /dev/sda est ainsi désigné comme (hd0), le second
disque dur, comme (hd1) et ainsi de suite. Le premier lecteur de disquettes est
identifié comme (fd0). L'utilisation des parenthèses est réservée à la désignation des
unités de données ((hd0), (fd0)) ou partitions (voir plus bas) ; les commandes ne
sont jamais entourées de parenthèses.
Grub n'identifie pas les lecteurs de CD comme tels (pas de device (cdX)). Il existe
cependant une méthode de démarrage de Grub depuis un CD bootable (voir :
making a GRUB bootable CD Rom).
Grub désigne les partitions des disques selon une logique identique: la première
partition du premier disque est ainsi désignée comme (hd0,0), la seconde comme
(hd0,1). Le nommage a ici recours aux parenthèses.
GRUB s'appuie sur la convention décrite précédemment pour désigner les fichiers.
Un fichier est ainsi nommé à partir de la désignation de son périphérique de support
et de son chemin absolu. Ainsi, si /boot est monté sur /dev/hda1 (hd0,0), et que le
fichier se nomme /boot/grub/grub.conf, le nommage pour GRUB sera :
(hd0,0)/boot/grub/grub.conf. On rapelera qu'il ne peut y avoir de partition sur une
disquette.
Remarques
Une autre notation est possible, dite « par liste des blocs ». On désigne le
périphérique, la partition concernée et les différents blocs de stockage du
fichier, sur cette partition selon la convention : bloc de départ + nombre de
blocs, bloc de départ + nombre de bloc... (autant de séquences que de blocs
contigus différents). La taille des blocs est fonction du formatage du support
de stockage. Le Grub-Howto donne un exemple :
La notation « par liste de blocs » est utilisée dans le cadre du chainloading (voir
plus bas).
Le fichier porte l'ensemble des paramètres et commandes que Grub va exécuter pour
amorcer un système, à partir du menu.
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You do not have a /boot partition. This means that
hiddenmenu
title Windows
rootnoverify (hd0,0)
makeactive
chainloader +1
title Fedora Core (2.6.10-1.770_FC3)
root (hd1,0)
kernel /vmlinuz-2.6.10-1.770_FC3 ro root=/dev/VolGroup00/LogVol00 acpi=off quiet
initrd /initrd-2.6.10-1.770_FC3.img
Les lignes commençant par « # » ne sont pas interprétées ; elles servent ainsi de
commentaires.
default=0
Les choix dans le menu correspondent à des systèmes pouvant être lancés. Chaque
choix, correspondant à une section dans le fichier grub.conf, commence par une ligne
title. Dans l'exemple, deux entrées sont décrites: Windows et Linux.
Les entrées sont présentées dans le fichier grub.conf dans un ordre d'apparition libre (il
n'y a donc pas de préséance entre systèmes !). La première entrée, dans l'ordre
séquentiel de présentation du fichier, est identifiée comme 0, la seconde comme 1 et ainsi
de suite. La variable default indique l'entrée qui doit être activée par défaut. Ici, il s'agit de
Fedora Core (2.6.10-1.770_FC3).
Directive fallback
La directive fallback peut être introduite en complément de default. Elle
désigne l'entrée qui sera activée si l'entrée désignée par défaut ne peut pas être
lancée. Exemple: fallback=1
timeout=5
Une temporisation est activée lors du lancement du menu. Au-delà du délai indiqué en
secondes et si aucune touche n'est pressée, le système désigné par défaut est amorcé
automatiquement.
splashimage=(hd0,1)/grub/splash.xpm.gz
Une image peut être utilisée en fond d'écran. Le fichier se présente en un format
spécifique (xpm soit X pixmap, gzippé, selon une palette de 14 couleurs en résolution
640*480. Le chemin est indiqué selon le format interne à Grub. Un tutorial s'attache aux
images de fond de Grub (création, modification) : GRUB : Modifier l'image de fond
(splashscreen). Voir par ailleurs http://ruslug.rutgers.edu/~mcgrof/grub-images/
hiddenmenu
title XXXX
Le texte figurant au regard de la directive est le texte qui sera affiché dans le menu, il
n'est pas interprété comme une commande.
La section comprend toutes les commandes utiles pour l'amorçage d'un système et d'un
seul.
root (hd1,0)
root désigne le système de fichiers qui doit être utilisé par Stage2 pour l'accès au noyau
à lancer et aux paramètres utiles.
kernel désigne le noyau qui doit être lancé (on voit d'ailleurs ici que Grub sait
directement lancer un noyau Linux). La suite de la ligne désigne le noyau lui-même, à
partir du point de référence donné par la directive root et les paramètres de lancement.
Le point de référence, dans l'exemple, est donc /dev/hdb1, partition qui supporte /boot. Le
noyau sera donc recherché dans /boot. Son nom est vmlinuz-2.6.10-1.770_FC3.
Les éléments qui suivent sont les paramètres de lancement du noyau (ro
root=/dev/VolGroup00/LogVol00 -> le disque est monté en LVM et on positionne / ; on
notera la clause acpi=off qui évite le support ACPI).
initrd /initrd-2.6.10-1.770_FC3.img
Le fichier initrd est lié au noyau sélectionné. Il est désigné à partir du point de référence
donné par la directive root. Comme précédemment, il s'agira de /dev/hdb1. initrd, pour
les puristes, définit le disque virtuel initial (à partir duquel seront montées les différentes
partitions et systèmes de fichiers).
title Windows
rootnoverify (hd0,0)
rootnoverify fonctionne comme root mais ne tente pas de monter la partition désignée,
cette commande est utilisée pour traiter des partitions que GRUB ne sait pas lire (voir les
remarques concernant Stage 1_5).
makeactive
makeactive désigne le point de référence pour Grub, qui sera alors une partition active
du disque racine. Cette commande ne doit être utilisée que pour les partitions primaires
(sur lesquelles Windows s'installe!).
chainloader +1
title Solaris
rootnoverify (hd0,0)
makeactive
chainloader +1
Lancement d'un système Solaris, implanté sur /dev/hda (le lanceur est sur /dev/hda1).
# fdisk -l
Par : JohanCwiklinski
Par : JohanCwiklinski
Comme vous avez dû le remarquer, les consoles tty (auxquelles il est possible d'accéder
en combinant les touches [Ctrl]+[Alt]+[F*]) n'ont pas la même résolution que votre
écran.
Si vous souhaitez ne pas démarrer le serveur graphique, les consoles en basse résolution
deviennent vraiment gênantes.
Par exemple :
Une fois la machine redémarrée, un Tux (un manchot, la mascotte de Linux) est visible un
bref instant en haut à gauche (le nombre de Tux dépend de votre processeur : 1 Tux
pour un monoprocesseur, 2 tux pour un double coeur,etc...).
Vous pouvez ensuite apprécier le changement de résolution de la console.
Voici un tableau résumant les valeurs qu'il est possible de mettre après vga= en fonction
de votre matériel :
Note : Les écrans 16/9 ou widescreens ont des résolutions en xvga, on ne peut donc
pas avoir de résolutions identiques en vga (ci-dessus). Utilisez une résolution inférieure
(Exemple : 1024*768 pour un écran en 1280*800)
password = wqsqsqsqs
# /sbin/grub-md5-crypt
On notera que le mot de passe mentionné est distinct des différents mots de passe
gérés par les systèmes qui seront lancés. Il est propre à Grub et son usage se restreint
au menu de Grub.
map
Pour son lancement, Windows suppose une installation sur le premier disque actif et sur
une partition primaire (non nécessairement la première; on notera que de nombreux
portables comportent dorénavant, en première partition primaire, le système de
restauration de Windows).
Windows, de facto installé sur le disque 2 (hd1), sera vu de Grub comme étant installé sur
le disque 1 (hd0) et le démarrage de chainloader pourra alors être assuré. Rien n'aura
cependant été modifié quant à la description des unités de stockage et l'artifice reste à
l'usage exclusif de Windows...
unhide / hide
Plusieurs partitions primaires de type FAT, VFAT ou NTFS peuvent être présentes sur un
même disque. Pour démarrer Windows sans équivoque, les commandes hide et unhide
permettent de masquer les partitions à l'exception de celle depuis laquelle l'amorce sera
réalisée.
title Windows
unhide (hd0,0)
hide (hd0,1)
rootnoverify (hd0,0)
makeactive
chainloader +1
Un autre exemple commenté est livré dans la FAQ portant sur le Dual boot Windows XP -
Fedora, section 4.2 (boot à 3 systèmes d'exploitation: deux versions de Windows et
Linux).
Certains utilisateurs peuvent souhaiter lancer Windows par défaut. Cependant, la mise à
jour des noyaux Fedora conduit à déplacer le rang de l'entrée Windows et le choix par
défaut, porté par la clause default est ainsi modifié (exemple: default=2 pointe sur la
3ème entrée qui correspond à Windows. En cas de mise à jour d'un noyau Fedora, une
nouvelle entrée sera insérée en première position et dès lors, l'index de l'entrée
correspondant à Windows ne sera plus 2 mais 3).
La clause savedefault permet de préserver le rang d'une entrée quelles que soient les
mises à jour de noyaux intervenues:
Les deux modes sont activés par appui sur une touche ad hoc :
touche [c] : ligne de commandes (on retourne au menu par la touche [Échap]) ;
touche [e] : mode interactif ; les lignes du fichier de configuration sont appelées
(utilisation des [flèches de navigation]) et peuvent être modifiées.
Claviers et modes
Les claviers en mode ligne de commandes ou interactif ne sont pas toujours
initialisés en « azerty ». Le « qwerty » a ses charmes ! La touche [a], comme
« append » permet de modifier les paramètres de lancement du noyau, pour
l'entrée mise en surbrillance. Cette option peut être très utile pour résoudre
quelques problèmes de blocage (voir les remarques concernant rhgb et acpi).
Toutefois, le clavier n'étant pas initialisé en français au moment de l'activation
de GRUB, il faut presser la touche [q] (qui correspond à la touche [a] pour le
clavier anglais).
L'appui sur la touche [Échap] annule tous les changements et permet un retour au
menu.
L'appui sur la touche [Entrée] valide les modifications opérées pour la ligne concernée,
sans les inscrire toutefois dans le fichier /boot/grub/grub.conf.
Les commandes qui peuvent être passées par la ligne de commandes sont rappelées
dans 3.3. Certaines commandes sont réservées au menu (grub.conf).
On signalera une fonction très utile, liée à l'utilisation de la touche [Tab] : à l'instar du
bash qui présente des mécanismes de complétion de commandes, si le curseur se trouve
dans ou avant le premier mot de la ligne, la touche [Tab] 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.
Un exemple d'utilisation est donné dans la FAQ portant sur le Dual boot Windows XP -
Un exemple d'utilisation est donné dans la FAQ portant sur le
Fedora (4.1- astuces de GRUB).
Elle est activée par /sbin/grub. La commande help permet d'accéder à une aide en ligne
(exemple : grub> help kernel). On quitte par la commande quit.
root (hd0,0)
Root détermine la référence absolue pour toutes les commandes qui seront passées. La
partition désignée sera par ailleurs montée (Grub utilisera les images Stage1_5 pour
supporter le système de fichiers porté par la partition).
image_device (non obligatoire): contient les images Grub (qui sont généralement dans
/boot/grub/, en l'occurrence les fichiers permettant le support, par Grub, de différents
types de fichiers) setup (hd0) (hd0,0) réalise l'installation de stage1 sur le secteur MBR,
à partir d'une image qui est stockée sur (hd0,0) soit la première partition du premier
disque (correspond à /dev/sda1).
setup (hd0,0) (hd0,0) réalise l'installation de stage1 non pas sur le secteur MBR mais
sur la première partition du premier disque.
On citera une astuce de Remi Collet, pour régler certains problèmes de démarrage de
Grub liés au nommage des unités de stockage :
L'un des problèmes avec GRUB est lié au nommage des disques différent de celui utilisé
par Linux : (hd0,1) pour /dev/hda2...
Une solution très simple pour identifier les partitions est l'utilisation de la commande find
en mode ligne de commandes (ou en mode « émulation »).
Par exemple, pour installer Grub on peut utiliser les commandes suivantes (plus précises
que grub-install, semble-t-il) :
# grub
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename.]
succeeded
Running "install /boot/grub/stage1 (hd0) (hd0)1+16 p (hd0,1)/boot/grub/stage2
/boot/grub/grub.conf"... succeeded
Done.
grub> quit
Phase 1 : find : permet d'identifier les partitions contenant le fichier cherché. Dans
le cas traité on remarquera que la machine utilisée dispose de 2 installations de Linux
(c'était avant que je fasse un /boot commun).
Phase 2 : root : désigne la partition référence pour rechercher les images de Grub
(stage1, stage1_5, stage2). Ces images seront recherchées, selon l'exemple, en
(hd0,1)/boot/grub ou (hd0,1)/grub.
Phase 3 : setup : installation dans le MBR du stage1.
Remi Collet
plusieurs distributions
Il est possible de faire cohabiter sans difficulté plusieurs distributions Linux en
permettant à chacune de réaliser ses mises à jour, sans contraindre
systématiquement à une adaptation du menu Grub. Un exemple illustre le
problème: Fedora ou Ubuntu modifient les noms des noyaux à chaque mise à
jour et si Ubuntu est lancé depuis le Grub de Fedora, il faudra, à chaque mise à
jour, modifier le nom du noyau et de l'initrd dans /boot/grub/grub.conf de la
partition Fedora.
# fdisk -l
...
Le MBR pointe sur (hd0,7). C'est donc le menu Grub de Fedora qui s'affiche.
On installe le dispositif :
# grub> setup (hd0,4)(hd0,4) => on installe stage1, issu de (hd0,4)/boot/grub, sur (hd0,4),
soit /dev/sda5; ce stage1 pointe sur (hd0,4)/boot/grub.
# grub> setup (hd0,7)(hd0,7) => on installe stage1, issu de (hd0,7)/boot/grub, sur (hd0,7)
soit /dev/sda7; ce stage1 pointe sur (hd0,7)/boot/grub
On modifie (hd0,4)/boot/grub/menu.lst :
title Menu Fedora
root (hd0,7)
chainloader +1
boot
A noter que les entrées concernant Windows ne sont en rien touchées par le dispositif.
Dans les deux fichiers de configuration de Grub, on trouvera :
4.6 grub-install
est mentionné dans la section Documentation concernant le Dual boot
grub-install
Windows XP - Fedora.
Le programme, dont l'efficacité est parfois contestée, permet d'installer Grub sur un
disque en utilisant l'émulation réalisée sous Fedora de la ligne de commandes Grub voir
3.2- Mode ligne de commandes. Il suppose les droits root.
La syntaxe est :
/sbin/grub-install périphérique_d'installation
Le périphérique sous Fedora sera désigné selon les règles de nommage de Linux et non
de GRUB.<
Exemple:
/sbin/grub-install /dev/hda
grub-install sera utilisé principalement pour résoudre des difficultés. On notera une
option intéressante: --recheck ; cette option conduit à « Re-vérifier la carte des
périphériques, même si /boot/grub/device.map existe déjà. Vous ne devriez utilisez cette
option que lorsque vous ajouter/enlevez des disques de votre ordinateur ».
chroot est là pour vous servir :-) Vous allez devoir démarrer votre ordinateur
en utilisant un livecd. Une fois le système lancé, connectez-vous en root :
$ su -
Montez votre disque actuel quelque part (/mnt semble être une bonne option :
# mkdir /mnt/sysimage
# mount /dev/VolGroup00/LogVol00 /mnt/sysimage
# chroot /mnt/sysimage
# mount -a
Une fois tout ceci prêt, vous pourrez simplement lancer la commande grub-
install, et espérer que cela résoudra votre problème :-)
default
fallback
hiddenmenu
timeout
title
Non présentées
bootp
color
device
dhcp
ifconfig
pager
partnew
parttype
rarp
serial
setkey
terminal
tftpserver
blocklist
boot
cat
cmp
configfile
debug
displayapm
displaymem
embed
find
fstest
geometry
halt
help
impsprobe
install
ioprobe
lock
module
modulenounzip
pause
reboot
read
savedefault
setup
testload
testvbe
uppermem
vbeprobe
le menu Grub s'est correctement affiché mais le choix d'un système a conduit à une
erreur. Cette erreur relève du Stage2; en d'autres termes, Grub est correctement installé
mais le paramétrage de /boot/grub/grub.conf, pour l'entrée qui a été sollicitée, n'est pas
correct.
L'erreur signifie: "17 : Cannot mount selected partition Cette erreur est retournée si la
partition demandée existe, mais le type du système de fichiers n'est pas reconnu par
GRUB"
Un exemple:
b- extrait de /boot/grub/grub.conf:
title Fedora
root (hd1,0) // => (hd1,0) est ici supposé représenter /dev/sdb1
kernel /vmlinuz-2.6.23.1-42.fc8 root=/dev/sd1 ro
initrd /initrd-2.6.23.1-42.fc8.img
Le problème est corrigé en remplaçant (hd1,0) par (hd0,0) contre toutes les
indications fournies ... Grub considère que (hd1,0) correspond à /dev/sdb1 mais de
facto, cette correspondance n'est pas correcte. Il y a divergence entre l'ordre perçu par
facto, cette correspondance n'est pas correcte. Il y a divergence entre l'ordre perçu par
Grub et l'ordre géré par le BIOS.
L'exemple fourni précédemment (cas général, -1-) est une illustration du problème :
Windows semble bien résider sur la première partition du premier disque actif mais ne se
lance pas car de facto, l'ordre des disques perçu par Grub diffère de l'ordre réel. Le
problème a été corrigé pour Fedora ; la correction, pour Windows, consiste à utiliser la
clause map comme suit :
title Windows
map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd1,0)
chainloader +1
L'erreur a une origine matérielle. Le MBR tente de lire la partition /boot sur un disque qui
ne peut être accédé.
S'il n'y a qu'un seul disque dans le système, on veillera à vérifier les branchements et la
déclaration dans le BIOS.
Exemple (environnement FC6; on notera que les partitions sont encore distinguées selon
la technologie support en hdX ou sdX):
Extrait de /boot/grub/grub.conf:
Extrait de /boot/grub/device.map:
La solution consiste à lancer à utiliser le Rescue Disk pour lancer le script grub-install:
chroot /mnt/sysimage
grub-install /dev/hdb --recheck
L'utilisation du live CD est aussi possible. On montera alors la partition /dev/hdb (sur /mnt)
et on enchaînera les commandes précédentes.
et on enchaînera les commandes précédentes.
Récupérée de « http://doc.fedora-fr.org/wiki/GRUB_:_Les_bases_pour_Fedora »
Catégories : Système | GRUB
Fedora-Fr
À propos de Fedora-Fr
Historique
Mon Fedora-Fr
Recherche
Télécharger
Obtenir Fedora
Toutes les méthodes de téléchargement
Support
Aide sur IRC
Aide sur la liste de diffusion
Forums
Documentation
Sous-projets
Muffin
Plateforme de blog
Le Projet Fedora est maintenu et dirigé par la communauté et sponsorisé par Red Hat.
Ce site est également maintenu par la communauté. Red Hat n'est pas responsable de
son contenu.