Grub : Multiboot Mandriva, Windows
Un article de Wiki de la communauté Mandriva.
Il peut être intéressant de se pencher sur la solution « double démarrage » (en anglais : multiboot) : en effet, elle vous permet de :
- Conserver intact votre MBR originel
- Contourner les problèmes des ordinateurs tatoués
- Installer plusieurs systèmes d'exploitation:!
Sommaire |
[modifier] Installer un multiboot
Le double démarrage (multiboot) permet de faire cohabiter plusieurs systèmes d'exploitation (Mandriva, Ubuntu, Windows XP ...) sur un même ordinateur. L'utilisateur choisit le système voulu au démarrage. Dans la suite de ce tutoriel, nous allons voir comment installer deux distributions Linux (dont Mandriva) + Windows XP.
[modifier] Situation initiale
On part du principe que Mandriva est installée sur le disque dur n°1, et que le disque n°2 est vierge / prêt pour accueillir un autre système. Ceci implique que le disque n°2 contient soit :
- Un espace libre non-formaté.
- Au moins une partition primaire libre, suffisamment grande pour installer un OS (8 Go min).
- Des partitions créées au préalable à l'aide d'un Live CD ou de votre distribution Mandriva et de DiskDrake.
Pour continuer, nous allons prendre un exemple pratique en installant d'abord Windows puis Ubuntu. L'objectif est de faire cohabiter trois systèmes comme dans l'exemple ci-dessous :
Le MBR 2 est celui de Ubuntu et il permet de booter :
- soit sur Windows XP par chaînage,
- soit sur Ubuntu.
[modifier] Avant l'installation
Vu que Windows n'aime pas trop la présence d'un autre système d'exploitation, nous allons le f« einterxx. Il vous faut changer l'ordre de démarrage de vos disques durs dans le BIOS pour que le disque dur destiné à Windows soit devant le disque dur contenant Mandriva (donc que le disque 2 boote avant le disque 1) et qu'ainsi Windows croit être installé sur le disque dur maître.
Exemple :
- Lecteur CD/DVD,
- Disque destiné à Windows,
- Disque dur Mandriva.
Si votre BIOS ne permet pas de choisir l'ordre de démarrage entre les différents disques durs (cas très rare), il vous faudra alors inverser les sélecteurs Maître/Esclave de vos disques pour que le disque destiné à Windows soit Maître et le disque Mandriva Esclave. Si vos sélecteurs Maître/Esclave sont sur le mode automatique et que vous tenez à les laisser ainsi, vous pouvez :
- inverser la position des disques sur la nappe,
- inverser la position des contrôleurs IDE,
- débrancher le disque Mandriva pour ne garder que le disque vierge destiné aux nouveaux OS.
[modifier] Procédure d'installation Windows
Vous pouvez suivre la procédure normale d'installation de Windows. Soit vous avez tout prévu et vos partitions sont prêtes, soit votre disque dur est vierge. Dans notre exemple les deux disques font 250 Go. Suivant vos besoins, je vous conseille de créer deux partitions :
- une de 5 Go pour le système et quelques programmes Windows - une autre pour vos données et programmes (à adapter selon vos besoins, mais garder à l'idée qu'il vous faudra de la place pour les trois partitions d'Ubuntu - compter environ 60 Go pour être tranquille - à adapter selon vos besoins).
A ce stade des opérations, vous devriez obtenir le schéma suivant :
Normalement, vous êtes capable de lancer uniquement Windows XP. Finaliser l'installation de Windows, et redémarrer sur le CD d'Ubuntu.
[modifier] Procédure d'installation d'Ubuntu
Vous pouvez suivre la procédure normale d'installation en mode graphique.
Arrivé à la phase du partitionnement, et pour éviter tout problème avec vos partitions Windows, choisissez la procédure manuelle, et ne touchez pas aux partitions Windows.
Arrivé à la partie à l'écran récapitulatif, cliquer sur options avancées. Si vous avez débranché votre disque 1, il n'y a pas de pb. mais si vous avez changé l'ordre de boot, il vous faut bien vérifier l'endroit où va s'installer le chargeur de démarrage (bootloader) d'Ubuntu. Indiquez alors le nom du disque noté lors du partitionnement, pour que GRUB s'installe sur le MBR du disque où vous installez Ubuntu (ici (hd1) qui correspond à votre deuxième disque ou sdb si vous avez deux disques SATA).
Vous pouvez ensuite finir l'installation normalement. Vous devriez obtenir le schéma suivant :
Rebooter et vérifier que tout s'est bien passé. Vous devez arriver sur le boot d'Ubuntu et pouvoir choisir entre Ubuntu et Windows (si vous avez débranché le disque Mandriva) ou Ubuntu, Mandriva et Windows (si vous avez installé avec tous les disques branchés).
[modifier] Après l'installation
Retournez dans votre BIOS et rétablissez l'ordre de boot initial. Le disque sata1 contenant Mandriva redevient le maître. Vous arrivez maintenant sur le GRUB de Mandriva mais vous n'avez pas de trace d'un quelconque Windows ou Ubuntu. Il va falloir éditer le menu.lst de GRUB.
msg=Manipuler GRUB peut vous empêcher de redémarrer. Mieux vaut comprendre ce que l'on fait. Je vous conseille les excellents tutoriels de guide linux et en particulier de consulter la présentation détaillée de GRUB
Le plus simple est de recopier ce qui vous intéresse du GRUB Ubuntu (une petite adaptation est sans doute nécessaire : notamment si vous avez été obligé de changer l'ordre physique maître-esclave des disques comme indiqué plus haut. Dans ce cas hd0 devient hd1 et réciproquement). Pour afficher le contenu du GRUB d'Ubuntu :
Vous aurez bien sûr pris soin de monter les partitions Ubuntu dans media par exemple. Ici, j'ai gardé sdb mais vous pouvez le monter dans /media/ubuntu/systeme.
Une fois les modifications effectuées, sauver et quitter. Il vous faut encore recharger correctement le bootloader. Vous pouvez le faire en mode graphique grâce au MCC de Mandriva en lançant l'outil de configuration du démarrage.
Ceci rechargera la liste comme il faut !!
[modifier] Pour booter sur Windows
Maintenant, il se peut que GRUB n'arrive pas à lancer Windows. Il faut savoir que Windows est très exigeant : il n'accepte de ce lancer que s'il est sur le premier disque dur. Cependant, il n'est heureusement pas très malin et nous pouvons le tromper facilement.
Il vous faut pour cela ouvrir le menu.lst de GRUB, voir plus haut.
Cherchez la ligne Title Microsoft Windows... normalement située à la fin de ce fichier, et rentrez les paramètres map, qui vont virtuellement inverser l'ordre de vos disques lorsque vous lancerez Windows, lui faisant croire qu'il se trouve sur le premier. N'oubliez pas d'enregistrer le fichier après avoir fait les modifications éventuelles.
Exemple qui devrait normalement s'appliquer à votre cas (le disque n°1 devient le n°2, et le disque n°2 devient le n°1) :
title Microsoft Windows XP Catharsis map (hd0) (hd1) map (hd1) (hd0) root (hd1,0) savedefault makeactive chainloader +1
Ici on utilise un chainloader et donc une syntaxe différente. Ceci trompe Windows en chargeant le loader de Microsoft.
Et voilà ! Vous devriez maintenant être en possession d'un PC munis de 3 systèmes d'exploitation. Les systèmes sont normalement indépendants les uns des autres. Vous pouvez emporter un disque dur en voyage ou le débrancher et les OS du disque restant se lanceront. Vous pouvez utiliser cette méthode afin de tester une distribution ou pour changer de distribution sans « tout casser » : idéal pour ne pas avoir à recopier vos sauvegardes sur disque dur (car bien sûr vous faites toujours une sauvegarde AVANT ce genre de manipulation).
[modifier] Au cas où vous devriez réinstaller Windows
- Il vous faudra dans ce cas recommencer la procédure.
- Réinstaller Windows en faisant attention de ne pas écraser vos partitions Ubuntu, et vérifier son bon fonctionnement.
- Et pour finir, vous pouvez réinstaller le boot d'Ubuntu mais ce n'est pas obligatoire puisque vous avez votre boot Mandriva intact. Si toutefois vous souhaitiez conserver cette configuration qui vous permet de débrancher le disque Mandriva et d'accéder soit à Ubuntu soit à Windows, il faut le réinstaller sur le MBR du disque contenant et GRUB et Windows. Suivant votre configuration, il faudra adapter ...
[modifier] Exemples de deux GRUB
[modifier] sda
timeout 5 color black/cyan yellow/cyan gfxmenu (hd0,0)/boot/gfxmenu default 0 title linux kernel (hd0,0)/boot/vmlinuz BOOT_IMAGE=linux root=/dev/sda1 resume=/dev/sda5 splash=silent vga=794 initrd (hd0,0)/boot/initrd.img title linux-nonfb kernel (hd0,0)/boot/vmlinuz BOOT_IMAGE=linux-nonfb root=/dev/sda1 resume=/dev/sda5 initrd (hd0,0)/boot/initrd.img title failsafe kernel (hd0,0)/boot/vmlinuz BOOT_IMAGE=failsafe root=/dev/sda1 failsafe initrd (hd0,0)/boot/initrd.img title Ubuntu, kernel 2.6.20-16-generic kernel (hd1,4)/boot/vmlinuz-2.6.20-16-generic BOOT_IMAGE=Ubuntu,_kernel_2620-16-generic root=UUID=d698bf55-3ca1-4eba-8ffc-5b54fe5385c4 ro quiet splash locale=fr_FR initrd (hd1,4)/boot/initrd.img-2.6.20-16-generic title Ubuntu, kernel 2.6.20-16-generic (recovery mode) kernel (hd1,4)/boot/vmlinuz-2.6.20-16-generic BOOT_IMAGE=Ubuntu,_kernel_2620-16-generic_root=/dev/sda1 ro single initrd (hd1,4)/boot/initrd.img-2.6.20-16-generic title Microsoft Windows XP Professional root (hd1,0) map (hd0) (hd1) map (hd1) (hd0) chainloader +1
[modifier] sdb
Noter que le fichier menu.lst d'Ubuntu est moins simple (même si l'on enlève les lignes d'explication - précédées de #)
timeout 10 title Ubuntu, kernel 2.6.20-16-generic root (hd1,4) kernel /boot/vmlinuz-2.6.20-16-generic root=UUID=d698bf55-3ca1-4eba-8ffc-5b54fe5385c4 ro quiet splash locale=fr_FR initrd /boot/initrd.img-2.6.20-16-generic quiet savedefault title Ubuntu, kernel 2.6.20-16-generic (recovery mode) root (hd1,4) kernel /boot/vmlinuz-2.6.20-16-generic root=UUID=d698bf55-3ca1-4eba-8ffc-5b54fe5385c4 ro single initrd /boot/initrd.img-2.6.20-16-generic title Ubuntu, kernel 2.6.20-15-generic root (hd1,4) kernel /boot/vmlinuz-2.6.20-15-generic root=UUID=d698bf55-3ca1-4eba-8ffc-5b54fe5385c4 ro quiet splash locale=fr_FR initrd /boot/initrd.img-2.6.20-15-generic quiet savedefault title Ubuntu, kernel 2.6.20-15-generic (recovery mode) root (hd1,4) kernel /boot/vmlinuz-2.6.20-15-generic root=UUID=d698bf55-3ca1-4eba-8ffc-5b54fe5385c4 ro single initrd /boot/initrd.img-2.6.20-15-generic title Ubuntu, memtest86+ root (hd1,4) kernel /boot/memtest86+.bin quiet ### END DEBIAN AUTOMAGIC KERNELS LIST # This is a divider, added to separate the menu items below from the Debian # ones. title Other operating systems: root # This entry automatically added by the Debian installer for an existing # linux installation on /dev/sda1. title linux (on /dev/sda1) root (hd0,0) kernel /boot/vmlinuz BOOT_IMAGE=linux root=/dev/sda1 resume=/dev/sda5 splash=silent vga=794 initrd (hd0,0)/boot/initrd.img savedefault boot # This entry automatically added by the Debian installer for an existing # linux installation on /dev/sda1. title linux-nonfb (on /dev/sda1) root (hd0,0) kernel /boot/vmlinuz BOOT_IMAGE=linux-nonfb root=/dev/sda1 resume=/dev/sda5 initrd (hd0,0)/boot/initrd.img savedefault boot # This entry automatically added by the Debian installer for an existing # linux installation on /dev/sda1. title failsafe (on /dev/sda1) root (hd0,0) kernel /boot/vmlinuz BOOT_IMAGE=failsafe root=/dev/sda1 failsafe initrd (hd0,0)/boot/initrd.img savedefault boot # This entry automatically added by the Debian installer for an existing # linux installation on /dev/sda1. title 2.6.17-14 (on /dev/sda1) root (hd0,0) kernel /boot/vmlinuz-2.6.17-14mdv BOOT_IMAGE=2.6.17-14 root=/dev/sda1 resume=/dev/sda5 splash=silent vga=794 initrd (hd0,0)/boot/initrd-2.6.17-14mdv.img savedefault boot # This entry automatically added by the Debian installer for a non-linux OS # on /dev/sdb1 title Microsoft Windows XP Professional root (hd1,0) savedefault map (hd0) (hd1) map (hd1) (hd0) chainloader +1