Contenu | Rechercher | Menus

Comment faire un multiboot sans écraser le MBR et avec 2 disques durs ?

Sans connaitre un mot de programmation voir en fin de page !

Vous voulez garder votre MBR intact ? Vous avez un ordinateur tatoué ? Vous avez un 2e disque dur ?

Cette solution est sûrement la meilleure car les deux systèmes sont ainsi parfaitement indépendants : si vous devez réinstaller Windows, GRUB ne sera pas effacée. De plus, vous pouvez booter sur votre Windows même si vous avez enlevé votre second disque-dur !

Petit schéma

Installer Ubuntu sur un disque dur différent de celui contenant Windows

On part du principe que Windows est installé sur le disque dur n°1, et que le disque n°2 est prêt pour accueillir Ubuntu. Le disque 2 est prêt si :

  • Il contient un espace prêt a accueillir Linux (Espace Libre non-formaté)
  • Il contient au moins une partition primaire libre, suffisamment grande pour installer Ubuntu. (cf Tuto pour 1 disque dur et liens ci-dessous)
  • Et bien sûr si vous y avez au préalable créé les partitions nécessaires (à l'aide d'un Live CD de Gparted par exemple).

Si vous n'êtes pas dans l'un de ces 3 cas, lisez ceci, et ceci pour vous aider.

a. Avant l'installation

Il vous faut changer l'ordre de démarrage dans le BIOS pour que le disque dur destiné à Ubuntu soit devant le disque dur contenant Windows.

Exemple : 1. Lecteur CD/DVD, 2. Disque dur destiné à Ubuntu, 3.Disque dur Windows

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é à Ubuntu soit Maître et le disque Windows 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, voire sur les contrôleurs IDE.

Il n'est plus nécessaire d'utiliser l'Alternate CD, puisqu'à la fin de la dernière étape de l'installation (confirmation des changements), il y a l'option "Avancé" que vous devez cliquer et de là, vous pouvez changer l'emplacement de GRUB. Par défaut, GRUB s'installe sur hd0. Pour changer vous cliquez sur l'onglet et choisissez votre disque. (Par exemple : hd0 ⇒ sdb). Vous pouvez passer l'étape c.

b. Procédure d'installation

Vous pouvez suivre la procédure normale d'installation en mode texte avec l'Alternate CD (se fait aussi avec le LiveCD voir note plus haut), jusqu'à la partie « Installer le programme de démarrage GRUB sur un disque dur », en prenant soin de noter lors de la phase de partitionnement, le nom du disque où vous installez Ubuntu (par exemple hda pour les disques IDE ou sda pour les disques SATA).

Attention ! Arrivé à la phase du partitionnement, et pour éviter tout problème avec votre disque dur Windows, choisissez la procédure manuelle, et ne touchez pas aux partitions Windows.

Arrivé à la partie : « Installer le programme de démarrage GRUB sur un disque dur ». Ici vous devriez avoir un message vous disant qu'un système d'exploitation a été détecté, en l'occurrence votre Windows. À la question « Installer le programme de démarrage GRUB sur le secteur d'amorçage ? » répondez non.

Dans la version anglophone de Ubuntu Karmic , pour définir le lieu d'implantation de GRUB vous devez faire le choix de partition manuelle puis en fin de "scanning" lorsque la fenêtre "Ready to Install" s'affiche, alors cliquez sur le bouton "Advanced" en bas à droite de cette fenêtre et à ce moment vous définissez l'emplacement du "bootloader"(GRUB) sur le disque dur. (le 09 fev 2010)

Une page vous demandant où vous voulez l'installer s'ouvre alors. Indiquez alors le nom du disque noté lors du partitionnement, pour que GRUB s'installe sur le MBR du disque où vous installez Ubuntu (par exemple : /dev/sdb).

Faites attention à ne pas indiquer le disque Windows

Vous pouvez ensuite finir l'installation normalement.

c. Après l'installation

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.

Si c'est le cas, éditez la ligne (2 fois e), et changez "hd(1,0)" en "hd(0,0)", puis faites "b" pour booter.

Si cela marche :

