
  Le HOWTO Windows 95 + Windows 3.x + Linux
  Robert   Goodwin,  <Robert.Goodwin@mcc.ac.uk>,  traduit  par
  Olivier Tharan, <Olivier.Tharan@int-evry.fr>
  Aout 1996

  1.  Introduction

  Ce document a d'abord ete ecrit en janvier 1996. J'y ai inclus  divers
  commentaires, informations et questions recus depuis lors. Ce document
  est aussi disponible en japonais ; voyez l'ensemble de  documentations
  Linux en japonais a  <http://epsenewsc.kyoto-u.ac.jp/JF/JF.html>.

  2.  Demarrer plusieurs systemes d'exploitation

  Si vous voulez demarrer plusieurs systemes d'exploitation (et que vous
  ne voulez pas les demarrer a partir  d'une  disquette  !),  vous  avez
  besoin d'utiliser une sorte de gestionnaire de demarrage.

  Windows  95  n'a pas vraiment de gestionnaire de demarrage -- il a des
  options  de  demarrage,  mais  pour  moi   on   peut   configurer   un
  ``gestionnaire de demarrage'' pour demarrer n'importe quoi.

  On  peut configurer Lilo pour demarrer quasiment n'importe quoi, comme
  le peuvent les gestionnaires de demarrage d'OS/2  et  de  Windows  NT.
  Lequel  vous  utilisez  depend entierement de vous ; cela depend de ce
  que vous voulez sur votre systeme. Si vous utilisez le gestionnaire de
  demarrage  d'OS/2,  par  exemple,  il  vous  ``cache''  les ``autres''
  partitions de genre DOS.

  3.  Autres endroits a regarder

  Si vous voulez juste Windows 95 et Linux, vous aurez  surement  besoin
  du HOWTO Windows 95 + Linux. On peut trouver la derniere version a :

       http://www.in.net/~jkatz/win95/Linux-HOWTO.html

  On  peut  installer  Windows  95  et  Linux  sur  un meme disque ; les
  problemes couverts dans le reste de ce  document  tournent  autour  du
  fait  que  DOS ne permet pas d'avoir plus d'une partition DOS primaire
  par lecteur.

  Si vous voulez utiliser le gestionnaire de demarrage de NT,  jetez  un
  coup  d'oeil  a   <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 demarrage
  pour les  utiliser  avec  le  chargeur  NT.  Vous  pouvez  trouver  de
  l'information                        la-dessus                       a
  <http://ourworld.compuserve.com/homepages/gvollant/otherl.htm>.

  Vous pouvez  aussi  fouiller  dans  LOADLIN.EXE  qui  vous  permet  de
  ``demarrer'' Linux en demarrant d'abord sous DOS.

  4.  Pourquoi ce HOWTO ?

  Ce document traite des problemes suivants :

  o  Comment  arriver  a faire cohabiter Windows 3.x sur la meme machine
     que Windows 95 sans problemes (et que pourraient etre ces problemes
     de toute facon) ;

  o  Comment  eviter  les  problemes sur une machine sous Windows 95 qui
     peut aussi etre demarree sous DOS a distance ;

  o  Comment installer Windows 95 avec  Linux  sans  devoir  reinstaller
     Lilo (avec le demarrage fastidieux de Linux sur disquette).

  Bien que le systeme de fichiers de Windows 95 vive au-dessus de la FAT
  standard DOS, il lui fait  certaines  choses  deplaisantes.   Demarrez
  votre  machine  Windows  95  a  partir d'une disquette DOS bootable et
  lancez Norton pour verifier le  disque  (mais  ne  le  laissez  tenter
  aucune  reparation  ou vous mettrez en l'air quelques noms de fichiers
  ``longs'').

  On me demande en ce moment de supporter des  applications  a  la  fois
  dans l'environnement Windows 95 et Windows 3.x (les deux tournent soit
  en local soit  demarrent  a  partir  du  reseau).  J'ai  developpe  la
  procedure  decrite  dans  ce  document pour me permettre de faire tout
  ceci avec un seul PC.

  Ne demandez pas pourquoi une personne  d'Unix  a  termine  dans  cette
  position :-)

  5.  Elements necessaires

  Si vous etes prepare a vous plonger dans les sources de Lilo (Lilo 1.7
  ou plus, je crois), il est possible de faire tout ceci avec un  disque
  dur.  Ceci  fonctionne  en  changeant  le  contenu  de  la  table  des
  partitions au moment du demarrage du systeme  ;  si  vous  n'etes  pas
  confiant pour essayer ca, ne le faites pas !

  Sinon, vous aurez besoin de deux disques durs. Ceci est du a certaines
  limitations de DOS/Windows concernant le demarrage et l'allocation des
  lettres  de  lecteurs. Croyez-moi, j'ai essaye de le faire fonctionner
  avec un seul (mais je ne voulais pas changer les sources de Lilo).

  6.  Ce qu'il en ressortira

  Un mot sur les  noms  de  peripheriques.  J'ai  vu  des  systemes  qui
  utilisent /dev/hdc pour nommer le troisieme disque IDE (premier disque
  IDE sur le deuxieme controleur) et /dev/hdd pour  le  quatrieme.  J'ai
  aussi  vu  des  systemes  qui utilisent /dev/hd1a et /dev/hd1b (ce qui
  donne des partitions comme /dev/hd1a3, etc.). Mon systeme  utilise  la
  deuxieme  methode de nommage, mais j'ai change les noms en /dev/hdc et
  /dev/hdd pour limiter les confusions.

  Voici une breve description de ce que j'ai maintenant --- regardez les
  lettres de lecteurs parce qu'elles changent...

  Si  vous  utilisez  un controleur IDE secondaire, vous aurez peut-etre
  besoin  de  creer  les  entrees  dans  /dev  vous-meme  (/dev/hdc*  et
  /dev/hdd*).   Ceci peut etre le cas si vous ajoutez un deuxieme disque
  a une machine qui a deja un disque  IDE  et  un  CD-ROM  IDE  ;  votre
  deuxieme disque dur serait /dev/hdc.  J'ai essaye cet arrangement sans
  problemes.

  J'ai :

       /dev/hda - premier disque dur /dev/hdb -  lecteur  CD-ROM  /dev/hdc  -
       deuxieme disque dur

     Option 1 :
        En  allumant  la  machine, je peux permettre a la boot ROM de la
        carte Ethernet de demarrer DOS a distance. Le lecteur C: est  la
        premiere  partition  DOS sur le premier disque IDE (dans mon cas
        /dev/hda1). Le lecteur D: est la premiere partition DOS  sur  le
        deuxieme  disque  IDE (dans mon cas /dev/hdc1), et le lecteur F:
        est la  deuxieme  partition  DOS  sur  le  deuxieme  disque  IDE
        (/dev/hdc2). Le CD-ROM devient F:.

     Option 2 :
        Permettre  a  Lilo  de  demarrer  le  systeme par defaut (Linux,
        naturellement).

     Option 3 :
        Interrompre Lilo et lui demander une option que  j'appelle  dos.
        Ceci  demarre  DOS a partir de /dev/hda1 et, comme avec l'option
        1, le disque C: est /dev/hda1, le disque D: est /dev/hdc1 et  le
        disque E: est /dev/hdc2.  Le CD-ROM devient F:.

     Option 4 :
        Interrompre  Lilo  et  demander  une option que j'appelle win95.
        Ceci demarre Windows 95 a partir de la  premiere  partition  DOS
        sur le deuxieme disque IDE (dans mon cas /dev/hdc1). Suivez ceci
        avec attention  :  le  disque  C:  est  maintenant  la  premiere
        partition  DOS sur le deuxieme disque IDE (/dev/hdc1), le disque
        D: est maintenant la premiere partition du  premier  disque  IDE
        (/dev/hda1), et le disque E: reste la deuxieme partition DOS sur
        le deuxieme disque IDE (/dev/hdc2). Le CD-ROM devient F:.

  Remarquez que le disque C: change selon votre  methode  de  demarrage.
  Ceci  veut  dire que quand vous installez Windows 95, vous l'installez
  dans C:\WINDOWS, et quand vous installez Windows 3.x, vous l'installez
  dans C:\WINDOWS mais ce n'est pas le meme endroit :-)

  Remarquez  aussi  que  la troisieme partition DOS (que j'utilise comme
  disque de donnees general) est  E:  quelle  que  soit  la  maniere  de
  demarrer, et que le CD-ROM reste aussi constant.

  7.  Comment le faire

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

  Creez   une   partition   DOS   primaire   sur   le  deuxieme  disque.
  Malheureusement, le programme DOS FDISK ne  vous  laissera  pas  faire
  ceci,  vous devez donc utiliser le programme Linux fdisk pour creer la
  partition, mettre le type (6 pour DOS 16 BIT FAT > 32Mb),  positionner
  la partition bootable, et suivre attentivement les conseils de la page
  de manuel de fdisk. Celle-ci decrit comment forcer DOS  a  reconnaitre
  une  partition creee de cette maniere en utilisant la commande dd pour
  mettre a zero les 512 premiers octets de la partition. (En gros,  vous
  faites  dd  if=/dev/zero  of=/dev/XXXX  bs=512  count=1 ou XXXX est le
  peripherique mais soyez tres prudent puisque c'est une  bonne  methode
  pour  crasher  un disque -- par exemple en mettant /dev/hda au lieu de
  /dev/hda1 !)

  Creer la partition DOS primaire sur le premier disque  dur  peut  etre
  fait avec le programme DOS FDISK. Toute autre partition DOS necessaire
  peut etre creee de la meme maniere.

  Les  deux  partitions  primaires  doivent  etre  formatees  comme  des
  partitions  DOS  bootables  ; utilisez FORMAT C: /S et FORMAT D: /S en
  ayant demarre a partir d'une disquette.   Pour  eviter  la  confusion,
  donnez aux partitions des noms de volume reconnaissables !

  Editez  /etc/lilo.conf  pour vous donner l'option de demarrer a partir
  de l'une des deux partitions DOS primaires.  J'ai  mis  en  annexe  un
  exemple.  Notez  l'utilisation  de  la  ligne  loader  dans ce fichier
  d'exemple.  C'est  vous  qui  choisissez  sur  quelle  partition  vous
  installez  Windows 95 et Windows 3.x ; j'ai utilise le deuxieme disque
  dur pour Windows 95 puisque le demarrage par le reseau de  la  machine
  donne  alors  la  lettre  C: pour le disque DOS normal. De meme (c'est
  utile), installer Windows 95 sur le deuxieme disque dur evite  d'avoir
  a demarrer Linux a partir d'une disquette de secours et de reinstaller
  Lilo (pourquoi  vous  devriez  faire  ceci  est  explique  plus  bas).
  Rappelez-vous de lancer lilo pour installer les options.

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

  Maintenant demarrez, 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
  repertoire C:\WINDOWS comme d'habitude.

  Une  fois  ceci  fait,  redemarrez  la  machine et, en utilisant Lilo,
  demarrez sur la partition Windows 95. Lancez l'installation de Windows
  95.   La   procedure  d'installation  peut  suggerer  D:\WINDOWS  pour
  installer Windows 95 parce qu'il recherche sur la machine les versions
  existantes  de  Windows -- n'acceptez pas ceci -- installez Windows 95
  sur C:\WINDOWS.

  Maintenant, la bonne nouvelle !  Windows  95  est  un  systeme  plutot
  arrogant  --  quand  vous  l'installez,  il  suppose que c'est le seul
  systeme d'exploitation sur la machine  et  continue  en  ecrivant  son
  propre  MBR  (Master  Boot  Record) sur le disque dur.  Voici pourquoi
  vous devez en general reinstaller Lilo.  Si vous avez installe Windows
  95  sur  le  deuxieme disque dur, vous avez fait quelque chose que les
  programmeurs de Microsoft(tm)  n'ont  pas  pris  en  compte.  Sur  une
  machine  ou  j'ai  fait cette operation, Windows 95 a ecrit son MBR de
  remplacement sur le MBR du deuxieme disque dur. Sur une autre, je n'ai
  pas  trouve  de  preuve  du  tout  qu'il  l'avait fait. La consequence
  pratique de ceci est que le MBR qui compte, celui  du  premier  disque
  dur,  n'est  pas change. Donc quand vous redemarrerez la machine, vous
  serez accueilli par le prompt amical et familier de Lilo.

  Exemple de liste de partitions :

  /dev/hda1       *       partition DOS                   (C: ou D: selon le demarrage)
  /dev/hda2               partition etendue
  /dev/hda5               /
  /dev/hda6               swap
  /dev/hda7               /home

  /dev/hdc1       *       partition Windows 95    (C: ou D: selon le demarrage)
  /dev/hdc2               partition DOS                   (toujours E:)
  /dev/hdc3               swap

  (Les partitions avec une * sont positionnees  bootables  (ou  actives)
  par fdisk.)

  Exemple de lilo.conf :

       # /etc/lilo.conf
       install = /boot/boot.b
       compact
       delay = 20              # optionnel, pour les systemes qui demarrent tres rapidement
       #prompt                 # a utiliser a la place de delay pour forcer une reponse au prompt
       #vga = normal   # forcer un etat sain
       #ramdisk = 0    # parametre de paranoiaque
       #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

  8.  Quelques questions et reponses

     Est-ce que cette methode fonctionne avec les disques SCSI ?
        On  m'a  dit  que ca fonctionnait, mais je n'ai pas pu l'essayer
        moi-meme.

     Est-ce que cette methode fonctionne si Linux est
        completement sur un disque, et DOS et Windows 95  sont  sur  des
        partitions  sur  l'autre  disque  ?"   Non.  Les  parties DOS et
        Windows 95 doivent etre  toutes  les  deux  sur  des  partitions
        primaires DOS d'un disque. Il est possible de contourner ceci en
        recompilant Lilo.

     J'ai telecharge une FAQ sur Windows 95 qui parle
        de la possibilite de demarrer  soit  DOS  soit  Windows  95.  Si
        j'installe  Windows  3.11  dans  un autre repertoire que 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 problemes. Windows 95 fait des  choses
        bizarres  sur  le  disque  FAT  et certaines operations que vous
        effectuerez avec  vos  anciens  DOS  et  Windows  (3.x)  peuvent
        facilement  detruire  les  informations sur les noms de fichiers
        longs. Par exemple, defragmenter  le  lecteur  en  utilisant  un
        utilitaire  DOS/Windows  3.x  le fera. Vous vous creez aussi des
        difficultes quand ca ne fonctionne pas ; vous devez vous soucier
        des  fichiers  INI  sur chaque systeme et de la registry Windows
        95.

     Est-ce que le LBA est important ?
        Oui. Houla ! Les BIOS posterieurs a environ 1994  supportent  le
        LBA  pour  contourner  une  limite  quelque part dans le DOS qui
        empeche DOS de  pouvoir  se  debrouiller  avec  des  numeros  de
        cylindres  superieurs  a  1024  (ceci est couvert en plus grands
        details dans les FAQs sur le materiel PC). Le LBA joue  avec  la
        geometrie  des disques , en multipliant le nombre de tetes par 2
        ou 4 (etc.) pour diviser le nombre apparent de cylindres  par  2
        ou  4 (etc.) et obtenir un nombre de cylindres inferieur a 1024.
        Ceci contourne la limite.

        Linux peut manipuler plus de 1024 cylindres (a condition que  la
        partition  a  partir  de laquelle vous demarrez soit entierement
        en-dessous de 1024 cylindres), et peut donc manipuler des grands
        disques  (superieurs  a  504  Mo) meme sur des vieilles machines
        (BIOS anterieur a 1994). Il  peut  aussi  manipuler  des  grands
        disques  avec  les  BIOS  qui supportent le LBA, que le LBA soit
        active ou pas.

        Il est vital que tous les systemes d'exploitation voient  chaque
        disque  sous  la meme geometrie -- ceci parce que les numeros de
        la table des partitions sont les numeros de cylindres percus, et
        non  les  numeros  reels.  Ainsi, changer les parametres du BIOS
        pour activer le LBA invalidera le contenu existant d'un  disque.

        Si votre systeme Linux ne voit pas la geometrie correcte (c'est-
        a-dire la meme que voit DOS), vous devrez ajouter une ligne dans
        lilo.conf  :  append="hd=x,y,z"  ou  x,  y,  z  representent  la
        geometrie du disque (voyez les pages de manuel correspondantes).

     Mon BIOS ne contient des informations que sur deux disques durs et
        non
        quatre. Est-ce que ca a de l'importance  ?"   Surement  !  Avoir
        quatre  disques  durs  avec  des  vieux BIOS, sous DOS demandait
        l'utilisation  d'un  logiciel  pilote.  Les  BIOS  plus  recents
        contiennent les informations sur les quatre disques.

        Linux peut sans problemes utiliser quatre disques durs meme 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 acceder
        que par Linux.

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

  Si vous avez trouve ce document utile, merci de me le faire savoir.

