/usr/share/doc/HOWTO/fr-html/Swap-Space.html is in doc-linux-fr-html 2013.01-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org">
<meta name="GENERATOR" content="LinuxDoc-Tools 0.9.69">
<title>Partage des fichiers d'échange entre LINUX et
Ms-Windows</title>
</head>
<body>
<h1>Partage des fichiers d'échange entre LINUX et
Ms-Windows</h1>
<h2>H. Peter Anvin <code>hpa@yggdrasil.com</code></h2>
v 1.3, 19 Juin 1995
<hr>
<em>Copyright (c) 1994, 1995 H. Peter Anvin. Toute remarque ou
commentaire concernant la traduction de ce HOWTO peuvent être
envoyées à la personne concernée. Traduction
de Pierre Tane <code>tanep@usa.net</code></em>
<hr>
<h2><a name="s1">1. Introduction</a></h2>
<p>Nombreux sont ceux qui utilisent conjointement Linux et
Ms-Windows. La possibilité de le faire tient une place
importante dans la "révolution Linux". En effet, cela permet
aux gens d'expérimenter (et d'en devenir accro) Linux tout
en étant toujours capables d'exécuter leurs
programmes commerciaux. Comme Linux et Ms-Windows utilisent un
système de mémoire virtuelle sous la forme d'un
fichier d'échange sur le disque dur, une question
fréquemment postée à comp.os.linux.setup
était "Comment partager le fichier d'échange de
manière à minimiser l'espace disque nécessaire
?".</p>
<p>Il y a diverses méthodes pour partager l'espace
d'échange, celle décrite ici étant sans doute
la plus compliquée tout en étant la seule parmi
celles que j'ai rencontrées qui autorise les performances
maximales pour les deux environnements sans risque de planter une
partition du disque.</p>
<p>NOTE : si vous aviez une version précédente de ce
document et que vous ayez eu des problèmes avec la
récupération de votre fichier d'échange
(Windows disant que celui-ci est corrompu), essayez la version
légèrement modifiée du script shutdown incluse
dans cette version.</p>
<h2><a name="s2">2. Ce dont vous avez besoin</a></h2>
<p>Il y a des prérequis avant d'entamer la procédure
décrite ci-dessous. Je vous recommande fortement de remplir
strictement les conditions énoncées sous peine de
problèmes sérieux avec les anciennes versions.</p>
<ul>
<li>MS-DOS 5.0 ou plus</li>
<li>MS-Windows 3.1 ou plus</li>
<li>Un fichier shutdown ou init qui sache lancer un programme au
moment du shutdown (comme le paquetage SysVinit-2.50, qui
peut-être 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
étant ancienne, cela n'est peut-être plus le cas.</li>
</ul>
<h2><a name="s3">3. La procédure</a></h2>
<ul>
<li>Lancez le DOS. Créez une partition DOS (à l'aide
de FDISK) de taille égale à la taille que vous voulez
pour votre fichier d'échange. Il va lui être
assigné une lettre par laquelle vous allez remplacer X
à chaque fois que la procédure fait mention d'une
commande telle que "LABEL X: " ou "COPY FOO X:DUMMY.DAT"</li>
<li>Formatez cette partition en utilisant la commande FORMAT du DOS
:
<blockquote>
<hr>
<pre>
<code>FORMAT X:
</code>
</pre>
<hr></blockquote>
</li>
<li>Changez le nom de volume de cette partition pour "SWAP SPACE"
à l'aide de la commande DOS LABEL. Vérifiez ensuite
avec la commande DIR. Veillez à faire l'opération en
deux temps car certaines versions de FORMAT n'écrivent pas
le nom de volume dans le secteur de démarrage comme elles le
devraient. (Note : certaines personnes m'ont écrit pour me
dire que le nom de voume est stocké dans le
répertoire racine. Cela est vrai mais depuis DOS 5.0 au
moins, il figure aussi dans le secteur de démarrage.)
<blockquote>
<hr>
<pre>
<code>LABEL X:
DIR X:
</code>
</pre>
<hr></blockquote>
</li>
<li>Démarrez Windows. Allez dans le Panneau de
Configuration, sélectionnez "386 Enhanced" et créez
un fichier d'échange permanent sur le lecteur X : de la
taille maximale (Windows vous informera de la taille maximale).
Window se plaindra peut-être du fait qu'il ne va pas utiliser
un fichier d'échange aussi gros. Ignorez le message et
créez tout de même le fichier.</li>
<li>Sortez de Windows</li>
<li>Démarrez Linux et loggez vous en tant que root</li>
<li>Utilisez la commande fdisk pour trouver le nom de la partition
et sa taille en blocks. Créez un lien symbolique de
/dev/winswap vers cette partition. Si la partition est /dev/hda7
alors vous taperez :
<blockquote>
<hr>
<pre>
<code>ln -s /dev/hda7 /dev/winswap
</code>
</pre>
<hr></blockquote>
(Note pour les puristes : Veuillez établir un lien
symbolique. Le nom de cette partition va se retrouver dans de
nombreux fichiers de configuration et des incohérences
seraient fatales.)</li>
<li>Ce qui suit est un fichier binaire encodé par uuencode
qui analyse la partition et en extrait des informations
particulières. Décodez le fichier par uudecode,
gunzip-pez le et éxécutez le par :
<blockquote>
<hr>
<pre>
<code>msinfo /dev/winswap
</code>
</pre>
<hr></blockquote>
<pre>
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
.39_AXMY!!?3@6G>X2,9^)QG%\!IZ@5`SSJ>EWN!SN>HCKMLJ%F08R*J5B4YV=T0R
&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
</pre>
<p>Prenez en note le nombre après "Total special sectors" et
vérifiez que le nom du volume est "SWAP SPACE". Si ce n'est
pas le cas, rebootez DOS et renommez le par LABEL. Si ça ne
marche toujours pas, veuillez me communiquer la version de DOS que
vous avez et j'essaierai de vous aider.</p>
</li>
<li>(Étape optionnelle) Windows laissera peut-être de
la place sur la partition même si on lui indique de ne pas le
faire. N'essayez pas d'occuper cet espace car il sera effacé
à chaque lancement de Linux. Si vous voulez éviter de
l'utiliser accidentellement (et de perdre des données), vous
pouvez créer un fichier qui remplira l'espace laissé
vacant avec :
<blockquote>
<hr>
<pre>
<code>mkdir /mnt
mount -t msdos /dev/winswap /mnt
dd if=/dev/zero of=/mnt/dummy.fil
umount /mnt
</code>
</pre>
<hr></blockquote>
La commande dd renverra "No space left on device". C'est exactement
ce que vous vouliez.</li>
<li>Vérifiez le nom du fichier shutdown. Pour SysVinit,
c'est le fichier mentionné dans la ligne suivante de
/etc/inittab ; veuillez la rajouter si elle n'y est pas.
<blockquote>
<hr>
<pre>
<code># Runlevel 0 means shut down the system
l0:0:wait:/etc/brc
</code>
</pre>
<hr></blockquote>
Pour le reste de la procédure, je considérerai que le
nom du fichier est /etc/brc.</li>
<li>Tapez :
<blockquote>
<hr>
<pre>
<code>dd if=/dev/winswap bs=512 count=XXX | gzip -9 > /etc/winswap.gz
</code>
</pre>
<hr></blockquote>
où XXX est remplacé par le nombre "Total special
sectors".</li>
<li>Ajoutez le code suivant à 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 à votre fichier /etc/rc
avant les commandes mount).
<p>Si vous avez un répertoire /etc/rc.d, le fichier dans
lequel vous introduirez ce qui précède devrait
s'appeler "/etc/rc.d/rc.S" ou "/etc/rc.d/rc.boot".</p>
<p>Si swapon est dans /etc, remplacez /sbin/swapon par /etc/swapon.
S'il est dans /bin, remplacez-le par /bin/swapon. Faites la
même chose pour mkswap.</p>
<p>Remplacez XXXXX par la taille de votre partition en blocs telle
qu'elle vous fut donnée par fdisk.</p>
<blockquote>
<hr>
<pre>
<code>---[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]---
</code>
</pre>
<hr></blockquote>
</li>
<li>Ajoutez la section de code suivante à votre fichier
/etc/brc (quelque soit son nom, à savoir /etc/rc.d/rc.0 ou
/etc/rc.d/rc.halt si vous avez un répertoire /etc/rc.d).
Ajoutez le après toute commande qui nécessite que le
swap soit en place.
<blockquote>
<hr>
<pre>
<code>---[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]---
</code>
</pre>
<hr></blockquote>
</li>
<li>Relancez Linux. Vous devriez normalement utiliser la partition
créée comme partition d'échange.</li>
</ul>
<h2><a name="s4">4. Quelques remarques</a></h2>
<ul>
<li>Pas besoin de rajouter votre /dev/winswap dans le fichier
/etc/fstab, il est d'ailleurs préférable de ne pas le
faire (sauf peut-être en commentaire).</li>
<li>Si votre session Linux se plante ou fonctionne sans lancer
/etc/brc, vous aurez à rebooter et à sortir de Linux
avant que le swap ne marche sous Windows. Il est également
possible de faire FORMAT X : et de recréer le fichier
d'échange de Windows. La seule manière de contourner
ce problème serait de mettre un équivalent des
commandes de /etc/brc dans le fichier AUTOEXEC.BAT du DOS
(malheureusement, je ne connais aucune manière de le faire
sous DOS !).</li>
<li>Si le FDISK du DOS reconnaît la partition comme
étant "logical DOS drive", elle a un numéro de 5 ou
plus (comme dans /dev/hda5). Ce n'est pas la partition
dénommée "extended" qui a un numéro de 4 ou
moins ! Si votre fdisk de Linux n'affiche pas les partitions
logiques, votre fdisk Linux est endommagé (Slackware 2.2,
par exemple comprenait un fdisk endommagé). Vous pouvez
essayer cfdisk si vous l'avez dans votre distribution ou vous
devrez récupérer une version de fdisk qui
fonctionne.</li>
<li>Si vous obtenez une exception float en lançant msinfo,
vous l'avez sûrement exécuté sur la mauvaise
partition. Voir la remarque ci-dessus.</li>
<li>Veuillez ne pas m'envoyer de mail à moins que vous
n'ayez vérifié et revérifié que vous
avez recopié vos scripts correctement. Plus de la
moitié des problèmes concernant ce Mini-HOWTO
étaient dus à des erreurs typographiques dans le
recopiage des scripts. (utilisez le copier-coller si vous le pouvez
!).</li>
</ul>
</body>
</html>
|