Multiboot facile avec grub

Il est intéressant de pouvoir installer plusieurs distributions linux côte à côte. On peut hésiter si l'on n'a qu'un seul ordinateur avec un seul disque dur. Or, si celui-ci est assez grand, et que l'on souhaite tester en réel une ou plusieurs autres distributions, il serait dommage de s'en priver !

Il est préférable d'avoir de bonnes connaissances sur le système, les partitions, la structure d'un disque dur, des notions de base sur la cohabitation windows et linux, etc…afin de faire son miel de cet article.

Liens vers des articles connexes

La lecture de ces articles n'est pas indispensable, mais peut être utile.

Réparer grub

Pour le dépannage de grub2, consultez dépanner grub.

grub_casse

Montage de partitions

Sauvegarder

que_sauvegarder_et_comment deuxième partie de cet article reinstaller_linux

La console

Arborescence de linux et chemins

Préambule

Grub peut lancer des images ISO

Il est possible de demander à Grub de booter sur des images iso.

Est-ce utile ?

Il existe déjà la possibilité de booter depuis une clé usb, mais cela ne fonctionne pas avec toutes les distributions. Il est possible de virtualiser un système à partir d'une de ces images iso, grâce à Virtualbox par exemple, qui ne nécessite pas de clé USB mais dont l'inconvénient est qu'il ne teste pas votre configuration mais un matériel émulé.

Avantages

Vous avez téléchargé quelques images iso de plusieurs ditributions Linux. Suite à la gravure de vos CD, vous avez gardé ces images sur votre disque dur. Il est possible de configurer grub, pour qu' au démarrage, il vous donne la possibilité de choisir une de ces images afin de la lancer comme si vous bootiez depuis un live CD. Cela est très pratique :

  1. inutile de transporter vos CD avec vous
  2. c'est plus rapide
  3. vous avez le choix au démarrage du système et il sera facile de redémarrer pour booter sur une autre image.
  4. vous pouvez tester rapidement une image iso !
  5. vous pouvez ajouter dans cs images celles de cd de réparation, parted magic ou system recue cd

Procédure

article original sur cette procédure

Il est préférable que les isos soient stockées à la racine d'une de vos partitions plutôt que dans un sous-dossier car elles seront plus facile à trouver. Les menus sont à ajouter au fichier 40_custom :

Il faut donc éditer cette sous section de grub (gedit éditeur de texte par défaut dans ubuntu)

gksudo gedit /etc/grub.d/40_custom

Ensuite, pour qu'ils soit activés dans grub :

sudo update-grub

Vi-dessous, le menu de grub pour pour lancer une autre version d'ubuntu, la 10.10 alors que j'utilise la 10.04. Attention, j'utilise ci-dessous une architecture AMD 64 bits. Ne testez que des images iso compatibles avec votre matériel.

menuentry ".. Ubuntu 10.10 Maverick AMD64" {
insmod loopback
insmod iso9660
set isofile="/ubuntu-10.10-desktop-amd64.iso"
loopback loop (hd0,7)$isofile
linux (loop)/casper/vmlinuz locale=fr_FR bootkbd=fr console-setup/layoutcode=fr iso-scan/filename=$isofile boot=casper file=/cdrom/preseed/ubuntu.seed noprompt quiet splash --
initrd (loop)/casper/initrd.lz
}

Grub2 sur clé USB

Il exise la possibilité d'installer grub sur une clé usb contenant plusieurs images iso. Vous aurez ainsi la possibilité de tester ces distributions, et de tester plusieurs PC en ne créant qu'une clé.

sudo grub-install --root-directory=<point_montage_part1_clef_usb> <peripherique_clef_usb>

remplacer “point_montage_part1_clef_usb” par le chemin vers votre clé, par exemple /media/clé

remplacer “peripherique_clef_usb” par /dev/sdb . Ceci, si vous n'avez qu'un seul disque dur,et qu'une seule clé usb connectée à la machine, sinon adaptez.

Facilité !

