Personal tools
You are here: Home Documentation Comment installer GNU/Linux avec Windows XP
Document Actions

Comment installer GNU/Linux avec Windows XP

by Thierry Bénita last modified 25-05-2006 10:00

Les deux systèmes seront alors disponibles, via un choix au démarrage.

Avertissement: Ce document est founi "en l'état" sans aucune garantie. L'usage de ce document se fait à vos risques et périls. En aucun cas ni l'auteur ni le traducteur ne pourraient être tenus pour responsables de tout dommmage résultant de l'utilisation de ce document.

Windows XP ne peut plus démarrer ?

J'ai eu des cas où il a été impossible de redémarrer Windows XP depuis lilo ou grub : il a fallu le réinstaller. Le problème vient du fait que Windows XP nécessite son propre boot loader et refuse de démarrer quand ce n'est pas le cas (un effet secondaire de leur gestion des DRM ?).

La solution

La parade n'est pas très compliquée : c'est le chargeur de Windows qui va lancer linux.

HowTo : installer GNU/Linux avec Windows XP en double boot



Pré-requis

Il faut avoir un PC sur lequel Windows a préalablement été installé, mais disposant d'au moins une partition disponible sur laquelle nous allons installer GNU/Linux.

Installation pas à pas

  • Lancer l'installation de GNU/Linux.
  • Choisir un partitionnement manuel, et sélectionner l'espage disponible pour l'installation de votre système.
  • Lorsque la question est posée, choisir le chargeur de démarrage GRUB plutot que LILO. En effet, le choix de Lilo nécessiterait de re-faire l'ensemble des mannipulations suivantes à chaque mise-à-jour du kernel.
  • NE PAS INSTALLER GRUB DANS LE SECTEUR DE BOOT DU DISQUE DUR ! Cela empècherait définitivement Windows de re-démarrer ! Choisir "sur le premier secteur de la partition de boot", qui est celle dans laquelle vous avez installé GNU/Linux.
  • Lors de la procédure d'installation, faites une disquette de démarrage : elle va être utile pour démarrer GNU/Linux la première fois.
  • Redémarrez avec la disquette de démarage. Si vous ne disposez pas d'une disquette de démarrage, essayez de démarrez linux en mode de secours
  • Editer le fichier /etc/grub.conf et assurez vous de la présence d'une entrée pour votre version de Windows.
  • Éditer /boot/grub/menu.lst pour y ajouter une entrée pour Windows ; par exemple :

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,1)
# kernel /vmlinuz-version ro root=/dev/hda3
# initrd /initrd-version.img
#boot=/dev/hda2
default=0
timeout=10
splashimage=(hd0,1)/grub/splash.xpm.gz
title Red Hat Linux (2.4.7-10)
root (hd0,1)
kernel /vmlinuz-2.4.7-10 ro root=/dev/hda3 hdc=ide-scsi
initrd /initrd-2.4.7-10.img
title Windows 2000
rootnoverify (hd0,0)
chainloader +1
  • Faites une copie de votre secteur de boot Linux depuis la partition /boot en utilisant la commande suivante (en supposant que la partition /boot est /dev/hda2):
dd if=/dev/hda2 of=/linux.bin bs=512 count=1
  • Copiez le fichier linux.bin vers une partition FAT32 (vfat) ou vers une disquette.
    Pour copier vers une partition FAT32, si Linux fonctionne en mode de secours, cette partition sera accessible par /mnt/sysimage.
    Pour copier vers une disquette:
    • Monter le lecteur de disquette (en supposant que /mnt/floppy existe): mount -t msdos /dev/fd0 /mnt/floppy
    • Copier vers la disquette: cp /linux.bin /mnt/floppy
  • Rebooter sous Windows
  • Copier le fichier linux.bin vers C:\
  • Lnacer Notepad et editer le fichier C:\boot.ini. Noter que C:\boot.ini est un fichier système caché, donc il est probablement invisible dans l'explorateur de fichiers Windows. Pour editer le fichier, essayer : Demarrer->Executer et taper: notepad C:\boot.ini. Ajouter la ligne suivante à la fin du fichier: c:\linux.bin="Linux"
    Si votre système de fichier est NTFS(et non FAT32), vous devez editer le fichier C:\boot.ini sous un compte utilisateur appartenant au groupe "Administrateur".
    Pour rendre le fichier C:\boot.ini modifiable, vous pouvez au choix :
    • En utilisant l'explorateur de fichier
      • Aller à Outils->Options des dossiers->Affichage et selectionner Afficher les fichiers et les dossiers cachés et déselectionner Masquer les fichiers protégés du système d'exploitation (Recommandé).
      • Clic droit sur le fichier, visualisez les Propriétés et décochez Lecture seule. Vous pouvez maintenant éditer le fichier
      • Après avoir modifier le fichier, il est recommandé de rétablir les propriétés du fichier dans leur état original.
    • Utilisez l'invite de commande MS DOS
      • Rendre le fichier modifiable: C:\attrib -R -S -H boot.ini.
      • Après avoir terminé l'édition du fichier, pour rétablir les paramétres originaux : C:\attrib +R +S +H boot.ini
    En tant qu'exemple,vous trouverez ci joint une copie de mon fichier boot.ini.
    [boot loader]
    timeout=5
    default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect
    c:\linux.bin="Linux"

  • Redémarrez de nouveau. Vous devriez être capable de choisir entre Windows et Linux. Sélectionner Linux doit démarrer GRUB

Dysfonctionnements

  • Quand je sélectionne Linux dans le menu au démarrage, j'obtiens un "GRUB" bloqué (ou un "L" dans le cas de LILO)
  • Assurez vous d'avoir créé le fichier linux.bin correctement avec la commande dd . Si vous pensez que vous avez effectué la commande correctement,le problème provient peut être du fait que votre partition /boot est positionnée après le cylindre 1024 et que votre BIOS ne peut y accéder. Au démarrage du système, le chargeur de boot de Windows propose une liste de choix en provenance du fichier boot.ini. Quand vous sélectionnez Linux, le chargeur de boot charge alors le fichier de 512 octets linux.bin, et alors le BIOS essaye d'accéder à la partition /boot pour lancer GRUB. Certaines implémentations du BIOS peuvent seulement atteindre les 1024 premiers cylindres du disque dur, ce qui correspond à environ à 8 GB. Comment régler ce problème ? Créer votre partition/boot avant le cylindre 1024; c'est à dire avant ~8 GB.
  • Si je sélectionne Linux depuis le menu au boot, j'obtiens un message d'erreur indiquant "Windows XP ne peut pas démarrer: Le fichier hal.dll (windows/system32/) est manquant ou endommagé. Veuillez reinstaller."
  • Ceci est habituellement du à une erreur dans le fichier boot.ini.

Référence : http://www.geocities.com/epark/linux/grub-w2k-HOWTO.html

Powered by Plone, the Open Source Content Management System

This site conforms to the following standards: