Win95 + WinNT + Linux multi-amorçage en utilisant le LILO mini-HOWTO

Renzo Zanelli, rzanelli@southeast.net -- Traduit par Maxime Baudin mbaudin@club-internet.fr

v1.0, 26 Mars 1998
Ce document décrit la façon de faire du multi-amorçage (multi-boot) entre Windows 95, Windows NT et Linux.

1. Introduction

Il existe de nombreux documents qui décrivent en détail comment faire du multi-armorçage avec un nombre quelconque de systèmes d'exploitation et le chargeur (OS Loader) de Windows NT. Lorsque que j'ai finalement acheté Windows NT, j'avais déjà Windows 95 et Linux d'installés sur mon système, et j'utilisais alors LILO pour sélectionner l'amorçage sur l'un ou l'autre. J'ai décidé d'ajouter Windows NT au menu de LILO plutôt que d'utiliser le chargeur de NT.

À l'origine j'avais Windows 95 sur mon premier disque IDE et Linux sur le second. Le disque contenant Linux est devenu le troisième et j'ai installé Windows NT sur un nouveau disque placé en deuxième. Jusqu'ici je n'ai pas essayé ce procédé dans d'autres configurations, je suis convaincu que l'ordre dans lequel les systèmes d'exploitation sont installés ou l'ordre des disques n'a pas d'importance.

Pensez simplement à créer les disquettes d'amorçage de secours lorsque chaque système d'exploitation vous propose de le faire !

Dans la mesure où j'utilise l'utilitaire Bootpart (écrit par Gilles Vollant) et qu'il ne gère pas les disques durs dont la taille éxcède 4 Go, ces explications pourraient ne pas être utilisables sur des disques de plus grande capacité. Si vous devez travailler avec des disques durs de plus de 4 Go, veuillez contacter Gilles directement (son adresse électronique se trouve dans la documentation de Bootpart).

2. Installer les systèmes d'exploitation

Lors de l'installation des S.E. (systèmes d'exploitation), assurez vous de le faire sur des partitions amorçables (bootables). J'ai installé Windows 95 et Windows NT sur des partitions en FAT16, par conséquent cette méthode fonctionne sur ce type de partition. Si vous décidez d'utiliser la FAT32 pour Windows 95 et NTFS pour Windows NT, vérifiez au préalable que votre version de Linux les gère et si tel est le cas, jusqu'à quel point.

2.1 Installer Windows 95

Installez Windows 95 sur votre premier disque dur. Ce sera votre disque C: . Rappelez vous de créer la disquette d'amorçage lorsque cela vous est proposé.

J'ai trouvé plus simple de retirer le disque contenant Linux lors de l'installation de Windows 95, de sorte qu'il ne soit jamais détecté et que Windows 95 ignore son existence.

À ce stade, si vous avez tout fait correctement, vous devriez pouvoir démarrer Windows 95.

2.2 Installer Windows NT

Installez Windows NT sur votre deuxième disque. Lors de la création de la partition sur ce disque, rendez la partition amorçable. Toutes les versions de Linux ne supportent pas NTFS, par conséquent, j'ai créé la partition en FAT 16 ; d'une part par précaution et d'autre part parce que je veux pouvoir échanger des informations entre les deux variantes Windows.

Lors de l'installation de Windows NT, ce dernier détectera la présence de Windows 95 (NDT : seulement s'il est sur une FAT 16) et lui créera une entrée dans le menu du chargeur NT, vous devriez alors voir trois entrées dans le menu, comme suit :

Windows NT Workstation Version 4.00
Windows NT Workstation Version 4.00 [VGA mode]
Microsoft Windows

À ce stade, si vous avez tout fait correctement, vous devriez être en mesure de faire du "multi-amorçage" entre Windows NT et Windows 95.

2.3 Installer Linux

Installez Linux sur votre troisième disque. Lorsque j'ai installé Linux, je n'avais que Windows 95 d'installé, je n'ai eu qu'à ajouter l'accès à la partition Windows 95 dans LILO. Vous pouvez installer des accès pour tous vos S.E. à l'installation de LILO, ou éditer le fichier de configuration de LILO plus tard. Néanmoins si vous décidez de le faire, je vous expliquerais à quoi est censé ressembler le fichier /etc/lilo.conf dans le chapitre suivant. Une fois Linux installé, vous devriez être en mesure de démarrer sous Linux.

3. La partie Linux