Il s'agit d'installer autant de distributions qu'on le souhaite mais de pouvoir les choisir au boot de façon aisée. On doit aussi pouvoir facilement récupérer l'espace d'une partition pour installer autre chose ou tout simplement récréer de l'espace de stockage ! Il est donc indispensable que les divers gestionnaires de démarrage (grub en l'occurrence) ne s'emmêlent pas, ou que le boot sur un des systèmes devienne impossible car on en a installé ou supprimé un autre.

Attention, toute modification (ajoût ou suppression, ou même modification de taille) des partitions n'est pas sans danger !

Numérotation

Voir plus bas … En effet, cela entraîne une modification de leur numérotation. Grub qui connait ma Debian sur (hd0,6) ne la connaîtra pas sur (hd0,5) ou sur (hd0,7) ! Ce point est particulièrement crucial pour le premier grub (qu'il soit situé dans le mbr ou pas)! En principe, il est inutile d'installer un second grub dans une autre localisation sauf utilisaton de GAG !

UUID

La nouvelle gestion des partitions par leur UUID, et ce à partir d'Ubuntu Karmic 9.10 est extrêmement solide, mais requiert de la rigueur, et une mise à jour des UUID dès qu'un changement intervient dans les partitions. Grub2 prend en compte les UUID .

Un excellent article d'ubuntu.org ici

A quoi servent les UUID

Au fil du temps, il est possible, voire probable, que l'organisation de votre système de fichiers change : sans parler des périphériques de stockage, vous allez créer des partitions, modifier leur taille ou leur système de fichiers. À chacune de ces modifications, les partitions modifiées ou créées seront gratifiées automatiquement d'un nouvel UUID.

On les trouve dans

    /etc/fstab
    
    /boot/grub/grub.cfg (ne pas modifier ce fichier; il est configuré automatiquement !)
    

Depuis grub-PC (le grub le plus récent ou grub2), ils ne sont plus dans

    /boot/grub/menu.lst 

car menu.lst n'existe plus !

Connaître les UUID

ls -l /dev/disk/by-uuid/

vous permet de connaître les droits d'accès, le propriétaire, la date et l'heure de création et, enfin, l'UUID.

Avec blkid

La commande blkid (ou /sbin/blkid), rattachée à la famille des E2fsprogs, vous permet de trouver les attributs UUID, LABEL (étiquette ou nom que vous avez donné à la partition) et TYPE (ext3 ou ext4, ou autre type unix).

Faire sudo blkid -g avant sudo blkid pour mettre à jour le cache des UUID

En console sudo blkid, entrez le mot de passe.

Depuis un live CD de dépannage (distrib ubuntu, ou UBCD), vous êtes automatiquement root, ne tapez pas sudo !

Combien de distributions différentes ?

Théoriquement autant que l'on veut ! Sur des partitions principales, dont le nombre est 4 maxi, on ne peut installer que 4 systèmes linux différents, MAIS on peut avoir aussi trois principales et une étendue. Celle-ci contient autant de partitions logiques que l'on veut en créer, et elles peuvent chacune recevoir un système linux. Mais un seul grub suffit pour les lancer au démarrage !

Pour ceux qui trouvent le menu de grub trop triste, il existe de noubreux moyens de l'améliorer ! GRUB Themes

Vous avez déja grub2 d'installé ? Excellent !

Grub2 et osprober

Grub2 a une fonctionnalité extrêmement intéressante. Il est capable de rechercher les systèmes installés sur les disques et de les ajouter facilement. Il devient dès lors inutile d'installer le grub proposé lors de l' install d'une distribution supplémentaire sur le disque. Avant la fin (qui lance le processus d'installation final et qui en principe écrit une nouvelle table des partitions), cliquez sur le bouton avancé, et décochez installer un chargeur de démarrage.

Rebootez dans votre ancienne distribution. Lancez en console sudo update-grub, tapez votre mot de passe, et grub va découvrir la distribution linux nouvellement installée.

Au redémarrage suivant, vous aurez une entrée de menu supplémentaire qui vous donnera accès à cette distribution !

Grub dans le mbr ou sur une partition ?

L'intérêt de ne pas installer GRUB dans le MBR est multiple : Votre disque est tatoué, vous ne voulez pas déranger windows ( si vous l'avez !), vous utilisez un chargeur de démarrage tel que GAG.

Cependant si vous n'avez pas windows, ni de chargeur de démarrage dédié, votre GRUB est automatiquement installé dans le MBR. Le seul problème pourrait venir d'une nouvelle version de grub bugguée qui vous empêcherait de booter sur l'une des distributions installées : rare .

Deux grubs ?

Si vous n'avez pas suivi le conseil ci-dessus et avez quand même installé grub sur la partition racine du nouveau système, deux cas se présentent:

-Vous avez GAG, alors depuis gag, vous devriez pouvoir configurer une touche numérique pour accéder à cette distrib, esthétique et pratique !

-Vous n'avez pas gag, donc GRUB est dans votre mbr. La nouvelle entrée qui apparaît dans le menu vous emmène vers le second grub sur la partition système fraîchement installée, et là, vous avez à nouveau un menu de grub: pas bien pratique, tout ça !