1- si vous avez GRUB-PC (par défaut à partir d'Ubuntu 9.10).

sudo grub-mkdevicemap
sudo update-grub



2 - si vous utilisez GRUB (Version antérieur à Ubuntu 9.10 il va vous falloir modifier un paramètre important dans GRUB. Pour cela, avec les droits administrateur, modifiez le fichier /boot/grub/menu.lst
Rendez-vous à la ligne # groot qui devrait être comme suit :

# groot hd(1,0)

Et changez-là en :

# groot hd(0,0)

Important : gardez le # !! et sauvez, puis tapez dans la console :

sudo update-grub

Cette dernière commande remettra à jour le menu de démarrage grub.

d. Pour booter sur Windows

Maintenant, il se peut que Grub n'arrive pas à lancer Windows. a Il faut savoir que Windows est très exigeant : il n'accepte de se 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.

Avec les droits administrateur, modifiez le fichier /boot/grub/menu.lst si vous utilisez GRUB ou le fichier /boot/grub/grub.cfg si vous utilisez GRUB-PC (par défaut à partir d'Ubuntu 9.10).

Pour GRUB, cherchez la ligne « END DEBIAN AUTOMAGIC KERNELS… » 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 sur GRUB, et non GRUB-PC (le disque n°1 devient le n°2, et le disque n°2 devient le n°1) :

### END DEBIAN AUTOMAGIC KERNELS LIST

title           Microsoft Windows XP Home Edition
map (hd0) (hd1)
map (hd1) (hd0)
root (hd1,0)
savedefault
makeactive
chainloader     +1

Et pour GRUB-PC, il faut chercher la ligne « ### BEGIN /etc/grub.d/30_os-prober ### » et ajoutez à la suite les paramètres « drivemap » qui va, lui aussi, inverser virtuellement les disques, ce qui vous donnerait le code :

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Microsoft Windows XP Home Edition" --class windows --class os {
	drivemap -s (hd0) (hd1)
	insmod part_msdos
	insmod ntfs
	set root='(/dev/sdb,msdos1)'
	search --no-floppy --fs-uuid --set=root 806C7A1D6C7A0DE2
	chainloader +1
}
### END /etc/grub.d/30_os-prober ###

e. Au cas où vous devriez réinstaller Windows

  • Il vous faudra dans ce cas faire la procédure inverse de celle que vous avez faites en a.
  • Réinstallez Windows en faisant attention de ne pas écraser vos partitions Ubuntu, et verifiez son bon fonctionnement.
  • Et pour finir, refaites la procédure a, pour vous retrouver dans la configuration initiale avec Grub comme lanceur.

Un problème suite à la réinstallation de Windows ?

Suite à une réinstallation de Windows, il se peut que GRUB ne parvienne plus à le lancer. Ceci peut, par exemple, s'expliquer par le fait qu'il était préalablement installé sur la 2ème partition du disque (la première étant souvent réservée à la partition de récupération propre aux Windows pré-installés), et qu'il se soit réinstallé sur la première (par exemple si vous avez entre temps gravé vos CD de réinstallation).

Dans ce cas il vous faudra renseigner GRUB pour qu'il prenne ce changement en compte.

Pour cela il vous faut savoir sur quelle partition se trouve maintenant Windows.

sudo fdisk -l

Repérez le nom de la partition sur laquelle se trouve Windows.

Avec les droits administrateur, modifiez le fichier /boot/grub/menu.lst si vous utilisez GRUB ou le fichier /boot/grub/grub.cfg si vous utilisez GRUB-PC (par défaut à partir d'Ubuntu 9.10).

Allez à la ligne « Title Microsoft Windows… », en dessous se trouve la ligne « root » ou « rootnoverify » vérifiez que la partition corresponde à ce que vous avez noté, en sachant que GRUB nomme les partitions différemment (hd0,0 correspondant à hda1, hd1,1 correspondant à hdb2, etc), modifiez la si nécessaire et enregistrez le fichier.

Si malgré tout vous n'arrivez pas à résoudre le problème, n'hésitez pas à demander de l'aide sur le forum en précisant le tuto suivi pour votre installation et en donnant les résultats de la commande « sudo fdisk -l » ainsi que le contenu de votre « menu.lst », (« grub.cfg » pour Karmic)

fin de page : avec un double inverseur remplaçant les cavaliers de maitre/esclave situés sur les deux disques dur. Suivant la position de l'inverseur l'un des DD est maitre et l'autre esclave et inversement. Le démarrage se fera sur le DD maitre.



Le contenu de ce wiki est sous licence : CC BY-SA v3.0