Comment installer plusieurs distributions

linux distibutions

Il arrive souvent que l’on veuille installer 2 distributions Linux en parallèle et pouvoir booter sur l’un et l’autre.

Plusieurs solutions existent, et parmi ces solutions, il y a le chain-loading.

Le Chain Loading consiste à chaîner les boot loader. Ainsi le chargeur de boot de la première distribution ( li/grub ) chargera le chargeur de boot de la 2ème distribution ( lilo/grub ) lorsque l’on voudra démarrer la deuxième distribution.
Comment procéder ? il faut respecter plusieurs étapes. La 1ère distribution que l’on va installer va devenir la distribution principale. Les autres seront appelées des distribution secondaires.

Note : Toutes les modifications de fichiers système et/ou les commandes devront être lancées en tant qu’administrateur du système ( root ).

Note 2 : On va se baser sur le schéma de partitionnement suivant :
distribution principale : / = /dev/hda2 , /home = /dev/hda5 , swap = /dev/hda7
distribution principale : / = /dev/hda3 , /home = /dev/hda6 , swap = /dev/hda7

Note 3 : Il peut se révéler très intéressant et très pratique d’utiliser la même partition pour le /home de la distribution principale et le /home de la distribution secondaire.

1ère étape : Installer la distribution principale

Tout d’abord on installe la distribution principale. C’est le chargeur de boot de celle-ci qui permettra de lancer les chargeurs de boot des distributions secondaires.
Pour cela, il faut installer le chargeur de boot dans la MBR ( Master Boot Record ) du disque de démarrage. Souvent ce sera pour un système IDE le Primary Master qui s’apelle sous Linux hda.

Lilo

Normalement lors de l’installation de votre distribution vous devriez pouvoir choisir facilement le fait d’installer lilo dans la MBR. Cependant dans le cas où vous voudriez le faire manuellement, il vous suffit d’éditer le fichier /etc/lilo.conf et de modifier l’option boot. Cette option définie l’endroit où lilo doit s’installer. Dans notre cas, nous supposons que hda est notre disque de boot et donc il faudra avoir boot=/dev/hda pour que lilo s’installe dans la MBR. Voici un extrait d’un lilo.conf avec l’option boot correctement positionnée :
boot=/dev/hda
map=/boot/map
prompt
nowarn
timeout=100
keytable=/boot/fr-latin1.klt
message=/boot/message
image=/boot/vmlinuz
label=”linux”
root=/dev/hda2
initrd=/boot/initrd.img
append=”resume=/dev/hda7 hdc=ide-cd splash=silent”
vga=788
read-only

Ensuite pour valider les changement, il ne faut pas oublier de lancer la commande lilo :/sbin/lilo

grub

Pour installer GRUB dans la MBR, il suffira de lancer la commande suivante :
grub-install /dev/hda
On peut aussi utiliser la notation native de grub ce qui fait que la commande précédente devient :
grub-install ‘(hd0)’

2ème étape : Installer la ou les distribution(s) secondaire(s)

Après avoir installée notre distribution principale et vérifier qu’elle bootait correctement, nous allons installer la distribution secondaire. En fait là où il faut faire attention, c’est le fait qu’il ne faut pas installer le chargeur de boot de la distribution secondaire dans la MBR !!!. Il faut installer le chargeur de boot dans une partition. Souvent on choisira la partition / ou /boot de la distribution secondaire. Dans notre cas nous choisirons la partition / ( /dev/hda3 ).

Lilo

Lors de l’installation, on peut normalement décider de l’endroit où l’on veut installer lilo. Sinon on peut modifier manuellement le fichier /etc/lilo.conf afin que lilo s’installe sur une partition. L’option boot devra être positionnée correctement, dans notre cas cela donne boot=/dev/hda3. Voici un extrait du lilo.conf de la distribution secondaire :
boot=/dev/hda3
map=/boot/map
prompt
nowarn
timeout=100
keytable=/boot/fr-latin1.klt
message=/boot/message
image=/boot/vmlinuz
label=”linux_sec”
root=/dev/hda3
initrd=/boot/initrd.img
append=”resume=/dev/hda7 hdc=ide-cd splash=silent”
vga=788
read-only

Ensuite pour valider les changement, il ne faut pas oublier de lancer la commande lilo :/sbin/lilo

grub

Pour installer GRUB dans la partition / de la distribution secondaire, il suffira de lancer la commande suivante :
grub-install /dev/hda3
On peut aussi utiliser la notation native de grub ce qui fait que la commande précédente devient :
grub-install ‘(hd0,2)’

3ème étape : chainloader les autres chargeur de boot à partir du chargeur de boot de la distribution principale

Après avoir démarrer avec la distribution principale, on va ajouter les entrées nécessaires dans le fichier de configuration des chargeurs de boot afin de chainloader les autres chargeurs de boot.

Lilo

On va donc ajouter une entrée dans /etc/lilo.conf de type other, pointant vers le / de la secondaire ( /dev/hda3 ), qui permettra de charger lorsqu’on la sélectionnera le chargeur de boot de la distribution secondaire. Voic l’entrée que l’on ajoutera :
other=/dev/hda3
label=”distro_2″

Ensuite pour valider les changement, il ne faut pas oublier de lancer la commande lilo :/sbin/lilo

grub

De même pour grub, on va modifier le ficher /boot/grub/menu.lst et ajouter l’entrée suivante :
title Distro secondaire           root (hd0,2)
chainloader +1

les changements seront pris automatiquement en compte par GRUB.

Voilà ! Normalement au prochain démarrage, lorsque vous sélectionnerez l’entrée correspondant à la distribution secondaire, vous tomberez sur son chargeur de boot et celui-ci vous permettra de la démarrer.