<!doctype linuxdoc system>

<article>

<title>Le HOWTO Windows 95 + Windows 3.x + Linux
<author>Robert Goodwin, <tt>&lt;Robert.Goodwin@mcc.ac.uk&gt;</tt>, traduit par
Olivier Tharan, <tt>&lt;Olivier.Tharan@int-evry.fr&gt;</tt>
<date>Ao&ucirc;t 1996

<sect>Introduction
<p>

Ce document a d'abord &eacute;t&eacute; &eacute;crit en janvier 1996. J'y ai inclus divers
commentaires, informations et questions re&ccedil;us depuis lors. Ce document
est aussi disponible en japonais ; voyez l'ensemble de documentations
Linux en japonais &agrave; <url
url="http://epsenewsc.kyoto-u.ac.jp/JF/JF.html">.

<sect>D&eacute;marrer plusieurs syst&egrave;mes d'exploitation
<p>

Si vous voulez d&eacute;marrer plusieurs syst&egrave;mes d'exploitation (et que vous
ne voulez pas les d&eacute;marrer &agrave; partir d'une disquette !), vous avez
besoin d'utiliser une sorte de <em/gestionnaire de d&eacute;marrage/.

Windows 95 n'a pas <em/vraiment/ de gestionnaire de d&eacute;marrage -- il a
des options de d&eacute;marrage, mais pour moi on peut configurer un
``gestionnaire de d&eacute;marrage'' pour d&eacute;marrer n'importe quoi.

On peut configurer Lilo pour d&eacute;marrer quasiment n'importe quoi, comme
le peuvent les gestionnaires de d&eacute;marrage d'OS/2 et de Windows
NT. Lequel vous utilisez d&eacute;pend enti&egrave;rement de vous ; cela d&eacute;pend de
ce que vous voulez sur votre syst&egrave;me. Si vous utilisez le gestionnaire
de d&eacute;marrage d'OS/2, par exemple, il vous ``cache'' les ``autres''
partitions de genre DOS.

<sect>Autres endroits &agrave; regarder
<p>

Si vous voulez juste Windows 95 et Linux, vous aurez s&ucirc;rement besoin
du HOWTO Windows 95 + Linux. On peut trouver la derni&egrave;re version &agrave; :

<tscreen><verb>
http://www.in.net/~jkatz/win95/Linux-HOWTO.html
</verb></tscreen>

On peut installer Windows 95 et Linux sur un m&ecirc;me disque ; les
probl&egrave;mes couverts dans le reste de ce document tournent autour du
fait que DOS ne permet pas d'avoir plus d'<em/une/ partition DOS
primaire par lecteur.

Si vous voulez utiliser le gestionnaire de d&eacute;marrage de NT, jetez un coup
d'oeil &agrave; <url url="http://www.bcpl.lib.md.us/~dbryan/directboot.html">. 
Pour ajouter Linux (ou d'autres, comme OS/2), il y a un petit programme
sympa qui fabrique des fichiers de secteurs de d&eacute;marrage pour les utiliser
avec le chargeur NT. Vous pouvez trouver de l'information l&agrave;-dessus &agrave; <url
url="http://www.winimage.com/bootpart.htm">.

Vous pouvez aussi fouiller dans <tt/LOADLIN.EXE/ qui vous permet de
``d&eacute;marrer'' Linux en d&eacute;marrant d'abord sous DOS.

<sect>Pourquoi ce HOWTO ?
<p>

Ce document traite des probl&egrave;mes suivants :

<itemize>

<item>Comment arriver &agrave; faire cohabiter Windows 3.x sur la m&ecirc;me
machine que Windows 95 sans probl&egrave;mes (et que pourraient &ecirc;tre ces
probl&egrave;mes de toute fa&ccedil;on) ;

<item>Comment &eacute;viter les probl&egrave;mes sur une machine sous Windows 95 qui
peut aussi &ecirc;tre d&eacute;marr&eacute;e sous DOS &agrave; distance ;

<item>Comment installer Windows 95 avec Linux sans devoir r&eacute;installer
Lilo (avec le d&eacute;marrage fastidieux de Linux sur disquette).

</itemize>

Bien que le syst&egrave;me de fichiers de Windows 95 vive au-dessus de la FAT
standard DOS, il lui fait certaines choses d&eacute;plaisantes. D&eacute;marrez
votre machine Windows 95 &agrave; partir d'une disquette DOS bootable et
lancez Norton pour v&eacute;rifier le disque (mais <em/ne/ le laissez tenter
aucune r&eacute;paration ou vous mettrez en l'air quelques noms de fichiers
``longs'').

On me demande en ce moment de supporter des applications &agrave; la fois
dans l'environnement Windows 95 et Windows 3.x (les deux tournent soit
en local soit d&eacute;marrent &agrave; partir du r&eacute;seau). J'ai d&eacute;velopp&eacute; la
proc&eacute;dure d&eacute;crite dans ce document pour me permettre de faire tout
ceci avec un seul PC.

