Découvrir GNU/linux est une expérience en soi enthousiasmante. Mais l’utiliser en une seule version peut avoir quelque chose de frustrant. Il est vrai qu’il existe une grande variété de distributions, dont certaines spécialisées dans certains type de tâches, la MAO (Musique Assistée par ordinateur)
Cet article a pour but d’expliquer une certain nombre de méthodes associées à l’installation sur un même ordinateur de plusieurs distributions de GNU/linux. Il s’adresse aussi bien aux débutants qui souhaiteraient disposer d’une version de production et d’une autre avec laquelle ils puissent effectuer des tests et expériences, qu’à d’autres personnes curieuses et souhaitant comparer en service différentes variantes de systèmes.
Vous y trouverez donc un certain nombre d’informations sur le partitionnement, la configuration de GRUB, le chargeur de démarrage, et les méthodes de bases pour s’y repérer.
Installer plusieurs versions de GNU/linux rend sûrement plus complexe l’administration d’un ordinateur. Celà peut toutefois se révéler intéressant pour par exemple, passer d’une génération de distribution à une autre, ou disposer d’un système à noyau temps réel équipé de logiciels de musique et en même temps un système plus classique pour la bureautique et la communication en ligne.
Le savoir-faire nécessaire pour installer un système d’exploitation est très utile, d’autant plus qu’il vous libère des monopoles de certains systèmes et vous permet une meilleure perception de la relation allant du matériel au logiciel dans votre ordinateur.
Les pré-requis essentiels pour arriver à s’en sortir sont d’abord une connaissance liminaire du partitionnement et des systèmes de fichiers , ensuite quelques notions des caractéristiques techniques de GRUB, le chargeur de démarrage. Cette description se structurera principalement autour de ces deux points, traitant d’autres en relation avec eux.
1. Avoir de l’espace pour travailler
Pour pouvoir exploiter plusieurs installations de GNU/linux, il faut disposer de suffisamment d’espace disque ; nous dirons que si nous voulons faire autre chose que simplement s’amuser, vingt à trente gigaoctets par distribution constituent à peu près la valeur d’espace permettant d’exploiter chacune décemment et de manière autonome.
Notons que les partitions de swap peuvent sans problème se partager d’une distribution à une autre et qu’on puisse parfaitement n’en disposer que d’une à un endroit déterminé, qui nous serve pour toutes nos variantes.
Nous gagnerons aussi plutôt qu’à créer des /home de grande taille chaque fois, à plutôt stocker nos données de travail sur des partitions dédiées au stockage, et qui se puissent ainsi monter en lecture/écriture pour les utilisateurs de chacun des systèmes utilisés.
Il est bien sûr impossible de profiler des systèmes-types et de normer les tailles de partitions, et encore moins de désigner une manière de fractionner celles-ci qui se veuille orthodoxe. Une chose est certaine, c’est que lorsqu’on rend plus complexe la configuration de son ordinateur, les notes sur un support papier de référence s’imposent d’autant plus [1].
D’autre part il n’est d’aucune espèce d’intérêt d’installer des systèmes d’exploitation sans espace suffisant pour les utiliser. La règle implicite à laquelle on peut se conformer c’est celle qui veuille que l’espace disque de travail soit systématiquement libre à 50%, afin de permettre toute forme reclassement et recomposition des données. À quoi on peut ajouter que les données critiques se doivent, pour nous laisser toutes libertés d’administrer la machine d’être dument dupliquées (sauvegardées) sur des supports externes.
Au travers d’un exemple commenté, nous essaierons de décrire les avantages de certaines façon de partitionner sur plusieurs disques.