Si vous n'êtes dans aucun des cas listé ci-dessus, ou que vous voulez en savoir plus sur le fonctionnement des grub, vous pouvez lire la suite !

Questions importantes

Comment gérer le démarrage de toutes ces distributions ? La dernière installée ne va-t-elle pas, à la façon de windows, écraser le secteur de démarrage des autres distributions ? Et si l'on désinstalle ensuite une des distributions, que devient son chargeur de démarrage, comment le modifier, et comment continuer à travailler avec les autres systèmes qu'il aurait éventuellement pris en charge ?

Cet article est fortement lié à un autre article d'Icaunux dépanner grub. Pour des raisons de clarté les deux articles sont séparés. Celui-ci-dessous est plus tourné comme le titre l'indique dans le rôle de grub pour gérer le multiboot.
Cet article est volontairement placé dans la rubrique averti pour plusieurs raisons : - La rubrique débutants est chargée. - Il n'y a en principe pas besoin de s'occuper de grub si on n'a qu'un seul système d'exploitation sur un seul disque. - Le cas de cohabitation entre windows et linux (ou dual boot ordinaire) est déjà traité sur ce site et de nombreux autres.
Les conseils généraux donnés sur les sites d'aide à l'installation de linux en multiboot avec windows restent valides.Il faut faire la sauvegarde de ses données, préférentiellement, sur un support autre que son disque interne.

L'installation complète d'Ubuntu s'est bien déroulée, cependant, si vous avez des disques SATA et PATA mélangés et que votre BIOS n'est pas bien configuré, il se peut que Grub n'arrive pas à lancer Ubuntu. D'où l'intérêt de comprendre ce qui se passe.

Un chargeur de démarrage: GRUB

L'installation des fichiers de la nouvelle distribution sur une ou des partitions est aisé, mais le processus d'installation nous demande à la fin de choisir un chargeur de démarrage et le lieu où l'installer. C'est ce chargeur qui, au démarrage nous donne le choix entre les divers systèmes présents sur le disque. Le plus fréquemment installé avec la plupart des distributions actuelles est GRUB.

Questions de chaînage

Mais lors de l'installation d'un second système en plus du premier, le dernier installé installe son propre chargeur de démarrage. Celui-ci prend en principe en compte le premier système d'exploitation et ajoute une entrée dans le menu de démarrage vers ce premier système.

Ne pas installer grub dans le mbr

On l'installe dans la partition linux. Il faut modifier le choix par défaut à la fin de l'install en cliquant sur le bouton avancé.

On relance le PC, et on voit le grub de son premier système installé. Il faut modifier le grub de ce premier système pour qu'il liste ensuite (au redémarrage suivant) notre nouvelle distribution. Il s'agit de faire un chaînage.

“chainloader” nous permettra de lancer un autre gestionnaire d'amorçage présent sur le premier secteur des partitions concernées : Windows, Lilo,.. Voici un exemple pour sda7.

menuentry "Bootloader Lilo sur sda7" {set root=(hd0,7)chainloader +1}
Chainloader ne fonctionne pas tel quel vers Grub2.

Lancement depuis Grub-Legacy