Ceci implique l'édition du fichier /etc/lilo.conf et la ré-installation de LILO. Les lignes suivantes doivent déjà être présentes dans le fichier /etc/lilo.conf

boot=/dev/hda

La strophe relative à Linux doit déjà être présent:

# Bloc Linux
image=/vmlinuz
root=/dev/hdc1
label=Linux
# Fin du bloc

Ajoutons une strophe pour Windows 95

# Couplet Win95
other=/dev/hda1
table=/dev/hda
label=Windows95
# Fin du bloc

Puis on ajoute une strophe pour Windows NT

# Bloc WinNT
other=/dev/hdb1
table=/dev/hda
loader=/boot/any_d.b
label=WindowsNT
# Fin du bloc NT

Relancez LILO. À ce stade, si tout s'est bien passé, vous devriez avoir comme choix : Windows 95, Windows NT et Linux depuis le menu de LILO. Vous pouvez démarrer sous Linux et Windows 95 (ce dernier vous donnant accès au menu du chargeur NT). Pour rendre l'accès à NT opérationnel, vous devrez encore oeuvrer un peu du côté NT.

4. La partie Windows NT

Avant d'aller plus avant, vous devrez faire deux choses de plus.

La première est de télécharger et décompresser l'utilitaire Bootpart (de Gilles Vollant). Vous le trouverez à : http://www.winimage.com/bootpart.htm avec quelques informations sur son utilisation.

La seconde est de copier (ne les effacez pas encore !) à la racine du disque contenant Windows NT les fichiers suivants :

Boot.ini
Bootsect.dos
Ntdetect.com
Ntldr
Ces fichiers constituent le chargeur NT. Ils sont localisés à la racine du disque contenant Windows 95 et y ont été placés par Windows NT à l'installation de ce dernier.

Une fois cela fait, démarrez sous Windows 95 en mode DOS (en pressant Majuscule+F5 au chargement de Windows 95) et entrez alors les commandes suivantes :

BOOTPART WINNT BOOT:D:
Vous devez maintenant éditer le fichier Boot.ini situé à la racine de la partition de Windows NT. Vous devez éditer trois lignes, une dans la section [boot loader] et deux dans la section [operating systems].

Voici le Boot.ini original :

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(1)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(1)partition(1)\WINNT="Windows NT Workstation Version
4.00"
multi(0)disk(0)rdisk(1)partition(1)\WINNT="Windows NT Workstation Version
4.00 [VGA mode]" /basevideo /sos
C:\ = "Microsoft Windows"

Voici le fichier Boot.ini modifié :

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Workstation Version
4.00"
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Workstation Version
4.00 [VGA mode]" /basevideo /sos
Notez que toutes les occurrences du type rdisk(1) ont été modifiées en rdisk(0) et les lignes référençant Windows 95 ont été retirées.

Après avoir sauvé le fichier, si vous avez tout fait correctement, vous devriez maintenant être capable de démarrer sous Windows NT à partir de LILO.

5. La partie Windows 95

Créez une disquette de démarrage DOS à partir de l'invite de commande de DOS (en pressant Majuscule+F5 au chargement de Windows 95). Il est fondamental de créer cette disquette à partir de DOS, et pas d'une fenêtre DOS sous Windows 95. ne démarrez pas sous Windows 95 tant que cette étape n'est pas réalisée. Copiez le fichier C:\WINDOWS95\COMMAND\SYS.COM sur la disquette (en substituant le chemin d'accès à Windows 95 s'il est différent). Démarrez alors à partir de cette disquette, puis entrez la commande :

SYS C:
Cela devrait retirer le chargeur NT, et vous devriez désormais pouvoir démarrer directement sur Windows 95 à partir de LILO.

Vous pouvez alors effacer les fichiers du chargeur NT :

Boot.ini
Bootsect.dos
Ntdetect.com
Ntldr

6. Références

Merci aux personnes suivantes (sans ordre particulier) :

James C. Bevier et D. Michael McFarland. Leurs échanges sur la liste de diffusion RedHat m'ont apporté plusieurs informations sur la façon de démarrer sur Windows NT à partir de Linux.

Gilles Vollant. Bootpart est un utilitaire très pratique et Gilles le met à disposition gratuitement avec une bonne documentation. Merci Gilles.

Mike Harlan. En lisant son 'Linux-DOS-Win95-OS2' mini-HOWTO, cela m'a permis de faire certaines hypothèses sur le comportement de LILO.