Ne demandez pas pourquoi une personne d'Unix a termin&eacute; dans cette
position <tt/:-)/

<sect>El&eacute;ments n&eacute;cessaires
<p>

Si vous &ecirc;tes pr&eacute;par&eacute; &agrave; vous plonger dans les sources de Lilo (Lilo 1.7
ou plus, je crois), il est possible de faire tout ceci avec <em/un/
disque dur. Ceci fonctionne en changeant le contenu de la table des
partitions au moment du d&eacute;marrage du syst&egrave;me ; si vous n'&ecirc;tes pas
confiant pour essayer &ccedil;a, ne le faites pas !

Sinon, vous aurez besoin de <em/deux/ disques durs. Ceci est d&ucirc; &agrave;
certaines limitations de DOS/Windows concernant le d&eacute;marrage et
l'allocation des lettres de lecteurs. Croyez-moi, j'ai essay&eacute; de le
faire fonctionner avec un seul (mais je ne voulais pas changer les
sources de Lilo).

<sect>Ce qu'il en ressortira
<p>

Un mot sur les noms de p&eacute;riph&eacute;riques. J'ai vu des syst&egrave;mes qui
utilisent <tt>/dev/hdc</tt> pour nommer le troisi&egrave;me disque IDE
(premier disque IDE sur le deuxi&egrave;me contr&ocirc;leur) et <tt>/dev/hdd</tt>
pour le quatri&egrave;me. J'ai aussi vu des syst&egrave;mes qui utilisent
<tt>/dev/hd1a</tt> et <tt>/dev/hd1b</tt> (ce qui donne des partitions
comme <tt>/dev/hd1a3</tt>, etc.). Mon syst&egrave;me utilise la deuxi&egrave;me
m&eacute;thode de nommage, mais j'ai chang&eacute; les noms en <tt>/dev/hdc</tt> et
<tt>/dev/hdd</tt> pour limiter les confusions.

Voici une br&egrave;ve description de ce que j'ai maintenant -- regardez les
lettres de lecteurs parce qu'elles changent...

Si vous utilisez un contr&ocirc;leur IDE secondaire, vous aurez peut-&ecirc;tre
besoin de cr&eacute;er les entr&eacute;es dans <tt>/dev</tt> vous-m&ecirc;me
(<tt>/dev/hdc*</tt> et <tt>/dev/hdd*</tt>).  Ceci peut &ecirc;tre le cas si
vous ajoutez un deuxi&egrave;me disque &agrave; une machine qui a d&eacute;j&agrave; un disque IDE
et un CD-ROM IDE ; votre deuxi&egrave;me disque dur serait <tt>/dev/hdc</tt>.
J'ai essay&eacute; cet arrangement sans probl&egrave;mes.

J'ai :

<tscreen>
/dev/hda - premier disque dur
/dev/hdb - lecteur CD-ROM
/dev/hdc - deuxi&egrave;me disque dur
</tscreen>

<descrip>

<tag/Option 1 :/ En allumant la machine, je peux permettre &agrave; la
<em/boot ROM/ de la carte Ethernet de d&eacute;marrer DOS &agrave; distance. Le
lecteur <tt/C:/ est la premi&egrave;re partition DOS sur le <em/premier/
disque IDE (dans mon cas <tt>/dev/hda1</tt>). Le lecteur <tt/D:/ est
la premi&egrave;re partition DOS sur le <em/deuxi&egrave;me/ disque IDE (dans mon
cas <tt>/dev/hdc1</tt>), et le lecteur <tt/F:/ est la deuxi&egrave;me
partition DOS sur le <em/deuxi&egrave;me/ disque IDE (<tt>/dev/hdc2</tt>). Le
CD-ROM devient <tt/F:/.

<tag/Option 2 :/ Permettre &agrave; Lilo de d&eacute;marrer le syst&egrave;me par d&eacute;faut
(Linux, naturellement).

<tag/Option 3 :/ Interrompre Lilo et lui demander une option que
j'appelle <tt/dos/.  Ceci d&eacute;marre DOS &agrave; partir de <tt>/dev/hda1</tt>
et, comme avec l'option 1, le disque <tt/C:/ est <tt>/dev/hda1</tt>,
le disque <tt/D:/ est <tt>/dev/hdc1</tt> et le disque <tt/E:/ est
<tt>/dev/hdc2</tt>. Le CD-ROM devient <tt/F:/.

