Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > by-pkgid > d74cd56fd5c222851f198ac5005d694d > files > 215

howto-text-fr-9.0-1mdk.noarch.rpm

  Partage des fichiers d'echange entre LINUX et Ms-Windows
  H. Peter Anvin  hpa@yggdrasil.com
  v 1.3, 19 Juin 1995

  Copyright  (c)  1994,  1995 H. Peter Anvin.  Toute remarque ou commen-
  taire concernant la traduction de ce HOWTO peuvent etre envoyees a  la
  personne concernee. Traduction de Pierre Tane tanep@usa.net

  11..  IInnttrroodduuccttiioonn

  Nombreux sont ceux qui utilisent conjointement Linux et Ms-Windows. La
  possibilite de le faire tient une place importante dans la 'revolution
  Linux'. En effet, cela permet aux gens d'experimenter (et d'en devenir
  accro)  Linux  tout  en  etant  toujours  capables  d'executer   leurs
  programmes commerciaux. Comme Linux et Ms-Windows utilisent un systeme
  de memoire virtuelle sous la  forme  d'un  fichier  d'echange  sur  le
  disque  dur,  une  question  frequemment  postee a comp.os.linux.setup
  etait 'Comment partager le fichier d'echange de  maniere  a  minimiser
  l'espace disque necessaire ?'.

  Il  y  a  diverses  methodes  pour  partager l'espace d'echange, celle
  decrite ici etant sans doute la plus compliquee tout en etant la seule
  parmi  celles  que  j'ai  rencontrees  qui  autorise  les performances
  maximales pour les deux environnements  sans  risque  de  planter  une
  partition du disque.

  NOTE : si vous aviez une version precedente de ce document et que vous
  ayez eu des problemes avec la recuperation de votre fichier  d'echange
  (Windows  disant  que  celui-ci  est  corrompu),  essayez  la  version
  legerement modifiee du script shutdown incluse dans cette version.

  22..  CCee ddoonntt vvoouuss aavveezz bbeessooiinn

  Il y a des prerequis avant d'entamer la procedure decrite  ci-dessous.
  Je  vous  recommande  fortement  de remplir strictement les conditions
  enoncees sous peine de problemes serieux avec les anciennes  versions.

  +o  MS-DOS 5.0 ou plus

  +o  MS-Windows 3.1 ou plus

  +o  Un fichier shutdown ou init qui sache lancer un programme au moment
     du shutdown (comme le paquetage SysVinit-2.50, qui peut-etre obtenu
     sur  sunsite.unc.edu dans /pub/Linux/system/Daemons. Presque toutes
     les distributions utilisent ce paquetage pour init). NdT : la  date
     de ce document etant ancienne, cela n'est peut-etre plus le cas.

  33..  LLaa pprroocceedduurree

  +o  Lancez  le  DOS.  Creez  une  partition  DOS (a l'aide de FDISK) de
     taille egale a  la  taille  que  vous  voulez  pour  votre  fichier
     d'echange.  Il  va  lui  etre  assigne une lettre par laquelle vous
     allez remplacer X a chaque fois que la procedure fait mention d'une
     commande telle que 'LABEL X: ' ou 'COPY FOO X:DUMMY.DAT'

  +o  Formatez cette partition en utilisant la commande FORMAT du DOS :

       ______________________________________________________________________
       FORMAT X:
       ______________________________________________________________________

  +o  Changez  le  nom  de  volume de cette partition pour 'SWAP SPACE' a
     l'aide de la commande DOS LABEL. Verifiez ensuite avec la  commande
     DIR.  Veillez  a  faire  l'operation  en  deux  temps car certaines
     versions de FORMAT n'ecrivent pas le nom de volume dans le  secteur
     de  demarrage comme elles le devraient. (Note : certaines personnes
     m'ont ecrit pour me dire que le nom de voume  est  stocke  dans  le
     repertoire  racine.  Cela est vrai mais depuis DOS 5.0 au moins, il
     figure aussi dans le secteur de demarrage.)

       ______________________________________________________________________
       LABEL X:
       DIR X:
       ______________________________________________________________________

  +o  Demarrez  Windows.  Allez  dans  le   Panneau   de   Configuration,
     selectionnez '386 Enhanced' et creez un fichier d'echange permanent
     sur le lecteur X : de la taille maximale (Windows vous informera de
     la  taille maximale). Window se plaindra peut-etre du fait qu'il ne
     va pas utiliser un fichier d'echange aussi gros. Ignorez le message
     et creez tout de meme le fichier.

  +o  Sortez de Windows

  +o  Demarrez Linux et loggez vous en tant que root

  +o  Utilisez  la  commande fdisk pour trouver le nom de la partition et
     sa taille en blocks. Creez un lien symbolique de /dev/winswap  vers
     cette partition. Si la partition est /dev/hda7 alors vous taperez :

       ______________________________________________________________________
       ln -s /dev/hda7 /dev/winswap
       ______________________________________________________________________

  (Note pour les puristes : Veuillez etablir un lien symbolique. Le  nom
  de  cette  partition va se retrouver dans de nombreux fichiers de con-
  figuration et des incoherences seraient fatales.)

  +o  Ce qui suit est un fichier binaire encode par uuencode qui  analyse
     la  partition et en extrait des informations particulieres. Decodez
     le fichier par uudecode, gunzip-pez le et executez le par :

       ______________________________________________________________________
       msinfo /dev/winswap
       ______________________________________________________________________

  begin 755 msinfo.gz
  M'XL(`$$YNRT"`Y557TQ;51@_MW]HZ0AM'"$U.28W([..>84%1%D2QH>',9*M2S&VC);
  V=FV]T*;WWBD+1I)K'YH;DOJF#YH80GPR^J""D"R8K('MS2;#Q*SM%Y,EP&592A$V:[?.;?M"F
  P/?DG/G^_[?7_Z_3G7PL313TT(?8P0<J"CI':8M$5H^#:=5<KT^MQ`^UAQ1O*QUH0<.]B
  7S/FC[U!98Y;))]<*N^AG"^LB((J%EMAFIM[A9U0O`;%:*7N#[L%G!_IH34V(J,WUZ.CK%O6I#N
  4DTE,E144Q7T)M>]_PX\M<3@!`'ZZ26[`I7A.F!%$;JK.;21`!#.\,5A/CK)\=B3FL:3F8PH
  M<#$QDSO91Q%^>L%"Z@KW*"NR3;""5SN,A?'NI[0=P0Q=#[P&&$5@3UNZ3VWM=(V
  `NYQ/)6CX)DC2F`KD!&C/!:R7"Q%]L6`8'D+=]8T*^$V8@RR\;5\P9(M^;\&T:F]E`Q`EI
  ,_6YHCZBT#BJ09M0VV9!:XVKLF]0NX%'Z4R];\W](3A%JMI:`_&12!>@33QC0S'V8]?O5+0
  `;3UC23K)!"?@97N8R#:29MF/>R)PI>UJF)MK%/4QR39OSJE8,8MHZ)UC#`?1ZX'N!ZU`L'X
  ;@.?X["C<1DUT%,9QW32C''M"<98PQR#8#=(L'>96NQWR/4W1@>H3\'!OC3,MMN_"[
  ,=A1OVK^XEH($[$S^HMY@28=MB78$/`=8)(L=\P*$5*I_LS@)_G7!=\Z9V@F"``Y$XQM[T!T>(W
  HNUM/T9CH)YIZI("&9ZK32AR=DTN/QNZ."&7?27H_<(=_^=Q"U1N3Y.>!E`$BY(M
  ;(4ZG)/[\_0F_54HY7\5[<!33)\2M%:Y(.THX_N%K?%2L9&(O=4>8F^@IV9(M,<HE
  DU:17T'23M)GA#ANW<F'J5]>6!G2;BU+YN)@<RL.JBIFD4[:<###UGMO3Z77WO?L?O
  +@@G\+(<"X&QT"&#_N7@_\2;JGAEF&U1`JR#ZCD/Z]7HJ'ZHM09_JNAZGJ^N?X5
  &J#UYJW>4#"7/#D,0/GG`0ZI@__`;6>]K!>C[<GDM31/IQP>:!B]D?DT,*
  <;Y6=9Y]3:P][^W`?+>8F(1!*ZY7B1:BN=@D_XY9?0IM'?ZT0=V@BBWIIV$47#Y@7,9Q>
  0<*=7;NMWNS2>9#_X3V)8()?A$;!`ALRWM#&\%RO_^@9F6TP<]'M8J@'AFA"[JM]0
  (WCQ!`[.826!F&A@HG4JWU5R_KKL&M9GNQF$;J[?NZ\YUZ?B].C,OEWI*\94J`:6LB?U,R
  K^2.([0QRQK(W!D2[K5MM,G>&0B7A'K03F"'17*&L#9XU@+U2L9K4GCIG(K(NE:SM,
  >SM,?;X,T:&U6,MT./E%NAUTNE_$,^E(A0M!B7K[D'>X6'\FC25Q3W=+V3YLR^CXJW.S
  0>#54*#M#ZE^AI+N35^_>![U4!?@VQ%ET<L!BC>MC5"\GH>"T6'4/2NS>((N
  0,DT>_9K6^!S%65KRS`,`,UVB43\!]-BKG]B`<``#5"`
  end

  Prenez en note le nombre apres 'Total special sectors' et verifiez que
  le  nom  du  volume est 'SWAP SPACE'. Si ce n'est pas le cas, rebootez
  DOS et renommez le par LABEL. Si ca ne marche toujours  pas,  veuillez
  me  communiquer la version de DOS que vous avez et j'essaierai de vous
  aider.

  +o  (Etape optionnelle) Windows laissera peut-etre de la place  sur  la
     partition  meme si on lui indique de ne pas le faire. N'essayez pas
     d'occuper cet espace car il  sera  efface  a  chaque  lancement  de
     Linux.  Si vous voulez eviter de l'utiliser accidentellement (et de
     perdre des donnees), vous pouvez  creer  un  fichier  qui  remplira
     l'espace laisse vacant avec :

       ______________________________________________________________________
       mkdir /mnt
       mount -t msdos /dev/winswap /mnt
       dd if=/dev/zero of=/mnt/dummy.fil
       umount /mnt
       ______________________________________________________________________

  La commande dd renverra 'No space left on device'. C'est exactement ce
  que vous vouliez.

  +o  Verifiez le nom  du  fichier  shutdown.  Pour  SysVinit,  c'est  le
     fichier mentionne dans la ligne suivante de /etc/inittab ; veuillez
     la rajouter si elle n'y est pas.

  ______________________________________________________________________
  # Runlevel 0 means shut down the system
  l0:0:wait:/etc/brc
  ______________________________________________________________________

  Pour le reste de la procedure, je considererai que le nom  du  fichier
  est /etc/brc.

  +o  Tapez :

       ______________________________________________________________________
       dd if=/dev/winswap bs=512 count=XXX | gzip -9 > /etc/winswap.gz
       ______________________________________________________________________

  ou XXX est remplace par le nombre 'Total special sectors'.

  +o  Ajoutez le code suivant a votre fichier /etc/rc (ou le nom que init
     lui donne), juste avant la commande 'swapon -a'  (s'il  n'y  a  pas
     cette  commande,  ajoutez  la  a  votre  fichier  /etc/rc avant les
     commandes mount).

     Si vous avez un repertoire /etc/rc.d, le fichier dans  lequel  vous
     introduirez  ce  qui  precede devrait s'appeler '/etc/rc.d/rc.S' ou
     '/etc/rc.d/rc.boot'.

     Si swapon est dans /etc, remplacez  /sbin/swapon  par  /etc/swapon.
     S'il  est  dans  /bin, remplacez-le par /bin/swapon. Faites la meme
     chose pour mkswap.

     Remplacez XXXXX par la taille de votre  partition  en  blocs  telle
     qu'elle vous fut donnee par fdisk.

       ______________________________________________________________________
       ---[BEGIN CODE SEGMENT]---
       #
       # Verify and initialize swap space
       #
       echo -n 'Verifying swap space... '
       if [ "`/bin/dd 2>/dev/null if=/dev/winswap bs=1 count=10 skip=4086`" \
          = 'SWAP-SPACE' ]; then
         echo 'Linux signature found'
         /sbin/swapon /dev/winswap
       elif [ "`/bin/dd 2>/dev/null if=/dev/winswap bs=1 count=11 skip=43`" \
          = 'SWAP SPACE ' ]; then
         echo 'DOS signature found'
         /sbin/mkswap /dev/winswap XXXXX
         /sbin/swapon /dev/winswap
       else
         echo 'No signature found'
         echo 'ERROR: Will not swap'
       fi
       ---[END CODE SEGMENT]---
       ______________________________________________________________________

  +o  Ajoutez  la  section  de  code  suivante  a  votre fichier /etc/brc
     (quelque soit son nom, a savoir /etc/rc.d/rc.0 ou /etc/rc.d/rc.halt
     si  vous  avez  un  repertoire  /etc/rc.d).  Ajoutez le apres toute
     commande qui necessite que le swap soit en place.

       ______________________________________________________________________
       ---[BEGIN CODE SEGMENT]---
       #
       # Terminate swapping and restore DOS/Windows swap info
       #
       /sbin/swapoff /dev/winswap
       if [ "`/bin/dd 2>/dev/null if=/dev/winswap bs=1 count=10 skip=4086`" \
          = 'SWAP-SPACE' ]; then
         echo 'Restoring DOS/Windows swap info'
         /bin/zcat /etc/winswap.gz > /dev/winswap
       else
         echo 'ERROR: /dev/winswap lacks swap signature, skipping restore'
       fi
       ---[END CODE SEGMENT]---
       ______________________________________________________________________

  +o  Relancez Linux. Vous  devriez  normalement  utiliser  la  partition
     creee comme partition d'echange.

  44..  QQuueellqquueess rreemmaarrqquueess

  +o  Pas   besoin   de  rajouter  votre  /dev/winswap  dans  le  fichier
     /etc/fstab, il est d'ailleurs preferable de ne pas le  faire  (sauf
     peut-etre en commentaire).

  +o  Si  votre  session  Linux  se  plante  ou  fonctionne  sans  lancer
     /etc/brc, vous aurez a rebooter et a sortir de Linux avant  que  le
     swap  ne  marche  sous  Windows. Il est egalement possible de faire
     FORMAT X : et de recreer le fichier d'echange de Windows. La  seule
     maniere  de  contourner  ce probleme serait de mettre un equivalent
     des commandes de /etc/brc  dans  le  fichier  AUTOEXEC.BAT  du  DOS
     (malheureusement, je ne connais aucune maniere de le faire sous DOS
     !).

  +o  Si le FDISK du DOS reconnait la partition comme etant 'logical  DOS
     drive',  elle  a  un numero de 5 ou plus (comme dans /dev/hda5). Ce
     n'est pas la partition denommee 'extended' qui a un numero de 4  ou
     moins  !  Si  votre  fdisk  de  Linux  n'affiche pas les partitions
     logiques, votre fdisk  Linux  est  endommage  (Slackware  2.2,  par
     exemple  comprenait un fdisk endommage). Vous pouvez essayer cfdisk
     si vous l'avez dans votre distribution ou vous devrez recuperer une
     version de fdisk qui fonctionne.

  +o  Si  vous obtenez une exception float en lancant msinfo, vous l'avez
     surement execute sur la mauvaise partition. Voir  la  remarque  ci-
     dessus.

  +o  Veuillez  ne  pas m'envoyer de mail a moins que vous n'ayez verifie
     et reverifie que vous avez recopie vos scripts  correctement.  Plus
     de  la  moitie des problemes concernant ce Mini-HOWTO etaient dus a
     des erreurs typographiques dans le recopiage des scripts. (utilisez
     le copier-coller si vous le pouvez !).