Je soumets au forum un projet de tutorial concernant le dual boot Windows XP - Fedora. Le document est en version de travail et j'attends les remarques et compléments (traitement des cas, pertinence des recommandations, clarté du document ...) pour solliciter sa parution en qualité de tutorial.
A vos contributions!
======================================================
Le projet:
Les forums présentent régulièrement des questions d'utilisateurs rencontrant des difficultés pour faire cohabiter Windows XP et Fedora. Ce tutorial propose une première synthèse des réponses apportées, dont il semble qu'elles aient permis d'aboutir à une situation satisfaisante ... Comme tel, il gagnera à être complété et précisé, à l'appui de l'expérience des utilisateurs.
On précise ici qu'il ne s'agit pas d'entrée dans de longs développements théoriques mais bien plus d'offrir les moyens pratiques d'une résolution rapide et efficace de quelques difficultés.
1- PREALABLES:
1.1- le lancement d'un système:
Le lancement d'un système obéit à une séquence générale simple:
* la mise sous tension de l'ordinateur active le BIOS qui assure un ensemble de contrôles (mémoire, périphériques ...) et prépare ainsi l'environnement matériel;
* le BIOS active alors une courte séquence de codes, dite MBR (Master Boot Record), logée sur 512 octets en un endroit précis et normalisé du premier disque actif;
* le MBR amorce alors un lanceur (boot loader dans la terminologie courante), NTLDR pour Windows XP, grub ou lilo pour Linux. Grub est utilisé par Fedora;
* le lanceur créé un environnement minimal (initialisation clavier, écran, périphériques disque, mémoire ...) pour permettre de recueillir le choix de l'utilisateur et de le mettre en oeuvre. Le lanceur propose ainsi le choix des systèmes d'exploitation à lancer.
* le système d'exploitation est alors lancé (pour Linux, initrd se met en oeuvre et les modules sont chargés pour permettre l'initialisation de l'environnement logiciel et matériel).
Nota: sans la littérature, « dual boot » signifie possibilité de lancer plusieurs systèmes, Fedora ou Windows XP par exemple.
1.2- l'installation:
Il est fortement recommandé d'installer Windows XP avant Fedora. Toute démarche inverse conduit à quelques difficultés car Windows XP supporte fort mal de ne pas s'installer sur la première partition active et par ailleurs, écrase résolument le MBR initialisé lors de l'installation de Fedora.
Des solutions existent qui permettent de traiter les cas mais elles ne seront pas abordées ici.
Nota: un tutorial en anglais traite de l'installation de Windows XP puis de Fedora:
http://fedoranews.org/blog/?p=676. Il s'appuie sur une configuration de 2 disques ATA et sur les choix suivants:
* formattage d'une partition Windows en FAT32 et non NTFS (format XP qui comporte la journalisation) par facilité pour le montage des partages et la lecture / écriture sous Fedora (avec une partition en NTFS, la lecture est possible sous Fedora mais pas l'écriture; par ailleurs, des modules complémentaires doivent être chargés -> voir le tutorial sur ce sujet)
* choix d'un partitionnement manuel pendant l'installation pour éviter LVM2 qui semble poser quelques problèmes avec le dual boot(
"This is not confirmed but on the first try, Anaconda Fedora Core Linux Installer failed when it was chosen with automatic partition with LVM2").
Ces choix simplifient l'installation en dual boot et réduisent les difficultés potentielles mais en contre partie, ne permettent pas de tirer profit de quelques avancées ... (LVM2 et NTFS!). L'installation décrite correspond au schéma
2.1.
2- LES SCHEMAS D'INSTALLATION:
Deux schémas sont possibles:
* le schéma général, consistant à installer Fedora en modifiant le MBR implanté lors de l'installation de Windows XP et en intégrant Windows XP dans les choix Grub (Windows XP est alors lancé au travers de Grub);
* le schéma alternatif, consistant à installer Fedora sans modifier le MBR implanté lors de l'installation de Windows XP et en lançant Fedora au travers du lanceur de Windows XP (NTLDR) par un artifice subtil qui amène NTLDR à ... lancer grub.
Ce schéma alternatif vient se substituer au schéma général, en cas de difficulté.
2.1- le schéma général:
On installera Fedora et lorsque le choix "Installation du chargeur de démarrage" se présentera, on sélectionnera GRUB et on optera pour son installation sur le MBR (encore dit, premier secteur de la partition de boot).
Normalement, grub devrait proposer le choix entre Fedora et Windows, si Anaconda, l'installateur Fedora, a bien détecté l'ensemble.
Ce choix est réglé par le fichier /boot/grub/grub.conf. La section concernant Windows, initialisée par Anaconda, se précise comme suit:
title Windows
root (hd0,0)
makeactive
chainloader +1
(Windows est installé sur la première partition active. Grub compte à partir de 0; hda est donc désigné comme hd0 et hda1 est décrit comme (hd0,0)).
2.2- le schéma alternatif:
Le howto suivant décrit la méthode:
http://www.geocities.com/epark/linux/grub-w2k-HOWTO-fr.html
3- LES DIFFICULTES: COMMENT S'EN SORTIR
Plusieurs cas sont régulièrement présentés dans les forums.
3.1- seul Windows XP se lance:
3.1.1- la méthode générale a été suivie:
Le MBR n'a donc pas été modifié. Il faut reprendre l'installation depuis le mode "rescue".
La démarche repose sur les étapes suivantes:
* booter sur le CD1 (ou CD rescue) de Fedora
* dans le cas du recours au CD1, passer en mode expert et saisir linux rescue
* puis lancer les commandes:
chroot /mnt/sysimage
(pour définir le point de montage du système comme /)
grub-install /dev/hda
(pour faire exécuter un script qui va modifier le MBR
et le faire à nouveau pointer sur grub).
On remplacera hda par sda s'il s'agit d'un disque SCSI (pour visualiser les partitions, avant de lancer grub-install, passer la commande fdisk -l).
rebooter par la commande: shutdown -r now
Le système se relance et grub devrait normalement s'afficher.
Si cette action ne suffit pas pour remédier au problème, on passera alors à la méthode alternative en adaptant quelque peu la démarche:
* booter sur le CD1 (ou CD rescue) de Fedora
* dans le cas du recours au CD1, passer en mode expert et saisir linux rescue
* puis lancer les commandes:
chroot /mnt/sysimage
(pour définir le point de montage du système comme /)
insérer une disquette dans le lecteur et passer la commande suivante:
mount -t msdos /dev/fd0 /media/floppy
grub-install /media/floppy
(pour faire exécuter un script qui va générer un MBR,
pointant sur grub et le sauvegarder sur la disquette).
On utilisera alors cette disquette pour engager les opérations décrites au point
2.2.
3.1.2- la méthode alternative a été suivie:
On vérifiera que les procédures ont été correctement appliquées.
Si aucune anomalie ne ressort de cet examen minutieux, on tentera alors la méthode générale, en mode rescue, telle que décrite au point
3.1.1.
* booter sur le CD1 (ou CD rescue) de Fedora
* dans le cas du recours au CD1, passer en mode expert et saisir linux rescue
* puis lancer les commandes:
chroot /mnt/sysimage
grub-install /dev/hda
(On remplacera hda par sda s'il s'agit d'un disque SCSI (pour visualiser les partitions, avant de lancer grub-install, passer la commande fdisk -l)).
shutdown -r now
3.2- seul Fedora se lance:
3.2.1- mettre en place le dual boot:
3.2.1.1- modifier grub.conf:
On vérifiera préalablement que le fichier /boot/grub/grub.conf est correctement rédigé. Pour ce faire, on déroulera les actions suivantes:
* dans une console, on passera la commande suivante: fdisk -l .Cette commande permettra de détailler les partitions reconnues. On notera la partition Windows.
* on lancera, toujours dans une console, les commandes suivantes:
su -
saisie du mot de passe root à l'invitation
cp /boot/grub/grub.conf /boot/grub/grub.conf.sauvegarde (on préserve le fichier pour une restauration éventuelle en cas de problème)
gedit /boot/grub/grub.conf (lancement d'un éditeur en environnement graphique pour modifier le fichier de paramètres de grub).
On corrigera, le cas échéant, la désignation de la première partition active supportant Windows:
title Windows
root (hd0,0) sera modifié en root (sd0,0), dans le cas de disques SCSI ou USB
makeactive
chainloader +1
Si des modifications ont été opérées (adjonction d'un second disque USB par exemple), la distribution des partitions a pu être modifiée. Windows XP peut alors être vu, du point de vue du système, sur une partition spécifique distincte de celle désignée dans le grub.conf. Un « échange » peut ainsi avoir été opéré ...
La correction devient:
title Windows
map (hd1) (hd0) (à ajouter)
map (hd0) (hd1) (à ajouter)
root (hd0,0) sera modifié en rootnoverify (hd1,0)
makeactive
chainloader +1
On sauvegardera et quittera. On relancera le système.
Si ces modifications ne sont pas concluantes, on veillera bien à rétablir le fichier /boot/grub/grub.conf d'origine par les commandes suivantes à exécuter dans une console:
su -
saisie du mot de passe root à l'invitation
cp /boot/grub/grub.conf.sauvegarde /boot/grub/grub.conf
3.2.1.2- passer à la méthode alternative:
La démarche va consister à:
1- restaurer le lanceur Windows XP
2- adapter le boot Windows XP pour lui permettre d'activer grub, dans le cas du choix Linux.
restaurer le lanceur Windows XP
a-Préalablement, on sauvegardera le MBR généré à l'installation de Fedora en le copiant bit à bit dans la partition /boot. Les commandes à exécuter, dans une console, s'enchaînent comme suit:
su -
saisie du mot de passe root à l'invitation
dd if=/dev/sda of=/boot/linux.bin bs=512 count=1
(
Le MBR est sauvegardé comme linux.bin dans la partition /boot )
b- On copiera le fichier ainsi sauvegardé sur une disquette en format lisible de Windows:
i/ en utilisant un gestionnaire de fichier (Nautilus ou Konqueror: simples et rapides)
ii/ ou en ligne de commande (pour faire son malin!):
Monter le lecteur de disquette: mount -t msdos /dev/fd0 /media/floppy
Copier vers la disquette: cp /boot/linux.bin /media/floppy
Démonter la disquette: umount /media/floppy
c- On restaurera le lanceur Windows XP comme indiqué en
3.2.2 mais bien sûr, on ne réallouera pas les partitions Fedora!
modifier le lanceur Windows XP
On modifiera le lanceur Windows XP comme indiqué
2.2 (la méthode alternative).
3.2.2- restaurer Windows XP:
La démarche consiste à remplacer le MBR qui permet d'amorcer grub en lui substituant un MBR pointant sur le lanceur de Windows XP.
Le remplacement du MBR est réalisé à partir d'une disque de restauration Windows ou du CD d'installation:
* booter depuis le CD d'installation et choisir "Réparer ou récupérer une installation de Windows". On sélectionnera ensuite l'installation de Windows dans la liste des choix proposés et on saisira le mot de passe administrateur. Au prompt, taper :
C:WINDOWS> fixboot
et confirmer
C:WINDOWS> fixmbr
et confirmer
On rebootera par la commande:
C:WINDOWS> exit
Dans le cas où le boot depuis le CD Windows XP ne serait plus possible , on reprendra l'approche décrite dans le post suivant: post de dany boy. On exploitera ainsi un utilitaire de fabrication de disquettes de boot XP.
La surface disque utilisée par Fedora n'est pas automatiquement réallouée . C'est l'affaire de fdsik. La réallocation consiste en un nouveau formattage, sous le format vfat ou ntfs ou autre, selon le choix -si l'on souhaite réallouer les partitions au profit de Windows-. On pourra ainsi modifier le format de tout ou partie des partitions et notamment les fusionner. fdisk existe dans l'environnement Windows (ou un programme équivalent).
Nota: si les partitions Linux n'ont pas été réallouées, il est toujours possible de restaurer grub (et ainsi le boot sur Fedora ou XP) (voir
3.1.1).