<tag/Option 4 :/ Interrompre Lilo et demander une option que j'appelle
<tt/win95/.  Ceci d&eacute;marre Windows 95 &agrave; partir de la premi&egrave;re partition
DOS sur le <em/deuxi&egrave;me/ disque IDE (dans mon cas
<tt>/dev/hdc1</tt>). Suivez ceci avec attention : le disque <tt/C:/
est maintenant la premi&egrave;re partition DOS sur le <em/deuxi&egrave;me/ disque
IDE (<tt>/dev/hdc1</tt>), le disque <tt/D:/ est maintenant la premi&egrave;re
partition du <em/premier/ disque IDE (<tt>/dev/hda1</tt>), et le
disque <tt/E:/ reste la deuxi&egrave;me partition DOS sur le <em/deuxi&egrave;me/
disque IDE (<tt>/dev/hdc2</tt>). Le CD-ROM devient <tt/F:/.

</descrip>

Remarquez que le disque <tt/C:/ change selon votre m&eacute;thode de
d&eacute;marrage.  Ceci veut dire que quand vous installez Windows 95, vous
l'installez dans <tt/C:\\WINDOWS/, et quand vous installez Windows
3.x, vous l'installez dans <tt/C:\\WINDOWS/ mais ce n'est pas le m&ecirc;me
endroit <tt/:-)/

Remarquez aussi que la troisi&egrave;me partition DOS (que j'utilise comme
disque de donn&eacute;es g&eacute;n&eacute;ral) est <tt/E:/ quelle que soit la mani&egrave;re de
d&eacute;marrer, et que le CD-ROM reste aussi constant.

<sect>Comment le faire
<p>

En premier, installez Linux ; le disque sur lequel vous l'installez
n'a pas d'importance, mais comme vous utilisez deux disques il est
sens&eacute; de cr&eacute;er une partition de swap sur les deux.

Cr&eacute;ez une partition DOS primaire sur le deuxi&egrave;me
disque. Malheureusement, le programme DOS <tt/FDISK/ ne vous laissera
pas faire ceci, vous devez donc utiliser le programme Linux <tt/fdisk/
pour cr&eacute;er la partition, mettre le type (6 pour <tt/DOS 16 BIT FAT >
32Mb/), positionner la partition bootable, et suivre
<em/attentivement/ les conseils de la page de manuel de
<tt/fdisk/. Celle-ci d&eacute;crit comment forcer DOS &agrave; reconna&icirc;tre une
partition cr&eacute;&eacute;e de cette mani&egrave;re en utilisant la commande <tt/dd/ pour
mettre &agrave; z&eacute;ro les 512 premiers octets de la partition. (En gros, vous
faites <tt>dd if=/dev/zero of=/dev/XXXX bs=512 count=1</tt> o&ugrave;
<tt/XXXX/ est le p&eacute;riph&eacute;rique mais soyez <em/tr&egrave;s/ prudent puisque
c'est une bonne m&eacute;thode pour crasher un disque -- par exemple en
mettant <tt>/dev/hda</tt> au lieu de <tt>/dev/hda1</tt> !)

Cr&eacute;er la partition DOS primaire sur le premier disque dur peut &ecirc;tre
fait avec le programme DOS <tt/FDISK/. Toute autre partition DOS
n&eacute;cessaire peut &ecirc;tre cr&eacute;&eacute;e de la m&ecirc;me mani&egrave;re.

Les deux partitions primaires doivent &ecirc;tre format&eacute;es comme des
partitions DOS bootables ; utilisez <tt>FORMAT C: /S</tt> et
<tt>FORMAT D: /S</tt> en ayant d&eacute;marr&eacute; &agrave; partir d'une disquette. Pour
&eacute;viter la confusion, donnez aux partitions des noms de volume
reconnaissables !

