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

Cette procédure est adaptée pour Windows installé en mode Bios classique. Elle ne convient pas si Windows est préinstallé en mode UEFI. Comme Windows est préinstallé en mode UEFI sur tous les ordis depuis Windows 8, cette méthode d'installation est obsolète.

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

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

  • 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.

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. 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.

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.

  • tutoriel/comment_faire_multiboot_propre_2_dd.txt
  • Dernière modification: Le 27/02/2023, 18:02
  • par L'Africain