Cette page n'a pas encore d'étiquettes.
Apportez votre aide…

Ceci est une ancienne révision du document !


Dapper, Breezy, Hoary, Warty

gnu-head-sm.jpg Traduction libre de GrubHowto

Rédigé par Manu complété par Les contributeurs d'Ubuntu-fr. Relu par methu. Merge avec doc statique Ju.. Explications fond d'écran Eric P. Explication GrubConf Zolgot

Grub désigne les disques et partitions présents sur votre machine d’une manière différente de celle utilisée par Ubuntu.

Avec Grub, les disques et les partitions sont identifiés à l’aide d’expressions écrites entre parenthèses. Si par exemple on souhaite désigner le lecteur de disquettes, on écrira (fd0). fd signifie qu’on s’intéresse au lecteur de disquettes. Le 0 est là pour indiquer qu’il s’agit du premier lecteur de disquettes. Si on possède un deuxième lecteur de disquettes, celui-ci sera désigné par (fd1). Notez que même si l’on ne possède qu’un seul lecteur, il est nécessaire de mentionner le 0.

Pour désigner un disque dur, on utilise la même notation en remplaçant fd par hd (peu importe que le disque dur soit IDE, ou SATA). Comme pour les lecteurs de disquettes, la numérotation des disques commence à 0. Le disque /dev/hda est donc désigné par (hd0). Pour indiquer une partition, on fait suivre l’expression entre parenthèse par une virgule et le numéro attribué à la partition. Comme pour les lecteurs, la numérotation débute à 0. La notation utilisée pour designer la deuxième partition du disque /dev/hdb (c.-à-d. /dev/hdb2) est donc (hd1,1).

Nous arrêtons ici la description des conventions d’écriture employées par Grub pour désigner des disques et des partitions. Si vous désirez en connaître plus à ce sujet, consultez la documentation officielle de Grub. La prévention : une disquette de démarrage.

Paramétrage de base de Grub