Editez <tt>/etc/lilo.conf</tt> pour vous donner l'option de d&eacute;marrer &agrave;
partir de l'une des deux partitions DOS primaires. J'ai mis en annexe
un exemple. Notez l'utilisation de la ligne <tt/loader/ dans ce
fichier d'exemple. C'est vous qui choisissez sur quelle partition vous
installez Windows 95 et Windows 3.x ; j'ai utilis&eacute; le deuxi&egrave;me disque
dur pour Windows 95 puisque le d&eacute;marrage par le r&eacute;seau de la machine
donne alors la lettre <tt/C:/ pour le disque DOS normal. De m&ecirc;me
(c'est utile), installer Windows 95 sur le deuxi&egrave;me disque dur &eacute;vite
d'avoir &agrave; d&eacute;marrer Linux &agrave; partir d'une disquette de secours et de
r&eacute;installer Lilo (pourquoi vous devriez faire ceci est expliqu&eacute; plus
bas). Rappelez-vous de lancer <tt/lilo/ pour installer les options.

Si vous pensez (&agrave; juste titre) installer Windows 95 &agrave; partir d'un
CD-ROM, vous devrez inclure les pilotes correspondants sur la
partition Windows 95 pour que quand vous d&eacute;marrez dessus, le lecteur
de CD-ROM soit accessible.

Maintenant d&eacute;marrez, en utilisant Lilo, sur le disque que vous voulez
utiliser pour DOS/Windows 3.x et installez le reste de DOS et de
Windows 3.x -- l'installation de Windows devrait aller dans le
r&eacute;pertoire <tt/C:\\WINDOWS/ comme d'habitude.

Une fois ceci fait, red&eacute;marrez la machine et, en utilisant Lilo,
d&eacute;marrez sur la partition Windows 95. Lancez l'installation de Windows
95. La proc&eacute;dure d'installation peut sugg&eacute;rer <tt/D:\\WINDOWS/ pour
installer Windows 95 parce qu'il recherche sur la machine les versions
existantes de Windows -- <em/n'acceptez pas ceci/ -- installez Windows
95 sur <tt/C:\\WINDOWS/.

Maintenant, la bonne nouvelle ! Windows 95 est un syst&egrave;me plut&ocirc;t
arrogant -- quand vous l'installez, il suppose que c'est le seul
syst&egrave;me d'exploitation sur la machine et continue en &eacute;crivant son
propre MBR (Master Boot Record) sur le disque dur. Voici pourquoi vous
devez en g&eacute;n&eacute;ral r&eacute;installer Lilo. Si vous avez install&eacute; Windows 95
sur le deuxi&egrave;me disque dur, vous avez fait quelque chose que les
programmeurs de Microsoft(tm) n'ont pas pris en compte. Sur une
machine o&ugrave; j'ai fait cette op&eacute;ration, Windows 95 a &eacute;crit son MBR de
remplacement sur le MBR du <em/deuxi&egrave;me/ disque dur.  Sur une autre,
je n'ai pas trouv&eacute; de preuve du tout qu'il l'avait fait. La
cons&eacute;quence pratique de ceci est que le MBR qui compte, celui du
premier disque dur, n'est pas chang&eacute;. Donc quand vous red&eacute;marrerez la
machine, vous serez accueilli par le prompt amical et familier de
Lilo.

Exemple de liste de partitions :

<tscreen><verb>
/dev/hda1	*	partition DOS			(C: ou D: selon le d&eacute;marrage)
/dev/hda2		partition &eacute;tendue
/dev/hda5		/
/dev/hda6		swap
/dev/hda7		/home

/dev/hdc1	*	partition Windows 95	(C: ou D: selon le d&eacute;marrage)
/dev/hdc2		partition DOS			(toujours E:)
/dev/hdc3		swap
</verb></tscreen>

(Les partitions avec une <tt/*/ sont positionn&eacute;es bootables (ou
<em/actives/) par <tt/fdisk/.)

Exemple de <tt/lilo.conf/ :

<tscreen><verb>
# /etc/lilo.conf
install = /boot/boot.b
compact
delay = 20		# optionnel, pour les syst&egrave;mes qui d&eacute;marrent tr&egrave;s rapidement
#prompt			# &agrave; utiliser &agrave; la place de delay pour forcer une r&eacute;ponse au prompt
#vga = normal	# forcer un &eacute;tat sain
#ramdisk = 0	# param&egrave;tre de parano&iuml;aque
#root = current	# utiliser la racine "courante"
boot = /dev/hda
image = /boot/vmlinuz
  read-only
  label = linux
other = /dev/hdc1
  label = win95
  loader = /boot/any_d.b
other = /dev/hda1
  table = /dev/hda
  label = dos
image = /boot/vmlinuz.old
  label = linux.old
  optional
  read-only
</verb></tscreen>

<sect>Quelques questions et r&eacute;ponses
<p>

<descrip>

<tag/Est-ce que cette m&eacute;thode fonctionne avec les disques SCSI ?/ On
m'a dit que &ccedil;a fonctionnait, mais je n'ai pas pu l'essayer moi-m&ecirc;me.

<tag/Est-ce que cette m&eacute;thode fonctionne si Linux est compl&egrave;tement sur
un disque, et DOS et Windows 95 sont sur des partitions sur l'autre
disque ?/ Non. Les parties DOS et Windows 95 doivent &ecirc;tre toutes les
deux sur des partitions primaires <em/DOS/ d'un disque. Il est
possible de contourner ceci en recompilant Lilo.

<tag/J'ai t&eacute;l&eacute;charg&eacute; une FAQ sur Windows 95 qui parle de la
possibilit&eacute; de d&eacute;marrer soit DOS soit Windows 95. Si j'installe
Windows 3.11 dans un autre r&eacute;pertoire que <tt/windows/ elle dit que je
peux faire tourner Windows 95 et Windows 3.11 en harmonie. Il y a une
partition./ Oui, on peut le faire. Ceci peut cependant causer des
probl&egrave;mes. Windows 95 fait des choses bizarres sur le disque FAT et
certaines op&eacute;rations que vous effectuerez avec vos anciens DOS et
Windows (3.x) peuvent facilement d&eacute;truire les informations sur les
noms de fichiers longs. Par exemple, d&eacute;fragmenter le lecteur en
utilisant un utilitaire DOS/Windows 3.x le fera. Vous vous cr&eacute;ez aussi
des difficult&eacute;s quand &ccedil;a ne fonctionne pas ; vous devez vous soucier
des fichiers <tt/INI/ sur chaque syst&egrave;me <em/et/ de la <em/registry/
Windows 95.

<tag/Est-ce que le LBA est important ?/ Oui. Houla ! Les BIOS
post&eacute;rieurs &agrave; environ 1994 supportent le LBA pour contourner une
limite quelque part dans le DOS qui emp&ecirc;che DOS de pouvoir se
d&eacute;brouiller avec des num&eacute;ros de cylindres sup&eacute;rieurs &agrave; 1024 (ceci est
couvert en plus grands d&eacute;tails dans les FAQs sur le mat&eacute;riel PC). Le
LBA joue avec la g&eacute;om&eacute;trie des disques , en multipliant le nombre de
t&ecirc;tes par 2 ou 4 (etc.) pour diviser le nombre apparent de cylindres
par 2 ou 4 (etc.) et obtenir un nombre de cylindres inf&eacute;rieur &agrave;
1024. Ceci contourne la limite.

Linux peut manipuler plus de 1024 cylindres (&agrave; condition que la
partition &agrave; partir de laquelle vous d&eacute;marrez soit enti&egrave;rement
en-dessous de 1024 cylindres), et peut donc manipuler des grands
disques (sup&eacute;rieurs &agrave; 504 Mo) m&ecirc;me sur des vieilles machines (BIOS
ant&eacute;rieur &agrave; 1994). Il peut aussi manipuler des grands disques avec les
BIOS qui supportent le LBA, que le LBA soit activ&eacute; ou pas.

Il est vital que <em/tous/ les syst&egrave;mes d'exploitation voient chaque
disque sous la m&ecirc;me g&eacute;om&eacute;trie -- ceci parce que les num&eacute;ros de la
table des partitions sont les num&eacute;ros de cylindres <em/per&ccedil;us/, et non
les num&eacute;ros r&eacute;els. Ainsi, changer les param&egrave;tres du BIOS pour activer
le LBA invalidera le contenu existant d'un disque.

Si votre syst&egrave;me Linux ne <em/voit/ pas la g&eacute;om&eacute;trie <em/correcte/
(c'est-&agrave;-dire la m&ecirc;me que <em/voit/ DOS), vous devrez ajouter une
ligne dans <tt/lilo.conf/ : <tt/append="hd=x,y,z"/ o&ugrave; <tt/x/, <tt/y/,
<tt/z/ repr&eacute;sentent la g&eacute;om&eacute;trie du disque (voyez les pages de manuel
correspondantes).

<tag/Mon BIOS ne contient des informations que sur deux disques durs
et non quatre.  Est-ce que &ccedil;a a de l'importance ?/ S&ucirc;rement ! Avoir
quatre disques durs avec des vieux BIOS, sous DOS demandait
l'utilisation d'un logiciel pilote. Les BIOS plus r&eacute;cents contiennent
les informations sur les quatre disques.

Linux peut sans probl&egrave;mes utiliser quatre disques durs m&ecirc;me avec la
plupart de ces BIOS plus anciens, mais si vous mettez une partition
DOS sur le disque 3 vous ne serez capable d'y acc&eacute;der que par Linux.

Ceci est pertinent puisque beaucoup de machines poss&egrave;dent un disque
IDE, un CD-ROM IDE et, si vous voulez mettre ce document en pratique,
un autre disque IDE.

</descrip>

Si vous avez trouv&eacute; ce document utile, merci de me le faire savoir.

</article>