Bien sûr l’exemple ci-dessus ne présume ni de votre configuration, ni de vos besoins et reste de toute manière un prétexte abstrait.
Comme conseillé, les espaces des répertoires /home pour chaque distribution n’y sont pas confondus, de larges partitions de stockage étant aménagées afin de rendre un maximum de données accessibles à toutes les versions installées de Linux. Il est même à remarquer que le choix ici ait consisté à créer des partitions linux de taille homogène et qui permettent, au gré des installations successives de servir soit de /home, soit de répertoire racine pour le système (taille indicative 16 Gio).
Quant à la raison qui explique la disposition sur un disque différent des répertoires /home et des répertoires racine, elles témoignent d’un souci d’optimiser les vitesses de tranfert de données, au même titre que la disposition sur deux disques différents du système de windows et de ses partitions de stockage. On peut ou non appliquer cette méthode ; elle tient compte du fait que les tranferts se fassent toujours plus rapidement si on n’est pas entrain de lire et d’écrire en même temps sur un même disque matériel.
La dénomination visible sda et sdc des disques est un prétexte pour expliquer que suivant le même objectif et pour le cas d’un système IDE, il soit impératif de disposer vos disques durs si possible comme mâitres sur chaque contrôleur, d’une part part parce qu’installer un lecteur cd/dvd comme mâitre ferait fonctionner le disque dur qui en serait esclave à une vitesse de transfert infiniment plus lente, et d’autre par parce que ces derniers sont d’autant plus rapides qu’ils s’opèrent sur des contrôleurs différents.
Ainsi dans notre exemple, le lecteur cd/dvd pourrait tout aussi bien être installé comme esclave en sdb qu’en sdd.
Pour finir, l’avantage à disposer 500 Mo de swap sur chaque partition rend possible et plus rapide une recomposition du partitionnement sur un disque ou un autre.
2. Les problèmes spécifiques aux multi-installations
Avant d’expliquer comment installer une deuxième distribution et pouvoir alterner d’une distribution à une autre, décrivons les problèmes les plus courants qui pourront se poser :
l’entrée de GRUB ne permet plus de lancer aucune des distributions installées
l’entrée de GRUB se traduit par un message Erreur 18 ou autre
au lancement, une ou plusieurs distributions affichent des messages d’erreurs faisant soit échouer son démarrage, soit échouer le lancement d’éventuels environnements graphiques
Lors d’une utilisation standard, des lecteurs disque ne sont plus accessibles
Les deux premiers dysfonctionnements décrits proviennent d’une mauvaise configuration du chargeur de démarrage, quand la plus part du temps les autres symptomes proviennent de la méthode et des adresses utilisées pour monter vos partitions.
Certes Linux est un système intelligent, mais ses exigences fiabilité lui imposent une constitution robuste, le conduisant à retourner des erreurs lorsqu’il détecte une incohérence entre ses fichiers de configuration et les caractéristiques qu’il détecte. Il en est de même pour GRUB qui, en dépit des apparences, dépend du système par défaut sur lequel il s’appuie.
3. Quelques explications au sujet de GRUB et du noyau Linux
Linux contrairement à Windows, ne se réfère pas aux informations du BIOS pour tester les fonctionnement des composants, mais les teste à son tour. C’est ce qui explique qu’il puisse se bloquer au démarrage lorsqu’il détecte certaines anomalies.
L’anomalie la plus courante, et qui effraie souvent les débutants, consiste en l’affichage au démarrage de grub d’un magnifique panneau tout noir avec pour toute information une expression absconse écrite en blanc en haut de son écran.
4. Qu’est-ce qui peut bien bloquer GRUB et comment en sortir ?
L’affichage spartiate d’un échec de GRUB ne doit surtout pas vous inciter à imaginer votre machine vidée miraculeusement de toutes ses données. Celà même si la prudence de rigueur exige, chaque fois qu’on manipule partitions et distributions, d’avoir soigneusement archivé toutes les données qui nous soient précieuses sur un support extérieur à l’ordinateur concerné.
Ainsi est-il de la plus élémentaire prudence de disposer du CD-ROM d’une version Live-CD de GNU/linux sur laquelle il nous soit possible de démarrer l’ordinateur sans se référer à des partitions disques particulières, et capable de nous permettre de dépanner ou même réinstaller GRUB.
En effet GRUB, tout en étant robuste et fiable, n’est qu’un logiciel qui obéi aux instructions qu’on lui a donné et si ces instructions sont fausses, il le manifeste crument puisqu’il a la responsabilité de tout charger.
Au démarrage, GRUB appelle sa partie installée sur la partition /boot ou le répertoire /boot/grub auquel à son installation on lui a instruit de se référer. Si il ne trouve pas celle-ci, qui consiste en son moteur proprement dit, alors il retourne :
Hard Disk Error
ou
Selected disk does not exist
ou toute autre alerte fort inquiétante, la première pouvant d’ailleurs vraiment l’être en ce sens que les disques durs n’étant pas éternels, il peut arriver un jour que l’un d’entre eux rende effectivement son tablier. Mais bon, l’erreur la plus fréquente au départ, c’est celle où il appelle un disque dur ou une partition sur laquelle sa partie substantielle n’est pas installée, bref qu’il frappe à la mauvaise porte et ne trouve pas ses petits.

Les causes peuvent en être multiples. Si vous avez manipulé vos périphériques matériels ou été titiller l’ordre de démarrage des disques durs dans votre BIOS, alors l’anomalie peut provenir de celà. Par exemple, si vous avez ajouté un disque dur et si celui-ci est cablé et/ou configuré afin d’être le premier à démarrer la machine, celà peut même produire un écran tout noir avec un message de type.
No system found
qui lui ne provient pas de grub, mais du BIOS, puisque même l’amorçage de GRUB n’est pas appelé.

