Petit guide d'amorçage multi-système avec GRUB

Version française du Multiboot with GRUB Mini-HOWTO

Adaptation française : Simon Depiets

Relecture de la version française : Loïs Di Qual

Préparation de la publication de la v.f. : Jean-Philippe Guérard

Version : 1.0.fr.1.1

16 juin 2005

Historique des versions
Version 1.0.fr.1.12005-06-16LDQ, JPG
Version relue.
Version 1.0.fr.1.02005-01-22SD, JPG
Première traduction française.
Version 1.02001-01-15IK

Résumé

Ce document décrit comment installer Windows 98, Windows 2000, DOS et Linux en utilisant GRUB.


Table des matières

1. Commentaires et corrections
2. Nouvelles versions de ce document
3. Pourquoi ?
4. Procédure d'installation
4.1. Préparer des disquettes de démarrage
4.2. Installer Linux
4.3. Installer GRUB
4.4. Installer Windows 2000 :
4.5. Installer DOS.
4.6. Installer Windows 98
4.7. La touche finale
5. Références

Merci de faire parvenir en anglais à l'auteur vos questions et commentaires relatifs à la version originale de ce document à l'adresse .

N'hésitez pas à faire parvenir tout commentaire relatif à la version française de ce document à en précisant son titre, sa date et sa version.

Vous trouverez la plus récente version française de ce document à l'adresse : http://www.traduc.org/docs/howto/lecture/Multiboot-with-GRUB.html.

La plus récente version originale de ce document est disponible à l'adresse : http://www.tldp.org/HOWTO/Multiboot-with-GRUB.

J'ai voulu avoir la possibilité de faire démarrer tous les systèmes d'exploitations de mon ordinateur sans avoir à passer par plusieurs menus consécutifs. Je sais que je peux installer NT par dessus win9x, lui-même installé par dessus DOS. J'aurais alors besoin de passer par le menu NT puis le menu win9x pour démarrer DOS. J'ai donc voulu rendre simple le démarrage de tous ces systèmes.

Ceci devint un obstacle car le problème avec les systèmes d'exploitation Microsoft, c'est qu'ils veulent tous démarrer depuis la partition primaire. C'est ici que GRUB intervient, car il peut cacher les partitions primaires. Vous pouvez utiliser jusqu'à trois partitions pour installer les systèmes d'exploitation Microsoft. GRUB cachera les 2 autres partitions afin que les systèmes d'exploitation ne les voient pas. Cela signifie que vous aurez besoin d'une autre partition pour partager les données entre DOS, Win9x et Windows 2000. La quatrième partition est utilisée dans ce but.

J'ai aussi voulu un système de menu et GRUB nous en propose un.

Une autre fonctionnalité pratique de GRUB est qu'il supporte le système de fichier reiserfs, je n'ai donc pas besoin de garder mon fichier /boot sur une partition ext2 séparée.

Installez votre distribution Linux favorite, vous pouvez utiliser l'outil de partitionnement de celle-ci ou fdisk pour partitionner votre disque dur.

Voici comment j'ai partitionné mon disque dur :

Périphérique   Début       Fin     Blocs   Id  Système
/dev/hda1          1         6     48163+  16  FAT16 Caché
/dev/hda2          7        19    104422+  16  FAT16 Caché
/dev/hda3         20       593   4610655   1b  Win95 FAT32 Caché
/dev/hda4        594      3737  25254180    5  Ext
/dev/hda5        594       848   2048256    6  FAT16
/dev/hda6        849      2123  10241406    7  HPFS/NTFS
/dev/hda7       2124      2140    136521   82  Linux swap
/dev/hda8       2141      2523   3076416   83  Linux

Ma première partition sert à démarrer Windows 2000 (10 Mo devraient largement suffire). La partition ne contiendra que les fichiers nécessaires à faire démarrer NT comme boot.ini, ntldr, ntdetect.com, et cætera. NT résidera sur la partition 6 dans mon exemple. Cette partition est cachée, et formatée en FAT16

La seconde partition est destinée à DOS. J'estime que 100 Mo suffisent. Elle est aussi en FAT16.

La troisième partition est destinée à Win9x. Je lui ai attribué 5Go. Elle est en FAT32 pour les performances de ce type de système de fichiers.

Puis créez la partition ext. C'est la partition 4 sur fdisk.

Créez une partition de 2Go. Cette partition est utilisée pour partager les données entre tous les systèmes d'exploitation. Assurez vous que la somme de toutes les partitions ci-dessus est inférieure à 8Go. C'est une limitation imposée par DOS.

Puis créez la partition Windows 2000. Je lui ait donné 10Go étant donné que cette version de Windows est un "énorme cochon bien gras". J'en ai fait une partition HPFS/NTFS pour sa vitesse.

Ensuite ajoutez votre partition swap et Linux. Assurez-vous que vous n'avez pas une partition séparée pour /boot. Ça se passera mieux dans GRUB si vous gardez /boot dans la partition racine.

Après avoir installé Linux continuez en formatant les partitions FAT16:

mkdosfs /dev/hda1
mkdosfs /dev/hda2
mkdosfs /dev/hda6

Assurez-vous de posséder la dernière version de GRUB. J'utilise la version 0.5.96.1. La version contenue dans ma distribution était dépassée et m'a causé beaucoup de problèmes. Vous pouvez télécharger la dernière version sur http://www.gnu.org/software/grub/

Maintenant vous devez installer GRUB sur la disquette. Vous ne pouvez pas encore l'installer sur votre disque dur car Windows 2000 l'écraserait.

grub-install '(fd0)'

Créez le menu.lst suivant pour GRUB. Ce fichier est dans /boot/grub.

#
# Exemple de fichier de configuration du menu du démarrage
#

# Démarrer automatiquement après une minute.
timeout 60

# Par défaut, démarrer la seconde entrée (0 étant la première).
default 1

# Positionnement sur la première entrée.
fallback 0

title Windows 2000
unhide (hd0,0)
hide (hd0,1)
hide (hd0,2)
rootnoverify (hd0,0)
chainloader +1
makeactive

# Pour démarrer Linux
title  Linux
root (hd0,7)
kernel /boot/vmlinuz-2.X.xx root=/dev/hda8 video=matrox:vesa:261
	
title Windows 98
hide (hd0,0)
hide (hd0,1)
unhide (hd0,2)
rootnoverify (hd0,2)
chainloader +1
makeactive
	
title DOS 6.22
hide (hd0,0)
unhide (hd0,1)
hide (hd0,2)
rootnoverify (hd0,1)
chainloader +1
makeactive
	
# Pour démarrer Linux
title  Linux (simple utilisateur)
root (hd0,7)
kernel /boot/vmlinuz-2.X.xx root=/dev/hda8 video=matrox:vesa:261 single
	
title Partition 2 (disquette)
hide (hd0,0)
unhide (hd0,1)
hide (hd0,2)
chainloader (fd0)+1
	
title Partition 3 (disquette)
hide (hd0,0)
hide (hd0,1)
unhide (hd0,2)
chainloader (fd0)+1

Vérifiez que vous pouvez bien démarrer Linux avec la disquette. Si vous avez des problèmes vous pouvez entrer en passant par la ligne de commande de GRUB et observer ce qu'il se passe. La documentation de GRUB est très bien fournie en informations, il vous suffit de la consulter pour résoudre un éventuel problème.

J'ai trouvé ces liens utiles lorsque j'ai mis en place mon système :