Booter Fedora avec Grub sur Ubuntu

De Wiki PC, Wiki Informatique.

Sommaire

Description du problème :

J'ai Ubuntu sur mon ordinateur et je souhaite installer Fedora Core sur une autre partition de cette même machine.

Cependant, je souhaite pouvoir continuer à gérer le lanceur de boot (grub) depuis Ubuntu, comment faire pour ne pas l'écraser avec Fedora Core 9 ?


Solution(s) proposée(s) :

C'est tout à fait possible, deux solutions, relativement similaires, s'offrent à vous :

Paramétrer le boot de Fedora Core 9 manuellement depuis Ubuntu

La première solution est de ne pas sélectionner "Installer le lanceur de boot ici : " lors de l'installation de Fedora Core 9.

Cela aura pour simple effet de ne rien changer (absolument rien) à la configuration de boot de votre ordinateur tout en installant tout de même Fedora Core 9.

Dès lors, comment booter sur FC9 ?

Eh bien il va falloir rajouter manuellemet l'entrée dans votre menu.lst du lanceur de boot de Ubuntu.

Pour cela, démarrez sous Ubuntu, puis lancer un terminal.

Dedans, tapez ceci :

sudo mkdir /media/FC9
sudo mount /dev/{VOTRE_PARTITION_FEDORA} /media/FC9

Nous venons de monter la partition de Fedora sur /media/FC9 .

Attention à bien remplacer {VOTRE_PARTITION_FEDORA} par la partition sur laquelle vous avez installé Fedora. Pour le savoir vous pouvez utiliser la page "Connaître l'emplacement de ma partition sous linux" ou bien le logiciel Gparted.

Maintenant, tapez ceci pour vous rendre dans le dossier de boot de Fedora Core 9 :

cd /media/FC9/boot
sudo ls -l

Vous devez alors avoir une liste de fichier qui s'affiche, similaire à ceci :

-rw-r--r-- 1 root root   80174 2008-05-01 12:16 config-2.6.25-14.fc9.x86_64
-rw-r--r-- 1 root root   82852 2008-10-17 20:29 config-2.6.26.6-79.fc9.x86_64
drwxr-xr-x 3 root root    4096 2008-05-08 04:21 efi
drwxr-xr-x 2 root root    4096 2008-04-07 19:29 grub
-rw------- 1 root root 2967345 2008-10-25 15:54 initrd-2.6.25-14.fc9.x86_64.img
-rw------- 1 root root 2983465 2008-10-27 12:50 initrd-2.6.26.6-79.fc9.x86_64.img
-rw-r--r-- 1 root root  112076 2008-04-03 23:16 memtest86+-2.01
-rw-r--r-- 1 root root 1118248 2008-05-01 12:16 System.map-2.6.25-14.fc9.x86_64
-rw-r--r-- 1 root root 1154746 2008-10-17 20:29 System.map-2.6.26.6-79.fc9.x86_64
-rwxr-xr-x 1 root root 2069432 2008-05-01 12:16 vmlinuz-2.6.25-14.fc9.x86_64
-rwxr-xr-x 1 root root 2143536 2008-10-17 20:29 vmlinuz-2.6.26.6-79.fc9.x86_64

Le nombre de fichiers ainsi que leurs noms peuvent bien évidemment être différents.

Ce qui nous intéresse, c'est de connaître la version du kernel à charger au démarrage, et son nom.

Ces fichiers qui nous intéressent sont les fichiers du type "initrd-x.x.x-x.fc9.x86_64.img" et "vmlinuz-x.x.x-x.fc9.x86_64".

Note : dans l'exemple ci-dessus nous nous trouvons dans le cas d'une Fedora Core version 9 ("fc9") et en version 64 bits ("x86_64") nous vous inquiétez pas si les noms de os fichiers terminent par ".i386" c'est que vous utilisez la version 32 bits ;) .

Ici nous avons le cas de plusieurs kernel dans /boot, il faut dans ce cas toujours prendre le plus récent.

Dans notre cas, il s'agit des fichiers avec les chiffres "2.6.26.6-79".

Nous allons maintenant inscrire les instructions de démarrages dans le menu.lst de Grub.

Ouvrez une autre console puis tapez :

sudo gedit /boot/grub/menu.lst

Gedit s'ouvre avec un fichier à l'intérieur.

Nous allons y placer ceci :

title		Fedora Core 9
root		(hdX,Y)
kernel		/boot/vmlinuz-x.x.x.x-x.x.x ro root=/dev/{PARTITION_FEDORA} ro
initrd		/boot/initrd-x.x.x.x-x.x.x.img
savedefault
boot

Il faut évidemment remplacer les "wmlinuz-x.x.xxx..." par le nom de fichier en "wmlinuz-..." que vous avez retenu plus haut. Il en va de même pour le "initrd-x.x....img".

Vous devez aussi remplacer le X,Y par ce qui correspond dans la dénomination GRUB des partitions à la partition de Fedora (n'oubliez pas que GRUB compte depuis zéro).

Il faut également remplacer {PARTITION_FEDORA} par la partition où est installée FC9 (pas dans la dénomination GRUB cette fois), c'est-à-dire le même nom que vous avez utilise pour faire mount /dev/{PARTITION_FEDORA} précédemment.


Une fois le texte préparé avec les bons chiffres de versions du kernel et les bons noms de partition, il faut le placer dans le fichier menu.lst que nous avons ouvert avec Gedit.

Si vous voulez que Fedora apparaisse au-dessus de Ubuntu : placez ce texte juste avant la ligne contenant "### BEGIN AUTOMAGIC KERNELS LIST".

Si vous voulez que Fedora apparaisse en-dessous de Ubuntu : placez ce texte juste après la ligne contenant "### END DEBIAN AUTOMAGIC KERNELS LIST"


Voilà c'est terminé, vous n'avez plus qu'à enregistrer le menu.lst et redémarrer votre machine pour pouvoir booter sous Fedora.


Installer Grub depuis FC9 sur sa propre partition et chaîner les bootloaders

La seconde solution consiste à installer Grub lors de l'installation de Fedora, mais uniquement sur sa propre partition (pas dans le MBR).

Une fois l'installation de FC9 (ou FC8, FC7..., FC10...) terminée, le bootloader de Fedora n'ayant pas été placé dans le MBR il ne sera pas détecté immédiatement.

Cette méthode consiste à "chaîner" les bootloader, c'est-à-dire que nous allons dire au Grub de Ubuntu (installé dans le MBR) de "passer la main" au grub de Fedora.

Cela à l'avantage que lors des mises à jour de kernel de votre Fedora, le grub de Fedora devrait vous demander si vous voulez qu'il fasse automatiquement la mise à jour, et ainsi vous n'avez rien à changer, alors que la première méthode vous oblige à mettre à jour le menu.lst à chaque mise à jour de kernel (pas tous les 5 minutes non plus).

Démarrez donc sous Ubuntu.

Une fois Ubuntu démarré ouvrez un terminal puis tapez :

sudo gedit /boot/grub/menu.lst

Gedit s'ouvre avec un fichier à l'intérieur.

Nous allons y placer le texte suivant :

 title		Fedora Core (9)
 root		(hdX,Y)
 makeactive
 chainloader	+1

/!\ Vous devez remplacer le X,Y par ce qui correspond dans la dénomination GRUB des partitions à la partition de Fedora (n'oubliez pas que GRUB compte depuis zéro).

Si vous voulez que Fedora apparaisse au-dessus de Ubuntu : placez ce texte juste avant la ligne contenant "### BEGIN AUTOMAGIC KERNELS LIST".

Si vous voulez que Fedora apparaisse en-dessous de Ubuntu : placez ce texte juste après la ligne contenant "### END DEBIAN AUTOMAGIC KERNELS LIST"


Vous n'avez plus qu'à enregistre le fichier et à redémarrer pour booter sur votre Fedora.

Solution(s) déjà retenue(s) comme fonctionnelle(s) :

  • Solutions 1 : Configurer manuellement
  • Solutions 2 : Chaîner les bootloaders


Informations annexes :

Si vous décidez de configurer manuellement le menu.lst, il vous faudra penser à le mettre à jour à chaque nouvelle version de kernel ! Lorsque vous mettez votre kernel à jour les chiffres de version du fichier initrd et wmlinuz changent pour le nouveau kernel, l'ancien est conservé et vous pouvez donc toujours booter, mais vous ne démarrez pas le dernier kernel et risquez d'avoir de gros ennuis (notamment conflit au niveau des kmod pour les nvidia).

Pour savoir quelle est la version de votre kernel : uname -a.

Outils personnels