L’amorçage de GRUB, s’il doit fonctionner, est toujours inscrit dans les premiers secteurs du premier disque appelé au démarrage de votre ordinateur. Que ce soit par son cablage interne sur son contrôleur ou dans le bios, Si vous souhaitez faire en sorte que votre machine ne démarre plus, le plus simple c’est effectivement, si vous avez plusieurs disques durs de changer l’ordre dans lequels ils démarrent.
5. Paramétrages de GRUB
Portons maintenant attention aux paramétrages spécifiques à GRUB, et aux fichiers qui y sont associés. En admettant que vous ayez un appel du MBR vers une installation valide de GRUB, l’installation de plusieurs versions de GNU/linux suppose que vous sachiez a minima paramétrer le GRUB appelé afin qu’il vous propose des entrées vers vos différentes distributions !
La plupart des distributions de GNU/Linux installe GRUB en fin de procédure d’installation. Il peut en résulter d’une part une impression déconcertante liée au changement d’aspect de GRUB au démarrage suivant le nouvelle installation, mais surtout parfois la perte d’entrées vers des distributions installées en parallèle.
Les fichiers fondammentaux de GRUB sont stockés dans le répertoire /boot/grub de la racine de la nouvelle installation.
menu.lst est l’élément essentiel parmi ces fichiers. Il s’agit d’un fichier source texte regroupant tous les paramètres d’entrées correspondant à chacun des systèmes d’exploitation que GRUB va pouvoir lancer. Son édition est accessible depuis un simple éditeur de texte, par exemple nano en mode console.
Toutes les lignes du fichier commençant par un dièse # sont des lignes de commentaire qui ne sont pas interprêtées par GRUB. Les entrées correspondant à chaque système d’exploitation sont écrites en fin de fichier.
Voici un exemple d’entrée vers une distribution de GNU/linux :
title Debian GNU/Linux, kernel 2.6.29-1.slh.5-sidux-686 root (hd0,5) kernel /boot/vmlinuz-2.6.29-1.slh.5-sidux-686 root=UUID=676d3ac1-388a-4100-ada3-7ab3690113da ro quiet vga=791 initrd /boot/initrd.img-2.6.29-1.slh.5-sidux-686
Expliquons ces quatre lignes
| argument | paramètres |
| title | Le nom qui désignera votre distribution, vous pouvez choisir celui que vous voulez pour vous y repérer ; la ligne est affichée mais pas interprêtée. |
| root | Adresse de la partition racine en syntaxe GRUB : où (hdN,... ) désigne le périphérique disque et (...,N) la partition appelée sur ce périphérique ; GRUB numérote les périphérique en partant du zéro, aussi attention, votre premier disque s’appelle forcément hd0 pour GRUB ; GRUB est indifférent au standard de votre disque et à la présence d’autres périphériques que disques durs (lecteur CD/DVD par exemple) : il numérote 0,1,2.etc. sans interruption tous les disques durs trouvés sur l’ordinateur |
| kernel | Chemin du noyau à démarrer et identifiant en syntaxe linux de la partition racine ou de la partition boot sur laquelle il se trouve ; les autres arguments sont des options de démarrage [2] |
| initrd | Chemin du fichier d’initialisation de la séquence de démarrage en syntaxe linux |
Ces strophes sont évidemment éditables à tout moment, en particulier lorsqu’un problème se produit, et que le démarrage de l’ordinateur à l’aide d’un Live-CD [3] peut vous aider à le corriger.
Ci-dessous nous voyons un écran de l’outil de partitionnement gparted affichant le partitionnement d’un disque reconnu comme /dev/sda, à savoir premier disque d’une machine.