En plaçant ces lignes (avec l'UUID correspondant à la partition souhaitée) dans le menu.lst d'un Grub-Legacy, on pourra lancer un Grub-pc derrière un grub-legacy.

 title		Karmic via GRUB-pc uuid		70e29811-71a3-4553-a16c-1cce2ff334ed kernel		/boot/grub/core.img 

Le script /etc/grub.d/30_os-prober

os-prober

Il permet de rechercher d'autres OS présents sur la machine et de les rajouter à GRUB automatiquement

Si le script /etc/grub.d/30_os-prober n'a pas trouvé les autres systèmes présents sur la machine, il est possible d'utiliser le logiciel OS-prober pour faire la même chose : Ubuntu.fr|os-prober

Où est installé GRUB ?

Lors de l'installation GRUB se place dans le MBR du disque, mais on peut souhaiter le mettre sur une disquette, une clé usb, un autre disque dur (plus complexe), la partition root. Dans le dernier cas, il faudra un autre gestionnaire de démarrage (pourquoi pas GAG ou XOSL) installé pour partie dans le MBR qui passera alors le relai à GRUB partie une (stage1) et à GRUB partie 2 (stage2).

Grub pouvait s'installer sur une partition primaire ou bien une partition logique dans sa version Grub-legacy.Depuis une grosse mise à jour de ce logiciel appelé désormais Grub-PC ou encore Grub2, il s'installe exclusivement sur une partition primaire. Les distributions récentes (depuis 2009-2010) intègrent toutes la nouvelle version de Grub.

Grub se compose de deux parties

Le premier secteur des disques durs est occupé par le MBR,master boot record ou secteur d'enregistrement des systèmes bootables (lançables) présents sur le disque dur.

Le MBR est trop petit pour contenir toutes les informations. Grub y installe donc un petit morceau de code stage1, et au démarrage stage1 passe le relai à stage2 situé à un endroit du disque où il y a plus de place !

Boot impossible: Editer Grub au démarrage

Un autre article d'icaunux est spécifiquement consacré à grub2. Il contient des conseils de dépannage plus avancés.dépanner grub2
Grub-PC et GRUB-legacy ont une structure différente, si vous avez l'ancien système (legacy avant Karmic 9.10, voire mandriva avant la 10.01), tenez-compte des différences signalées dans le corps du texte.

Vous ne pouvez booter ?

Si c'est le cas, au démarrage, et avant que le système d'exploitation ne soit lancé en tant qu'utilisateur (vous ne vous êtes pas encore loggué) éditez la ligne (2 fois e), et changez

"hd(1,0)" en "hd(0,0)"

puis faites “b” pour booter.

Pour Grub la numérotation des disques et des partitions commence à zéro. la première partition du premier disque s'appelle donc hd(0,0)

Vous avez pu booter !

Si cela marche, il va vous falloir modifier un paramètre important dans GRUB. Et pour cela, utiliser les droits administrateur :

Ouvrez la console. Tapez la commande:

 sudo gedit /boot/grub/menu.lst 

Gedit est l'éditeur par défaut de l'environnement de bureau GNOME (Ubuntu); si vous êtes sous un autre environnement (kde,Xfce,Lxde) utiliser l'éditeur de texte livré avec votre bureau. On vous demande le mot de passe admin, et une nouvelle fenêtre s'ouvre avec le fichier à modifier.

Pour Grub-Legacy,l'ancien, ce sera menu.lst, mais pour GRUB-PC (ou le 2, le nouveau!), vous éditerez grub.cfg

sudo gedit /boot/grub/grub.cfg

Editez le fichier /boot/grub/grub.cfg (par défaut à partir d'Ubuntu 9.10).

Installer GRUB ailleurs que dans le MBR ?

Vous avez windows et un disque dur tatoué …Comment installer Ubuntu en dual-boot avec Windows XP (sur le même disque dur) dans le cas d'un PC tatoué ?

ubuntu_avec_ntldr

Lors de l'installation par défaut, avec le Desktop CD d'Ubuntu, la première partie de GRUB (stage1) est installée dans le MBR, ce qui écrase complètement le contenu actuel du MBR et, par le fait-même, le tatouage de l'ordinateur ; ceci n'est pas envisageable si l'on possède un ordinateur tatoué et que l'on souhaite conserver la possibilité d'utiliser ou réinstaller Windows.

De même, si l'on réécrit dans le MBR (ce qui se produit si l'on installe ou réinstalle Windows après Ubuntu), stage1 est effacé et GRUB ne fonctionne plus.

Installer stage 1 ailleurs que sur le mbr

Pour éviter ces deux cas de figure, on a la possibilité d'installer stage1 ailleurs que dans le MBR.

L'installer dans le secteur d'amorçage de la partition racine d'Ubuntu ; Windows n'y touchera pas. Ceci évite de corrompre le fonctionnement de GRUB.

Oui, mais cela ne fonctionne plus avec Grub 2 si Linux est installé sur une partiton logique?

Rappels: partitionner, sauvegarder

En l'absence d'un second disque dur (interne ou externe), on peut, même si ce n'est pas l'idéal, sauvegarder les partitions et le mbr sur une autre partition du même disque dur.

Avant de manipuler, il peut être utile d'avoir une sauvegarde système (windows ou linux). Cette sauvegarde peut se faire dans un premier temps sur le même disque, pourvu qu'on y ait plusieurs partitions. Le multiboot par défaut signifie partitionnement, car on ne peut installer deux systèmes sur la même partition !

belles copies d'écran

Faire l’image d’une partition sur un DD en NTFS avec un Live CD

Un live CD pour partitionner et sauvegarder dans la foulée

Liens essentiels

multiboot_facile_avec_grub.txt · Dernière modification: 2011/08/25 11:08 (modification externe)
GNU Free Documentation License 1.3
Powered by PHP Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Valid HTML5