  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1..  IInnttrroodduuccttiioonn

  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2..  DDeemmaarrrreerr pplluussiieeuurrss ssyysstteemmeess dd''eexxppllooiittaattiioonn

  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 _g_e_s_t_i_o_n_n_a_i_r_e _d_e _d_e_m_a_r_r_a_g_e.

  Windows  95  n'a pas _v_r_a_i_m_e_n_t 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3..  AAuuttrreess eennddrrooiittss aa rreeggaarrddeerr

  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'_u_n_e 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://www.winimage.com/bootpart.htm>.

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

  44..  PPoouurrqquuooii ccee HHOOWWTTOO ??

  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 _n_e 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5..  EElleemmeennttss nneecceessssaaiirreess

  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 _u_n 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 _d_e_u_x 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6..  CCee qquu''iill eenn rreessssoorrttiirraa

  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

     OOppttiioonn 11 ::
        En allumant la machine, je peux permettre a la _b_o_o_t  _R_O_M  de  la
        carte  Ethernet de demarrer DOS a distance. Le lecteur C: est la
        premiere partition DOS sur le _p_r_e_m_i_e_r disque IDE (dans  mon  cas
        /dev/hda1).  Le  lecteur D: est la premiere partition DOS sur le
        _d_e_u_x_i_e_m_e disque IDE (dans mon cas /dev/hdc1), et le  lecteur  F:
        est  la  deuxieme  partition  DOS  sur  le  _d_e_u_x_i_e_m_e  disque IDE
        (/dev/hdc2). Le CD-ROM devient F:.

     OOppttiioonn 22 ::
        Permettre a Lilo de  demarrer  le  systeme  par  defaut  (Linux,
        naturellement).

     OOppttiioonn 3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:.

     OOppttiioonn 44 ::
        Interrompre Lilo et demander une  option  que  j'appelle  win95.
        Ceci  demarre  Windows  95 a partir de la premiere partition DOS
        sur le _d_e_u_x_i_e_m_e disque IDE (dans mon cas /dev/hdc1). Suivez ceci
        avec  attention  :  le  disque  C:  est  maintenant  la premiere
        partition DOS sur le _d_e_u_x_i_e_m_e disque IDE (/dev/hdc1), le  disque
        D:  est  maintenant  la premiere partition du _p_r_e_m_i_e_r disque IDE
        (/dev/hda1), et le disque E: reste la deuxieme partition DOS sur
        le _d_e_u_x_i_e_m_e 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7..  CCoommmmeenntt llee ffaaiirree

  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 _a_t_t_e_n_t_i_v_e_m_e_n_t 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 _t_r_e_s 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_'_a_c_c_e_p_t_e_z _p_a_s _c_e_c_i -- 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 _d_e_u_x_i_e_m_e 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 _a_c_t_i_v_e_s)
  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8..  QQuueellqquueess qquueessttiioonnss eett rreeppoonnsseess

     EEsstt--ccee qquuee cceettttee mmeetthhooddee ffoonnccttiioonnnnee aavveecc lleess ddiissqquueess SSCCSSII ??
        On m'a dit que ca fonctionnait, mais je n'ai  pas  pu  l'essayer
        moi-meme.

     EEsstt--ccee qquuee cceettttee mmeetthhooddee ffoonnccttiioonnnnee ssii LLiinnuuxx eesstt ccoommpplleetteemmeenntt ssuurr
        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 _D_O_S d'un
        disque. Il est possible de contourner ceci en recompilant  Lilo.

     JJ''aaii tteelleecchhaarrggee uunnee FFAAQQ ssuurr WWiinnddoowwss 9955 qquuii ppaarrllee ddee llaa
        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 _e_t de la _r_e_g_i_s_t_r_y Windows 95.

     EEsstt--ccee qquuee llee LLBBAA eesstt iimmppoorrttaanntt ??
        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 _t_o_u_s 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 _p_e_r_c_u_s, 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 _v_o_i_t pas la geometrie _c_o_r_r_e_c_t_e (c'est-
        a-dire la meme que _v_o_i_t 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).

     MMoonn BBIIOOSS nnee ccoonnttiieenntt ddeess iinnffoorrmmaattiioonnss qquuee ssuurr ddeeuuxx ddiissqquueess dduurrss
        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.