Pour entrer dans le menu de Grub, vous devez appuyer sur Echap juste après le démarrage "par défaut", vous devez appuyer sur Echap très rapidement. Pour augmenter ce temps, éditez /boot/grub/menu.lst (avec Nano, par exemple), puis augmentez le nombre de secondes dans la section timeout. Vous pourrez également faire apparaître systématiquement le menu de GRUB pendant le boot en commentant hiddenmenu dans le même fichier (rajouter un symbole # devant). Une fois que vous avez changé menu.lst vous devez taper la commande :

sudo update-grub

Notez que si l’installateur d’Ubuntu détecte d’autres systèmes d'exploitation sur le disque pendant l’installation, alors le menu de Grub sera visible par défaut au boot et le timeout sera augmenté, ainsi les étapes ci-dessus seront inutiles.

Paramètrage du noyau dans Grub

Le script update-grub se sert d’un certain nombre d'options lorsqu’il met à jour le menu.lst, options qu'il trouve aussi dans le menu.lst.

Dans /boot/grub/menu.lst, vous trouverez une ligne comme ceci :

kopt=root=/dev/sda1 ro

C'est un commentaire, mais n'enlevez pas le # au début, c’est important.

Si vous avez besoin de paramètres additionnels pour le noyau (par exemple, si quelqu'un vous a demandé d’examiner le boot avec certains paramètres afin de dépanner un problème), ajoutez-les à la fin de la ligne, par exemple pour ajouter le noapic :

kopt=root=/dev/sda1 ro noapic

Après les modifications, mettez à jour Grub en tapant la commande :

sudo update-grub

Windows dans le menu Grub

Pour ajouter Microsoft Windows dans la liste des systèmes d'exploitation pouvant être démarrés qu'affiche Grub, il faut modifier le fichier /boot/grub/menu.lst. Ceci peut être fait, par exemple, graphiquement avec un logiciel d'édition de texte simple, comme gEdit ou KWrite, ou avec un éditeur de texte simple fonctionnant dans un terminal, tel Nano. Que vous choisissiez l'un ou l'autre de ces logiciels, vous devez le démarrer avec les droits du superutilisateur ; saisissez l'une des commandes suivantes dans un terminal :

  • pour Ubuntu : Alt+F2 puis
    gksudo "gedit /boot/grub/menu.lst"
  • pour Kubuntu : Alt+F2 puis
    kdesu "kate /boot/grub/menu.lst"
  • en console :
    sudo nano /boot/grub/menu.lst

Les lignes à ajouter dépendent de votre cas en particulier où se trouve la partition Windows.

Hypothèses

Windows se trouve sur la 1re partition du 1er disque dur

Ajoutez les lignes suivantes à la fin du fichier :

title		Windows NT/2000/XP
root		(hd0,0)
savedefault 
makeactive
chainloader	+1
boot
Windows se trouve sur la 1re partition du 2e disque dur

Il faut alors virtuellement placer ce disque dur en hd0 sans quoi windows ne peut démarrer. Les lignes à ajouter sont alors :

title		Windows NT/2000/XP
root		(hd1,0)		# la partition a démarrer
makeactive			# cette commande positionne le bit de partition active à 1 (au cas où)
map		(hd0) (hd1)	# hd0 devient hd1
map		(hd1) (hd0)	# hd1 devient hd0 virtuellement
chainloader	+1		# saut au début de la piste suivante car c'est un OS Microsoft(R).
Windows/Dos est présent en plusieurs versions sur un même disque dur et ne sont pas gerés par le multi-boot de Windows

L’installation normale de Windows, de la version la plus ancienne à la version la plus récente (si cette dernière prend en charge le multi-boot) propose normalement un multi-boot reprenant les diverses versions de Windows ou Dos installées. Dans certains cas atypiques, concernant le plus souvent les anciennes versions et/ou une installation dans le désordre, il est parfois necessaire d’utiliser les commandes hide et unhide.

Ceci permet de cacher la ou les versions que l’on ne veut pas voir démarrer, outre le fait qu’il faut utiliser map si ce disque n’est pas le premier.

Un exemple :

Windows 2000 (NT 5.0) est sur la première partition du premier disque (hd0,0), Win 98 sur la seconde (hd0,1).
Et vous voulez démarrer Windows 2000.

Votre fichier de configuration (vers la fin) menu.lst devra contenir les « paragraphes » suivant :

title		Windows 2000
hide		(hd0,0)	#la 1re partition est masquée
unhide		(hd0,1)	#la 2e partition est démasquée (même si elle n'était pas masquée)
rootnoverify	(hd0,1)
makeactive
chainloader	+1

Dans cet exemple, ce paragraphe est bien entendu suivi de :

title		Windows 98
hide		(hd0,1)	#la seconde partition est masquée
unhide		(hd0,0)	#la première partition est démasquée
rootnoverify	(hd0,0)
makeactive
chainloader	+1

pour pouvoir démarrer Win 98.

Note : En aucun cas n’utilisez la commande hide pour masquer la partition qui contient le repertoire /boot/grub avec les fichiers menu.lst et stage2 car cette partition une fois masquée et l’ordinateur éteint, au redémarrage stage1 qui tentera de charger stage2 soit ne le trouvera pas, vous obtiendrez

Error 15 (file not found)

ou plus probablement le trouvera mais ne pourra y accéder :

Error 17 (filesystem type unknown etc.)

Choix du système d’exploitation par défaut

Par défaut, c’est Ubuntu qui se charge, mais vous préféreriez que ce soit Windows ?

Au menu de Grub, vérifiez à quelle position se trouve Windows dans votre menu. Puis, soustrayez 1 à ce nombre. Enfin, dans Ubuntu, ouvrez le fichier /boot/grub/menu.lst tel que décrit à l'étape précédente et recherchez la ligne suivante :

default		0

Remplacez 0 par le nombre que vous avez obtenu.

Comment faire un sous menu avec grub

Vous avez plusieurs distribution linux, plusieurs ubuntu debian ou autre, comment faire des menu qui vont etre toujours a jour.

Chaque distribution gére son menu de démarage normalement automatique, mais on ne peut pas le faire depuis un unique menu. On va donc utiliser des sous menu

Grub permet d'avoir un menu qui va charger un fichier de config différent, qui peut etre sur une autre partitions bien sur.

 title monsounemu ubuntu autre version
 root		(hd0,0)
 configfile  /boot/grub/menu.lst
 

cela peut etre un autre emplacement a definir soit meme , c'est tous, ce n'est pas plus complique.

N'oubliez pas de créer une disquette_de_boot_avec_grub.

Restauration

Lorsque Grub a été effacé par l'installation d'un autre système d'exploitation (par exemple Windows), la disquette de démarrage s'avère utile. En effet, grâce à elle, vous pouvez démarrer votre système Ubuntu ! Pour cela, consultez l'article recup_ubuntu_apres_win.

Attention: Il existe un live-cd specialment conçu pour la restauration du grub après une re-installation de Windows très facile d'employer. C'est le Super Grub Disk. Despuis le cdrom de Super Grub Disk tu suives les options: Français → Linux → Arranger Demarrage de Linux. SGD te dira: SGD a reussi!

Et Grub sera a nouveau sur ton MBR te permettant de demmarrer tant Windows comme Linux.

Toutefois, si vous ne possédez pas de disquette de démarrage, ne cédez pas à la panique car il y a moyen de s'en sortir à l'aide d'un Live CD contenant le programme Grub. Si vous n'avez pas de Live CD, vous pouvez, par exemple, télécharger SystemRescueCd dont la taille avoisine 100 Mio.

Vous pouvez egalement utiliser le Live CD Ubuntu.

En dernier recours, le CD d'installation peut aussi aider.

Avec Ubuntu ou un Live CD

Note pour le Live CD Ubuntu : le paquet grub n'étant pas installé, vous devez faire :

sudo apt-get install grub

La source du paquet peut provenir d'Internet (si vous avez configuré le réseau) ou d'un CD d'installation d'Ubuntu.

apt-cdrom add /media/cdrom

permet d'ajouter le CD-ROM comme source de paquets.

Sous Ubuntu, ou à partir d'une machine démarrée avec un Live CD, dans un terminal, lancez Grub :

sudo -s
Étapes communes aux deux méthodes
grub --batch 

Si vous ne savez pas sur quelle partition se trouvent les fichiers de Grub, entrez à l'invite grub> :

grub> find /boot/grub/stage1

Cette commande vous indiquera la partition sur laquelle sont situés ces fichiers. Imaginons que cette commande nous a fourni (hd0,1) comme réponse. Dans ce cas, il faut entrer :

grub> root (hd0,1)

Remplacez bien entendu (hd0,1) par la partition correspondante.

L'étape suivante consiste à indiquer à Grub le disque sur lequel il doit (ré)installer le chargeur de système. Si par exemple, on souhaite l'installer sur le disque (hd0):

grub> setup (hd0)
grub> quit

Voilà le travail est fini. Grub est remis d'aplomb !

Avec le CD d'installation version supérieure ou égale à 6.06 (Dapper)

rédigé par Théo Thirion

C'est la méthode la plus simple.

Pré-requis

Vous devez savoir quel est le nom de votre partition racine (/dev/hdxyx est une lettre et y un chiffre disponible dans /etc/fstab) ainsi que les numéros Grub correspondants ( (hdz,w)z et w sont des chiffres disponibles dans /boot/grub/menu.lst). Ces informations sont primordiales. Sans elles, il est quasi impossible de récupérer Grub.

Astuces : Si vous n'avez qu'un disque dur et qu'il est en IDE il s'agit de /dev/hda.

Si celui-ci est SATA il s'agit de /dev/sda.

De plus, si vous n'avez qu'Ubuntu d'installée, il y a de fortes chances pour qu'elle le soit dans la première partition du disque soit /dev/hda1 pour un IDE ou /dev/sda1 pour un SATA.

Grub ne se souciant pas du système d'exploitation, mais récupérant les informations depuis le BIOS, considérera qu'il s'agit du premier disque dur et de la première partition venue, d'où (hd0,0) que ce soit pour de l'IDE ou du SATA.

Démarche

Insérez le cd d'installation.

Lors du premier menu selectionnez "Restauration système" Répondez à toutes les questions.

Vous arrivez à un menu, choisissez "Restauration GRUB".

Selectionnez votre disque racine. Puis selectionnez le disque contenant la MBR. Le plus souvent (hd0).

Validez. Sur le menu suivant choisissez reboot, retirez le disque en benissant Ubuntu et rangez le soigneusement.

Avec le CD d'installation version inférieure à 6.06

rédigé par Raphaël Doursenaud

À moins que vous n'ayez d'autres choix, je vous recommande vivement d'utiliser la méthode avec le Live CD présentée ci-dessus.

Pré-requis

Vous devez savoir quel est le nom de votre partition racine (/dev/hdxyx est une lettre et y un chiffre disponible dans /etc/fstab) ainsi que les numéros Grub correspondants ( (hdz,w)z et w sont des chiffres disponibles dans /boot/grub/menu.lst). Ces informations sont primordiales. Sans elles, il est quasi impossible de récupérer Grub.

Astuces : Si vous n'avez qu'un disque dur et qu'il est en IDE il s'agit de /dev/hda.

Si celui-ci est SATA il s'agit de /dev/sda.

De plus, si vous n'avez qu'Ubuntu d'installée, il y a de fortes chances pour qu'elle le soit dans la première partition du disque soit /dev/hda1 pour un IDE ou /dev/sda1 pour un SATA.

Grub ne se souciant pas du système d'exploitation, mais récupérant les informations depuis le BIOS, considérera qu'il s'agit du premier disque dur et de la première partition venue, d'où (hd0,0) que ce soit pour de l'IDE ou du SATA.

Démarche

Démarrez l'installation normalement jusqu'à l'invite de partitionnement. Rassurez-vous jusqu'ici rien n'est modifié sur le système.

Pressez alors la combinaison de touches [Ctrl]+[Alt]+[F2].

Vous retrouvez alors une console. Pressez [Entrée] pour y pénétrer.

Créez alors un répertoire pour accueillir votre partition racine :

mkdir -p /cible/proc

Montez « /proc » dans votre partition :

mount /proc -t proc /cible/proc

Entrez dans l'environnement de votre partition :

chroot /cible

Enfin à partir de là suivez les étapes communes aux deux méthodes ci-dessus en n'oubliant pas d'adapter les lignes avec les valeurs relevées dans la section pré-requis.

Il est possible de paramétrer Grub pour qu'une image, appelée « splash image » soit affichée en fond d'écran.

Installation

Tout d’abord, vous pouvez installer un paquet contenant des images par défaut :

sudo apt-get install grub-splashimages

Ces images vont être placées dans /boot/grub/splashimages/. Il n'est pas obligatoire d'utiliser ce paquet, vous pouvez télécharger vos propres images sur Internet ou les créer vous-mêmes (voir Création de son image), mais il faut que vous les placiez dans /boot/grub/splashimages/.

Cependant vous n'aurez probablement pas les droits d'écriture pour les placer à cet endroit. Utiliser alors la commande cp qui sert à copier des fichiers d'un emplacement vers un autre (on doit les saisir en les séparant avec un espace). En la combinant avec sudo vous obtenez les droits d'écriture. Manipulez-là toutefois avec précaution (gare à la syntaxe) :

sudo cp /chemin_de_votre_image /boot/grub/splashimages

Ce site-ci (erreur 404) et ce site-là contiennent de chouettes images pour Ubuntu.

Rajouter ceci dans le fichier /boot/grub/menu.lst (juste avant la déclaration des divers systèmes installés, car si vous rajoutez cette ligne à la fin du fichier cela ne fonctionnera pas.)

splashimage  (hdX,Y)/boot/grub/splashimages/NOM_IMAGE.xpm.gz

Où :

  • NOM_IMAGE est à remplacer par le nom de l'image que vous avez choisie, par exemple, biosplash ;
  • (hdX,Y) est à remplacer par la partition montée en /boot, ou en / si vous n'avez pas choisi d'installer /boot sur une partition séparée. Par exemple, si vous avez un disque monté en /boot (par exemple (hd0,3)), vous devrez mettre :
    splashimage  (hd0,3)/boot/grub/splashimages/biosplash.xpm.gz

Le (hdX,Y) est facultatif. Dans la plupart des cas, vous n'êtes pas obligé de le mettre.

Pour voir votre image, redémarrez l’ordinateur et admirez.

Il est possible également d'installer un « boot splash » pour que toute la suite du démarrage d'Ubuntu soit graphique, avec une barre de progression. Cette page est la suivante boot splash, mais vous pouvez aussi vous référer à ce how-to, paru sur le forum anglophone d'Ubuntu.

Note : Ce « boot splash » est présent dans la version 6.06.

Création de son image

Les images utilisées par grub sont bien particulières. Elle doivent remplir un certain cahier des charges :

  • fichier de type xpm.gz ;
  • taille de 640x480 ;
  • être en 14 couleurs seulement.

Pour vous aider, Coffee a écrit un petit script disponible ici.

Grime

Grime permet de configurer aisément le « splashimage » de Grub. Pour cela, il vous suffit de le télécharger et le décompresser. Il faut ensuite, en ligne de commande, se placer dans le dossier où il a été décompressé et saisir :

 ./configure
 sudo make

Ensuite, si tout s'est bien passé, tapez :

 sudo grime

Et normalement une fenêtre devrait apparaitre pour régler les splashimage.

Note : Grime requiert ImageMagick. Si il y a un message d'erreur après ./configure, l'installer avec :

sudo apt-get install imagemagick

Note : Si vous êtes sur Kubuntu :

sudo apt-get install imagemagick python-glade2

Lors des mises à jour d'une nouvelle version du noyau, Grub conserve la liste des versions précédentes pour des raisons de sécurité et régler certaines incompatilibités éventuelles. Or, cette liste peut devenir très longue et inesthétique. Il est possible de dire à Grub combien de versions différentes du noyau on souhaite afficher. Ouvrir un terminal et taper :

sudo cp /boot/grub/menu.lst /boot/grub/menu.lst_backup

On fait une sauvegarde du fichier que l'on va modifier, puis:

(Pour Ubuntu) Alt+F2 puis : gksudo gedit /boot/grub/menu.lst
(Pour Kubuntu) Alt+F2 puis : kdesu kate /boot/grub/menu.lst
(Toutes versions) : sudo nano /boot/grub/menu.lst

Cherchez la ligne :

# howmany=all

et la remplacer par :

# howmany=1

où 1 est le nombre de noyaux qu'on veut afficher. Pour afficher les 2 derniers, mettre le chiffre 2 et ainsi de suite.

Attention, ne pas retirer le symbole #

Sauvegardez le document. À la prochaine mise à jour du noyau, la liste se mettra à jour automatiquement.

Alternativement on peut desinstaller les noyaux que l'on n'utilise plus… comme d'habitude il faut garder un peu de recul et ne pas laisser que le strict minimum (ou être sportif)

Liens

Voici quelques liens, pour ceux qui veulent approfondir le sujet :

Les fichiers de Grub ont disparu !

Si vous avez malencontreusement effacé le répertoire /boot/grub/, vous pouvez vous en sortir en recréant un nouveau répertoire grub/ dans /boot/ et en y copiant le contenu de /lib/grub/i386-pc/ :

sudo mkdir /boot/grub
sudo cp -a /lib/grub/i386-pc/* /boot/grub/

Ensuite, suivez les étapes décrites au point 5 à partir d'ici.

De plus, si vous comptez également regénérer le fichier /boot/grub/menu.lst, vous pouvez vous inspirer du fichier /usr/share/doc/grub/examples/menu.lst.

  • installation/grub.1166692568.txt.gz
  • Dernière modification: Le 18/04/2011, 14:49
  • (modification externe)