Nous y notons que la deuxième partition logique de la partition étendue soit une partition racine linux. Son identifiant de périphérique en syntaxe linux sera donc /dev/sda6. C’est précisément cette partition qui est appelée dans la syntaxe utilisée par grub, à savoir (hd0,5) dans l’exemple cité plus haut dans cet article.
Comme grub numérote à partir du zéro, et qu’il numérote distinctement les partition logiques, (hd0,5) correspond bien à la deuxième partition logique de notre disque. Nous en déduisons que pour ce qui correspondrait à une entré grub vers un système installé sur la partition labellisée racine 2, identifiée /dev/sda9 sous GNU/linux, il nous faudrait inscrire dans la ligne root de l’entrée correspondant dans GRUB, l’expression (hd0,8).
Notons aussi que gparted n’a été utilisé ici qu’afin d’obtenir une simple vue graphique de la configuration du disque dur, ce qui est assez pratique lorsqu’on espace ses installations et qu’on cherche ce type d’information.
Dans la configuration linux dans laquelle nous nous trouvons, c’est l’identifiant universel (UUID) du périphérique bloc correspondant à la-dite partition, qui est utilisé pour la désigner comme hôte du noyau linux (kernel).
Cette méthode de désignation tout n’étant pas simple, permet plus de souplesse dans l’utilisation de vos disques durs, puisque quelque soit la position matérielle du support, la partition ainsi identifiée le sera toujours tant qu’on ne l’aura pas reformatée. Là encore, le recours à un live-CD vous garantit de pouvoir récupérer les différents identifiants universels correspondant à vos partitions, en lançant depuis une simple console (terminal) utilisateur la commande :
ls -l /dev/disk/by-uuidToujours dans l’exemple qui nous occupe, cette commande nous retournera, pour le disque concerné, les lignes suivantes :
total 0 lrwxrwxrwx 1 root root 10 nov. 12 06:00 3AD1-D41B -> ../../sda5 lrwxrwxrwx 1 root root 10 nov. 12 06:00 479d23f0-f9bf-46cf-a8f8-a5806c4fa744 -> ../../sda7 lrwxrwxrwx 1 root root 10 nov. 12 06:00 515AD9B87C64028A -> ../../sda1 lrwxrwxrwx 1 root root 10 nov. 12 06:00 676d3ac1-388a-4100-ada3-7ab3690113da -> ../../sda6 lrwxrwxrwx 1 root root 10 nov. 12 06:00 7f063d92-e3a7-4818-aea8-11e58d27e2db -> ../../sda8 lrwxrwxrwx 1 root root 10 nov. 12 06:00 9b2b2429-1310-409d-b1d4-a18ba74798b2 -> ../../sda9 lrwxrwxrwx 1 root root 11 nov. 12 06:00 a8c57a87-cce3-4aa7-a7ca-e1bc142b598b -> ../../sda10 lrwxrwxrwx 1 root root 11 nov. 12 06:00 d0bfe556-87f1-4c54-b187-1e3589c695e9 -> ../../sda11
Nous retrouvons bien ici l’identifiant universel de la partition racine de notre exemple, à la ligne : lrwxrwxrwx 1 root root 10 nov. 12 06:00 676d3ac1-388a-4100-ada3-7ab3690113da -> ../../sda6
6. Conclusions provisoires
Nous venons de voir quelques éléments qui devraient vous permettre de vous en sortir pour éditer vos propres fichiers menu.lst de GRUB et y restaurer si nécessaire les entrée manquantes vers les systèmes GNU/linux déjà installés sur votre ordinateur.
En somme il existe un ordre bien déterminé d’informations devant vous être claires avant de procéder :
savoir quel disque est le premier à démarrer votre machine et vous assurer que l’amorçage de GRUB s’y trouve.
connaître l’état de partitionnement réel de votre disque dur et savoir en particulier y identifier, autant en syntaxe GNU/linux qu’en syntaxe GRUB la partition spécifique où se trouve l’exécutable appelé de GRUB.
connaître la syntaxe quadripartite permettant à GRUB de déterminer le lancement d’un système GNU/Linux et l’utiliser pour recomposer strophe par strophe les entrées souhaitées, sachant qu’il est parfaitement possible d’en récupérer certaines sur le fichier /boot/grub/menu.lst d’une autre partition racine de votre ordinateur.
Lorsque vous installez une nouvelle distribution bien sûr, a minima l’identifiant universel de votre nouvelle partition racine change, puisqu’elle est reformatée. Si la nouvelle installation s’est achevée par l’installation de sa propre version de GRUB, attendez vous quand-même, lorsque vous aurez modifiée vos strophes pour y intégrer d’éventuelles entrées manquantes, à voir s’afficher des avertissements au lancement des installations antérieures.
En effet, les fichiers /etc/fstab des installation antérieures mentionnent vraissemblablement et a minima l’identifiant obsolète de votre nouvelle partition racine (voire de votre nouvelle partition /home si vous l’auriez elle aussi reformatée). Il vous faudra donc modifier en conséquence ces fichier /etc/fstab en y remplaçant les anciens UUID par les nouveaux afin que le démarrage de chacune de vos distributions vous assure la versatilité optimale de votre ordinateur.
Vous trouverez nombre d’informations complémentaires à ces contenus dans la partie francophone du manuel de sidux, et notamment les instructions pour réinstaller GRUB, par exemple pour écrire son amorçage sur le premier secteur de votre premier disque dur.
Ne manquez pas d’adresser toute suggestion d’ajout ou de correction si vous notez des éléments manquant ou erronés dans ces explications.