Ceci est une ancienne révision du document !
Version : cette méthode d'installation a été testée avec Hoary, Breezy, Dapper et Edgy Eft.
Rédigé et mis à jour par maxfox et parametre. Nous tenons à remercier cep pour ses lumières.
Installer simplement un multiboot Windows-Ubuntu sans modifier le MBR
Avertissement
J'ai rédigé ce document pour montrer qu'il est facile de réaliser simplement une configuration multiboot. Cependant, le sujet reste complexe car on utilise des notions peu explicitées, que l'on utilise souvent, mais sans vraiment les connaître. Aussi, pour obtenir un document aussi simple et aussi accessible que possible, j'ai choisi d'éviter toute digression et tout encart, même si cette page en paraît simpliste et incomplète. Les développements et les compléments sont renseignés à la fin, dans un paragraphe spécifique.
Entrons dans le vif du sujet
La méthode de multiboot proposée ici consiste à utiliser les fonctionnalités normales de démarrage de l'ordinateur sans les modifier. Lorsqu'un ordinateur démarre, il lance par défaut l'OS contenu sur la partition principale active (ou amorçable). C'est comme cela qu'il fonctionne. Lorsque l'on achète un ordinateur du commerce tout prêt, Windows est installé sur une partition principale active. Avec notre méthode, il suffit d'installer Ubuntu sur une autre partition principale avec son lanceur, et de rendre cette partition active. Au démarrage suivant, c'est Ubuntu qui démarrera. C'est aussi simple que cela. Et comme l'on ne modifie pas le MBR, on ne risque pas de supprimer le tatouage.
Voilà, tout est dit. Chacun peut utiliser sa propre façon de faire pour obtenir cette configuration. Nous allons cependant développer une démarche d'installation pas à pas.
Qu'est-ce que le tatouage ?
Le tatouage est un dispositif, imposé par Microsoft, interdisant à la version Windows livrée avec votre ordinateur d'être installée sur un autre ordinateur. Concrètement il s'agit de quelques octets placés sur la carte mère, sur le disque dur (en particulier le MBR), sur la partition de restauration Windows, sur les CD de réinstallations, voir aussi sur le BIOS, et qui communiquent entre eux. Si l'un des ces éléments est changé, votre Windows ne pourra plus être réinstallé voir pire, ne pourra plus démarrer. Ce dispositif est utilisé par de grandes marques comme Packard Bell, HP, Compaq, Gericom, et bien d'autres encore.
L'installation de Ubuntu depuis le live cd en dualboot avec Windows installe Grub sur le MBR du disque dur amorçable. Ce faisant, Grub écrase le MBR, vous perdez alors le tatouage, ce qui entraîne l'impossibilité de démarrer Windows. La méthode que nous allons décrire ne modifie pas le MBR.
Prérequis
Vous devez vous procurer le cd Ubuntu-6.10 alternate « Edgy Eft ». Télécharger l'image .iso du cd puis gravez le cd depuis son image. Le Live CD ne convient pas à notre installation, car il installe le lanceur Grub dans le MBR, ce que nous ne voulons pas.
Le Live CD de Feisty Fawn permet maintenant, si on clique sur le bouton options avancées à la dernière étape, de changer la partition d'installation de Grub.
Procurez vous aussi le live cd Gparted qui vous permettra de modifier les partitions de votre disque dur.
Enfin, ayez sous la main un live cd Ubuntu qui vous permettra de démarrer votre ordinateur et de le configurer avant d'installer Ubuntu.
Précautions à prendre
- Sauvegardez vos données et ne sautez pas cette étape. Elles sont uniques, et vous n'êtes pas à l'abri d'une erreur de manipulation qui pourrait les détruire.
- Si vous ne l'avez pas encore fait, nous vous recommandons fortement de graver vos CD de récupération Windows avant de poursuivre (cf. la documentation de votre ordinateur et/ou le site Web du constructeur).
- Sauvegarder le MBR d'origine sur disquette ou autre, pour pouvoir le restaurer si besoin est. À faire à partir d'un Live CD
- Procédure de sauvegarde sur disquette (Si MBR sur hda)
dd if=/dev/hda of=/media/floppy/mbr.img bs=446 count=1
Remarque : en ne prenant que les 446 premiers octets on ne sauvegarde pas la table de partition, l'avantage est qu'en cas de restauration on ne perd pas les partitions qui ont été créées après la sauvegarde du MBR. Si l'on veut aussi sauvegarder la table de partition il faut remplacer 446 par 512. Cette option peut être très utile, par exemple en cas d'erreur lors du partitionnement du disque en question.
- Procédure de sauvegarde étendue à l'aide d'un LiveCD.
- Si c'est un premier disque p-ata (ide)
dd if=/dev/hda of=~/Desktop/mbrcomplet.img bs=512 count=63
- si c'est un premier disque s-ata
dd if=/dev/sda of=~/Desktop/mbrcomplet.img bs=512 count=63
Ce fichier mbrcomplet.img 32,5 Ko apparaitra sur le bureau et vous n'aurez qu'a le copier sur n'importe quel support de stockage disponible (clé, carte photo, disquette, l'envoyer par mail etc.). Il contient outre le mbr les 62 secteurs suivants qui contiennent le cas échéant les informations de tatouage. Cette méthode est à préférer à la précédente, un tour sur le forum vous expliquera comment s'en servir en cas de probléme (pour l'instant)
- Procédure de restauration à partir de la disquette (Si MBR sur hda, à adapter en fonction de la sauvegarde à restaurer, 446, 512…)
dd if=/media/floppy/mbr446.img of=/dev/hda bs=446 count=1
Installer Ubuntu sur le même disque dur que Windows
C'est la situation la plus fréquente, lorsque vous voulez installer Ubuntu sur un ordinateur acheté tout prêt dans le commerce et qui contient déjà Windows. C'est aussi l'installation la plus simple.
Dans le cas d'un ordinateur possédant un seul disque dur, l'objectif minimal à atteindre est :
- une partition primaire pour Windows XP et les programmes associés
- une partition primaire pour Linux Ubuntu, son lanceur Grub, et les programmes associés
une partition logique pour les données, commune à Windows et Linuxce n'est plus nécessaire depuis la version stable de ntfs-3g- une partition logique Home
- une partition logique swap
Les exigences à respecter
- pas de données sur la partition Windows, tout comme pour Linux où il n'y a pas de données sur la partition système. Il est vrai que, avec Windows, système et données sont mélangés à l'origine. C'est la solution de facilité, mais elle n'est pas sécurisée et l'on risque de perdre les données lors de la réinstallation de Windows. Pour éviter de mélanger données et programmes, et pour rendre les données accessibles à Ubuntu, on ne doit pas utiliser « Mes Documents » pour mettre ses données, mais créer des dossiers sur une partition indépendante, ou déplacer l'emplacement du dossier « Mes Documents » sur une autre partition (voir la documentation windows). Sur la partition Windows, on devrait ne trouver que Windows et les Programmes.
- au moins une partition primaire pour installer Linux Ubuntu, et Grub sur le secteur de boot de la partition (et non sur le MBR). C'est ce Grub là qui va gérer le démarrage de tous les systèmes installés sur le (les) disque(s) dur(s) de l'ordinateur. D'autres distributions Linux pourront être installées sur des partitions logiques du disque hda ou hdb ou encore sda ou sdb, chacun avec son Grub (ou son Lilo) sur la partition (c'est indispensable pour pouvoir démarrer le Linux de la partition). Le chef d'orchestre sera le Grub de la partition primaire, justement parce qu'il sera sur la partition d'amorçage.
- une partition logique en FAT32 accessible autant par Windows que par Linux en lecture et en écriture, pour y enregistrer toutes les données. ce n'est plus nécessaire depuis la version stable de ntfs-3g
- une partition /home, indispensable pour Linux. Autant de /home que de Linux installés, car ce répertoire contient les fichiers de configuration et le profil des utilisateurs (comptes personnels) qui peuvent être différents d'une distribution à l'autre. On peut faire un petit /home si l'on prévoit d'utiliser la partition FAT32 pour enregistrer les données. (Mise à jour le 19 mars 2007 : le packet "ntfs-3g" permet le support de la lecture et de l'écriture, donc plus besoin d'avoir une partition en Fat32)
- une partition swap requise par Linux. Elle est commune à tous les Linux installés. Elle doit avoir au moins 1,5 fois plus que la taille de la ram sinon la mise en veille / hybernation ne fonctionneront pas!
En pratique
Si l'on a un disque dur volumineux, on réserve
- une partition primaire de 5 ou 6 Go en NTFS pour WindowXP,
- une partition primaire de 5 Go en Ext3 ou Reiserfs pour Ubuntu,
- une partition primaire de 5 Go en réserve pour le cas où l'on en aurait besoin plus tard.
- Le reste du disque en partition étendue dans laquelle on créera une partition logique de 10 Go en NTFS ou FAT32 (ntfs à privilégier),
- une partition logique de 5-10 Go en ext3 pour /home,
- et tout à la fin de la partition étendue, une partition logique en swap de 2 fois la RAM sans toutefois dépasser 1 Go.
Les volumes que j'indique sont tout à fait suffisants pour démarrer correctement sous Windows / Linux-Ubuntu. Le reste du disque dur peut rester en friches, et être repris plus tard pour y créer de nouvelles partitions lorsque de nouveaux besoins apparaitront. Encore une précision : il y a moins de risques à créer une nouvelle partition dans un espace vide que de modifier le volume d'une partition existante pour l'agrandir dans ce même espace vide.
Logique de démarrage
La logique de démarrage évoquée au début de cette page est la suivante : le bios appelle le MBR qui appelle LA partition principale active (celle de Ubuntu dans notre cas) qui propose le menu Grub pour choisir l'OS de démarrage.
Les avantages de cette disposition
- On ne modifie pas le MBR éventuellement tatoué.
- Les Données et les Programmes sont séparés.
- On ne perd jamais le lanceur Grub, puisqu'il est installé sur le boot de la partition Ubuntu et non sur le MBR.
- Lorsque l'on rajoute un nouvel OS, il suffit de réinstaller le Grub de la partition principale pour que le menu /boot/grub/menu.lst se mette à jour tout seul.
Pour améliorer ce tuto : Merci de préciser comment il faut faire : il s'agit donc de ne pas reformater la partition boot en installant l"OS supplémentaire et le fichier menu.lst sera incrémenté plutot que remplacé ? Est-ce cela qui est sous entendu par 'se mette à jour tout seul' ? D'autre part je suppose qu'il s'agit d'un OS linux uniquement. Quand on débute, seul ce qui est écrit est évident, puisque l'on ne sait rien ! Par ailleurs tuto de grande qualité pédagogique avec beaucoup de rappels même windows mais sans infantilisation excessive!
- Les partitions sont autonomes. Cela signifie qu'il suffit de rendre une partition principale active pour démarrer l'OS qui y est installé, que ce soit Windows ou Linux. Si l'on rend hda1 active, c'est Windows qui démarre. Si l'on rend hda2 active, c'est Linux qui démarre, avec son menu général. A noter que lors de l'installation, la partition Ubuntu est mise automatiquement à « active ».
- Et si l'on installe Grub aussi sur une disquette, en rendant la partition Windows active, cela permet de démarrer l'ordinateur « normalement » avec Windows (sans la disquette), et de démarrer Linux en bootant sur la disquette.
- Cerise sur le gâteau, les partitions purement système et programmes peuvent être sauvegardées sous forme d'« image de partition » avec PQDI ou bien Ghost, ou encore partimage. De cette façon, on peut restaurer la partition lorsque l'OS ne fonctionne plus. C'est génialement pratique, et l'on ne risque pas de perdre de données puisqu'elles sont stockées sur une autre partition.
Les manips
Commencez par sauvegarder vos données ! Elles sont uniques, et sont à la merci d'une erreur de manipulation !
a. Faire de la place sur le disque dur pour y installer Ubuntu, et créez les partitions à l'avance.
Pour cela, sous Windows, effacer les fichiers temporaires, vider le cache internet et défragmentez le disque C: , de préférence en mode sans échec.
Puis, avec Gparted sur le live cd Ubuntu ou le live cd Gparted ou qtParted, sur le live cd Kubuntu ou avec Kaella ou Knoppix ou encore avec les disquettes Partition Magic (propriétaire) :
On crée les partitions en étant sous windows ? ou sous Ubuntu (pas encore installé mais avec le cd) ?
1 - Diminuez la taille de la partition hda1 (celle qui contient Windows) de façon à libérer de la place pour les partitions à créer.
2 - Créez une autre partition principale -ce sera probablement hda2- de 5Gio avec le système de fichiers ext3 ou Reiserf pour Ubuntu. Nommez cette partition « ubuntu » pour la reconnaître facilement plus tard.
3 - Créez une partition étendue de 10 ou 20 Gio dans laquelle vous créerez une partition logique de 2 ou 3 Gio en ext3 (ce sera home), une partition swap de 3 ou 400 Mio, et une partition en Fat32 de 10 ou 15Gio dans laquelle vous mettrez les données communes à Wxp et Ubuntu.
b. Cartographier le disque dur
A ce stade, une cartographie du disque dur est utile pour bien montrer quelle partition sert à quoi, et quel est son nom et sa désignation.
Bien des outils permettent d'obtenir cette carte. Je vous en propose trois :
1 - bootez sur le live CD Ubuntu. Dans un terminal, tapez le code
sudo fdisk -l
Le système répond quelque chose qui ressemble à cela :
- Périphérique Amorce Début Fin Blocs Id Système
- /dev/hda1 1 318 2554303+ 1b Hidden W95 FAT32
- /dev/hda2 319 1084 6152895 83 Linux
- /dev/hda3 * 1085 1870 6313545 7 HPFS/NTFS
- /dev/hda4 1871 2434 4530330 f W95 Etendu (LBA)
- /dev/hda5 1871 2126 2056288+ b W95 FAT32
- /dev/hda6 2127 2434 2473978+ b W95 FAT32
- /dev/hda7 2435 2506 2474049+ 82 Linux swap / Solaris
ce qui permet de s'assurer que Linux doit être installé sur /dev/hda2
Les résultats de cette commande sont détaillés ici
ou 2 - bootez sur le live cd gparted
ou 3 - bootez sur le live cd kaella-knoppix. Dans un terminal, lancer la commande
sudo qtparted
Bien repérer les partitions, leurs noms et leurs désignations, leurs volumes. Notez ces informations sur un papier, de façon à pouvoir vous y référer plus tard. Souvenez-vous qu'une partition peut être repérée de deux façons, suivant le système de notation utilisé et la configuration de la machine. Par exemple,
- - hda ou (hd0) désigne le premier disque dur ide
- - hdb ou (hd1) désigne le deuxième disque dur ide
- - hda1 ou (hd0,0) désigne le premier disque dur et la première partition de ce disque
- - hda2 ou (hd0,1) désigne le premier disque dur et la deuxième partition de ce disque
- - hdb2 ou (hd1,1) désigne le deuxième disque dur et la deuxième partition de ce disque
Prenez garde à ne pas faire de confusions !
Dans l'exemple ci dessus, nous installerons Ubuntu sur /dev/hda2 qui est une partition primaire
c. Installer Ubuntu
Bootez sur le cd alternate pour installer Edgy Eft. Choisissez l'installation en mode texte.
- F2 pour choisir la langue
- F3 pour sélectionner le clavier
Arrivé à l'écran "Méthode de partitionnement"
- Sélectionnez "Modifier manuellement la table de partition"
- Choisir n°2 primaire /media/hda2
- Choisir point de montage /
- Choisir indicateur d'amorçage présent
- Fin du paramétrage
- Terminez le partitionnement et appliquer les changements
- appliquer oui
Le système installe les logiciels
Puis le système annonce : Installation du programme de démarrage Grub
- Installez le programme de démarrage Grub sur le secteur d'amorçage ?
- Répondre NON
- Continuez
- Renseignez la partition sur laquelle vous avez installé Ubuntu
- /dev/hda2
Message Installation terminée. Retirer le CD. Bouton « Continuer »
Le système redémarre et affiche le menu Grub de tous les OS trouvés sur la machine. Sélectionnez l'OS par flèche bas ou haut et appuyez sur entrée.
Et si c'est Windows qui redémarre ?
Il arrive que, au redémarrage lors de l'installation, l'ordinateur lance Windows et non Ubuntu. Pourtant, on a bien vérifié que la partition Windows était non amorçable, et la partition Ubuntu amorçable. Rien n'y fait, c'est toujours Windows qui démarre. Ceci semble dû à un lanceur original (et non standard) contenu dans le MBR, qui lance Windows sans tenir compte des flags amorçable.
Pas de panique ! Puisque l'on ne peut pas démarrer Ubuntu directement, on va le démarrer depuis Windows, toujours sans modifier le MBR.
Habituellement, on utilise Grub, le lanceur de Linux, pour lancer Ubuntu ou Windows. Cette fois, nous allons utiliser NTLDR, le lanceur de Windows, pour lancer Windows ou Ubuntu. Au paragraphe "c. Installer Ubuntu", nous avons choisi d'installer le lanceur Grub sur le secteur de boot de la partition Ubuntu (hda2 dans notre exemple). Nous allons récupérer ce lanceur, en faire un fichier que nous poserons sur C:\ et que nous appellerons depuis le lanceur NTLDR.
La procédure que je reproduis ci dessous est décrite par nikola :
En admettant que ton boot linux est sur hda 3 :
niko@niko:~$ sudo dd if=/dev/hda3 of=linux.bin bs=512 count=1 1+0 enregistrements lus. 1+0 enregistrements écrits. 512 bytes transferred in 0,069964 seconds (7318 bytes/sec) niko@niko:~$
Copie le fichier linux.bin ainsi généré sous windows, sur c:\ et ajoute cette ligne à ton fichier c:\boot.ini :
C:\linux.bin="Ubuntu Linux"
C'est une manip que je faisais avant avec la knoppix et ça marchait nickel, et c'est sans risque en plus.
Voir aussi le sujet Comment amorcer Ubuntu avec NTLDR
d. Au cas où vous devriez réinstaller Windows
Lors de sa réinstallation, Windows passe sa partition à amorçable (ou « active » dans le language Windows), ce qui met la partition Ubuntu à « cachée ». C'est donc le NTLDR de Windows qui se lancera au démarrage, et vous ne pourrez plus lancer Ubuntu. Pour retrouver Grub automatiquement au lancement de l'ordinateur il vous suffira de remettre la partition Ubuntu à amorçable (marqueur « boot » pour G/Qtparted). Utiliser Gparted, Qtparted, ou encore Partition Magic (ou autre) pour cela.
Notes complémentaires
- Mes Documents
Dans le paragraphe « Les exigences à respecter », j'ai écrit : on ne doit pas utiliser « Mes Documents » pour mettre ses données. Un contributeur anonyme rajoute : « Cela dit, il est possible de déplacer la cible de ce répertoire. Regarder du côté des propriétés, via le clic-droit. »
- Home
Dans ce même paragraphe, j'ai également écrit «Autant de /home que de Linux installés». Un contributeur a précisé : «On peut utiliser une seule partition /home si les utilisateurs des différentes distributions sont eux-mêmes différents.» Qu'il soit remercié de cette précision.
- Partition swap
Dans le paragraphe « En pratique », j'ai parlé d'une partition swap : « une partition logique en swap de 2 fois la RAM (mémoire vive) ». Notre contributeur anonyme en précise les limites : « mais d'un minimum de 256 Mio et d'un maximum de 1024 Mio (1 Gio) ». Merci encore.
- Grub sur disquette
Il est tout a fait possible d'installer Grub aussi sur une disquette. Voir le wiki « disquette_de_boot_avec_grub ». La disquette permet de booter en cas de problème avec le lanceur du disque dur, en particulier si Grub, installé dans le MBR, est écrasé par une réinstallation de Windows. Mais la disquette permet aussi un fonctionnement original : Si, au moyen de Gparted ou autre, l'on remet à « active » la partition Windows, la partition Ubuntu passe automatiquement à « cachée », et c'est Windows qui sera lancé au démarrage de l'ordinateur. Mais si l'on boot sur la disquette, c'est Ubuntu qui se lancera. Ceci peut être très utile à la maison si l'un des membres de la famille n'est pas linuxien et veut conserver son Windows sans changer ses habitudes.
- Repérage des partitions
hda, hdb… désigne la configuration des disques (maître-esclave pour faire court) et hd0, hd1… l'ordre de démarrage des disques dans le Bios. Autrement dit l'assertion hda = hd0 est fausse (bien que ce soit la configuration la plus courante), on peut très bien avoir le disque esclave en 1er dans l'ordre de démarrage, donc hdb = hd0 !
- Grub
Le lanceur Linux comporte entre autres un fichier du nom de stage1 qui nous intéresse particulièrement. Lors de l'installation par défaut, avec le live cd Ubuntu par exemple, le fichier stage1 est installé dans le MBR. Si l'on re-écrit le MBR, ce qui se produit si l'on installe Windows après Ubuntu, le fichier stage1 est effacé et le lanceur Grub ne fonctionne plus. Mais on a la possibilité d'installer stage1 sur la partition Linux, dans le secteur de boot de partition. Il suffit ensuite de dire au système : « Va démarrer le système qui se trouve sur la partition hda2 », par exemple. Le lanceur, étant complet, pourra démarrer Linux Ubuntu. C'est ce que l'on fait en installant Ubuntu sur une partition principale que l'on rend «amorçable »
- Réinstaller Grub
On peut installer Grub après coup où l'on veut, à des endroits différents si on le souhaite. On utilise pour cela l'excellente procédure communiquée par cep :
Depuis un live cd, ouvrir un terminal avec sudo -s puis :
grub --batch find /boot/grub/stage1 root (hd?,?) setup (hd?,?) quit exit
Des détails ici
- Un lien sur le tatouage des ordinateurs.
Cette page fait suite au Wiki « Comment rendre GRUB incassable ? »
et au sujet « [Tuto] Le multiboot encore plus simple » du forum ubuntu-fr. On consultera ces pages avec intérêt.