This file is indexed.

/usr/share/doc/HOWTO/fr-html/Hard-Disk-Upgrade.html is in doc-linux-fr-html 2013.01-3ubuntu1.

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
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for HTML5 for Linux version 5.2.0">
<meta name="GENERATOR" content="LinuxDoc-Tools 0.9.72">
<title>Hard Disk Upgrade Mini How-To</title>
</head>
<body>
<h1>Hard Disk Upgrade Mini How-To</h1>
<h2>Yves Bellefeuille, <code><a href=
"mailto:yan@ottawa.com">yan@ottawa.com</a></code><br>
traduction Eric Cano, <code><a href=
"mailto:Eric.Cano@cern.ch">Eric.Cano@cern.ch</a></code></h2>
Version 1.0, 31 janvier 1998, traduction mars 1998
<hr>
<em>Comment copier un système <b>Linux</b> d'un disque dur à un
autre</em>
<hr>
<h2><a name="s1">1. Introduction</a></h2>
<p>Récemment, j'ai remplacé mon petit disque dur de 249 Mo par un
disque plus grand. Je voulais transférer mon <b>Linux</b> entier,
<code>LILO</code> inclus, de l'ancien au nouveau disque. Voici
comment je l'ai fait.</p>
<p>Dans les explications qui suivent, j'utilise
"<code>/dev/hda</code>" pour désigner mon "ancien" disque,
"<code>/dev/hda1</code>" désigne mon ancienne partition
<b>Linux</b>. "<code>/dev/hdb</code>" désigne le nouveau disque, et
"<code>/dev/hdb1</code>" la nouvelle partition <b>Linux</b>.</p>
<p>Je suppose donc que <b>Linux</b> est sur la première partition
du premier disque. Adaptez ceci à votre propre configuration.</p>
<p>Ce document est basé sur mon propre système, qui fait tourner
une <b>Red Hat 4.2</b>, et j'ai testé toutes les commandes qui
suivent sous cette distribution. Je les ai aussi testées sous une
<b>Debian 1.3.1</b> et une <b>Slackware 3.3</b>, et j'indique
quelques différences à prendre en compte si vous utilisez ces
distributions.</p>
<p>Si ces commandes ne marchent pas correctement sous votre
système, faites le moi - <em>NdT l'auteur, pas le traducteur</em> -
savoir, en indiquant la version de <b>Linux</b> que vous
utilisez.</p>
<h2><a name="s2">2. Installez les deux disques dans votre
système</a></h2>
<p>Comme les systèmes modernes peuvent accepter quatre
périphériques "EIDE" sur le contrôleur de disque dur, vous ne
devriez pas avoir de problème pour installer en même temps les deux
disques sur votre système, même si vous avez d'autres périphériques
EIDE. Les disques durs et les lecteurs de CD-ROM sont des
périphériques EIDE typiques. Les lecteurs de disquettes et de
bandes sont connectés le plus souvent sur le contrôleur de
disquettes plutôt que sur le contrôleur de disque dur.</p>
<p>Les contrôleurs SCSI sont plus souples et peuvent accepter sept
périphériques. Si vous êtes assez chanceux (et riche) pour avoir un
contrôleur SCSI, vous savez sans doute déjà cela, et vous savez
probablement lesquels, parmi vos périphériques, sont SCSI ! Pour
plus d'information, voyez le <a href=
"http://www.freenix.fr/linux/HOWTO/SCSI-HOWTO.html">SCSI
How-To</a>.</p>
<p>Même les systèmes les plus vieux peuvent accepter deux
périphériques sur le contrôleur de disque dur, donc vous pouvez
toujours installer deux disques en même temps. Toutefois, si vous
avez un autre périphérique installé en plus de votre disque dur,
(par exemple, si vous avez un disque dur et un CD-ROM) vous devrez
retirer l'autre périphérique pour pouvoir installer le nouveau et
l'ancien disque dur en même temps.</p>
<p>Vous devez configurer les disques comme "maître" ou "esclave" en
plaçant les cavaliers de façon appropriée. Vous trouverez souvent
des informations sur leur configuration sur les disques eux mêmes ;
sinon, consultez les manuels ou les fabricants de vos disques.</p>
<p>Vous devez aussi informer le BIOS de la présence des disques et
de leur "géométries". En général vous entrez dans le Setup du BIOS
en pressant une touche durant le démarrage du système. Voilà la
marche à suivre avec quelques BIOS courants :</p>
<dl>
<dt><b>American Megatrends (AMI)</b></dt>
<dd>
<p>Touche <em>Suppr</em> pendant l'autotest de démarrage.</p>
</dd>
<dt><b>Award</b></dt>
<dd>
<p><em>Ctrl-Alt-Echap</em></p>
</dd>
<dt><b>Compaq</b></dt>
<dd>
<p>Touche <em>F10</em> après que le carré soit apparu dans le coin
en haut à droite de l'écran à la mise en route.</p>
</dd>
<dt><b>Dell</b></dt>
<dd>
<p><em>Ctrl-Alt-Entrée</em></p>
</dd>
<dt><b>DTK</b></dt>
<dd>
<p>Touche <em>Echap</em> pendant l'autotest de démarrage.</p>
</dd>
<dt><b>IBM PS/2</b></dt>
<dd>
<p><em>Ctrl-Alt-Suppr</em>, puis <em>Ctrl-Alt-Inser</em> quand le
curseur est dans le coin en haut à droite de l'écran.</p>
</dd>
<dt><b>Phoenix</b></dt>
<dd>
<p><em>Ctrl-Alt-Echap</em>, ou <em>Ctrl-Alt-S</em>, ou
<em>Ctrl-Alt-Entrée</em></p>
</dd>
<dt><b>Autres...</b></dt>
<dd>
<p>De nombreux autres systèmes ont besoin d'une disquette
d'<em>installation</em> ou de <em>référence</em></p>
</dd>
</dl>
<p>(Je - <em>NdT : l'auteur</em> - suis intéressé par des
informations sur les autres BIOS pour les inclure dans cette
liste.)</p>
<p>Redémarrez le système et loguez-vous <code>root</code>.</p>
<h2><a name="s3">3. Démontez les partitions
non-<b>Linux</b></a></h2>
<p>Certains aiment monter les partitions d'autres systèmes
d'exploitation (<b>DOS</b>, <b>Windows</b>, <b>OS/2</b>, etc.) pour
pouvoir les utiliser sous <b>Linux</b>. Ces partitions devraient
être créées et copiées sous leur propre système d'exploitation, et
vous devriez les démonter avant de copier votre partition
<b>Linux</b>. Par exemple, si vous avez une partition montée en
<code>/dos</code>, vous devez la démonter avec cette commande :</p>
<pre>
        umount /dos
</pre>
Notez que la commande est "<code>umount</code>", avec le premier
"n" qui manque par rapport au mot "<em>unmount</em>" <em>- NdT
"démonter" en anglais</em>.
<h2><a name="s4">4. Partitionnez le nouveau disque</a></h2>
<p>Utilisez la commande :</p>
<pre>
        fdisk /dev/hdb
</pre>
pour partitionner le nouveau disque.
<p>Pour plus d'informations sur le partitionnement, voyez l'
<a href=
"http://www.freenix.fr/linux/HOWTO/Installation-HOWTO.html">Installation
How-To</a> et le <a href=
"http://www.freenix.fr/linux/HOWTO-vo/mini/Partition">Partitionning
Mini How-To</a>.</p>
<p>Si votre disque a plus de 1024 cylindres, voyez le <a href=
"http://www.freenix.fr/linux/HOWTO-vo/mini/Large-Disk">Large Disk
Mini How-To</a>. En bref, vous devriez installer tous les fichiers
requis pour démarrer <b>Linux</b> dans les 1024 premiers cylindres.
Une façon de s'en assurer est de créer une petite partition (1Mo ou
2Mo) juste pour le répertoire <code>/boot</code> au début du
disque. (<b>spécificité Slackware</b> : comme le noyau est plutôt
en <code>/vmlinuz</code> qu'en <code>/boot/vmlinuz</code>, vous
devez mettre les répertoires <code>/</code> et <code>/boot</code>
dans cette partition.)</p>
<p>Les partitions pour les systèmes autres que <b>Linux</b>
devraient être créées en utilisant leur propre <code>fdisk</code>
plutôt que celui de <b>Linux</b>.</p>
<h2><a name="s5">5. Formatez le nouveau disque.</a></h2>
<p>Utilisez la commande suivante pour formater le nouveau disque
:</p>
<pre>
        mkfs.ext2 /dev/hdb1
</pre>
<p>Pour rechercher les mauvais blocs (défauts physiques) sur le
disque, ajoutez l'option <code>-c</code> juste avant
"<code>/dev/hdb1</code>".</p>
<p>(<em>Note :</em> Contrairement à ce qu'indiquent les pages de
manuel, la commande "<code>mkfs -t ext2 /dev/hdb1</code>" ne
recherche pas les blocs défectueux, sous aucune de la <b>Red
Hat</b>, <b>Debian</b> ou <b>Slackware</b>.)</p>
<h2><a name="s6">6. Montez le nouveau disque</a></h2>
<p>Créez un répertoire là où vous monterez le nouveau disque, par
exemple <code>/new-disk</code>, et montez le :</p>
<pre>
        mkdir /new-disk
        mount -t ext2 /dev/hdb1 /new-disk
</pre>
<h2><a name="s7">7. Copiez les fichiers de l'ancien disque au
nouveau</a></h2>
<p>Il faut reproduire complètement la structure du disque, liens
inclus.</p>
<p>Toutefois, il ne faut <em>pas</em> copier le répertoire
<code>/new-disk</code>, puisque ça reviendrait à recopier le
nouveau disque sur lui-même !</p>
<p>De plus, il faut copier le répertoire <code>/proc</code> sur le
nouveau disque, mais pas son contenu : "<code>/proc</code>" est un
système de fichiers "virtuel" qui ne contient pas de vrais
fichiers, mais plutôt des informations sur les processus qui
tournent sur le système.</p>
<p>Voici quatre façons de copier un vieux disque sur un nouveau. Ça
peut prendre du temps, d'autant plus que le disque est gros ou la
mémoire peu importante. Vous pouvez vous attendre à copier 10Mo par
minute, ou même plus.</p>
<p>Vous pouvez suivre la progression de la copie en utilisant la
commande "<code>df</code>" depuis un autre terminal. Si vous êtes
aussi bon public que moi, essayez "<code>watch df</code>" ou
"<code>watch ls -l /new-disk</code>" pour voir un rapport mis à
jour toutes les deux secondes ; utilisez <em>Ctrl-C</em> pour
arrêter l'affichage. Soyez conscient que la commande
"<code>watch</code>" va ralentir la copie.</p>
<pre>

1.      cp -ax / /new-disk
</pre>
<p>Ceci est la méthode la plus simple, mais ne fonctionnera que si
votre système <b>Linux</b> est sur une seule partition. L'option
<code>-a</code> préserve autant que faire se peut le système
original. L'option <code>-x</code> restreint <code>cp</code> à un
seul système de fichiers. Ceci est nécessaire pour éviter de copier
les répertoires <code>/proc</code> et <code>/new-disk</code>.</p>
<pre>

2.  cd / &amp;&amp; cp -a `/bin/ls -1A | egrep -v "^new-disk$|^proc$"` /newdisk
</pre>
<p>Ceci va à la racine puis copie tous les fichiers et répertoires
sauf <code>/proc</code> et <code>/new-disk</code>. Notez que la
première option après ls est le chiffre "1", et non la lettre "L"
!</p>
<p>Cette commande devrait fonctionner en toutes circonstances.</p>
<pre>

3.       (cd / &amp;&amp; tar cpf - . --exclude new-disk --exclude proc) | (cd
         /new-disk &amp;&amp; tar xpf -)
</pre>
<p>(Ecrire cette commande sur une seule ligne)</p>
<p>Ceci va dans le répertoire racine, "archive" tout sauf
<code>/proc</code> et <code>/new-disk</code>, va dans
<code>/new-disk</code> et "désarchive" tout là. Notez qu'il ne doit
pas y avoir de slash ("/") avant ou après les noms de répertoire
dans les options <code>--exclude</code>.</p>
<p>(<em>Note</em> : L'option <code>-l</code> ne marche pas ici,
puisque <code>tar</code> recréerait les répertoires
<code>/proc</code> et <code>/new-disk</code> même s'il ne copie pas
leurs contenus. C'est pourquoi l'option <code>-l</code> de
<code>tar</code> n'a pas le même comportement que l'option
<code>-x</code> de <code>cp</code>.)</p>
<p>Cette méthode est quelque peu plus lente que les autres.</p>
<pre>

4.      cp -a /bin /boot /dev /etc /home /lib /lost+found /mnt /root /sbin
        /tmp /usr /var /new-disk
</pre>
<p>(Ecrire la commande sur une seule ligne)</p>
<p>Le dernier répertoire, <code>/new-disk</code>, est la
destination pour la commande <code>cp</code>. Tous les autres
répertoires sont les sources. C'est pourquoi je copie tous les
répertoires listés dans <code>/new-disk</code>.</p>
<p>Avec cette méthode, vous faites simplement une liste des
répertoires que vous voulez copier. Ici j'ai indiqué tous mes
répertoires à l'exception de <code>/proc</code> et
<code>/new-disk</code>. Si vous ne pouvez utiliser aucune des
méthodes pour une raison quelconque, vous pouvez toujours utiliser
cette commande pour spécifier manuellement les répertoires que vous
voulez copier.</p>
<p>Avec cette méthode seulement, s'il y a des fichiers dans le
répertoire racine lui-même, vous avez besoin d'une autre commande
pour les copier. En particulier, ceci est requis avec les
<b>Debian</b> et <b>Slackware</b>, car ces distributions placent
des fichiers dans le répertoire racine :</p>
<pre>
         cp -dp /* /.* /new-disk
</pre>
<p>Après avoir utilisé une méthode parmi les quatre, vous devez
aussi créer le répertoire <code>/proc</code> sur le nouveau disque
:</p>
<pre>
        mkdir /new-disk/proc
</pre>
<p>A ce point, vous pouvez, si vous le voulez, vérifier la
structure des fichiers sur le nouveau disque :</p>
<pre>
        umount /new-disk
        fsck.ext2 -f /dev/hdb1
        mount -t ext2 /dev/hdb1 /new-disk
</pre>
<p>Vous pouvez aussi utiliser le script suivant pour comparer les
deux disques, et vous assurer que les fichiers ont été copiés
correctement.</p>
<pre>
#!/bin/sh
cd /
for file in `/bin/ls -1A | egrep -v '^new-disk$|^proc$'`
do
    find $file -xtype f -exec cmp \{\} /new-disk/\{\} \;
done
</pre>
<p>(<b>Spécificité Slackware</b> : une installation de base
n'inclut pas les commandes "<code>cmp</code>" et
"<code>diff</code>", alors vous ne pourrez pas lancer ces scripts
si vous avez seulement installé les fichiers de base.)</p>
<p>Ceci compare seulement les fichiers normaux, et non les fichiers
spéciaux associés à des périphériques (dans le répertoire
<code>/dev</code>, les sockets, etc., car la commande cmp ne
fonctionne pas correctement avec ceux-ci. Je - <em>NdT
l'auteur</em> - serais intéressé par toute suggestion sur le moyen
de vérifier ces fichiers "spéciaux").</p>
<h2><a name="s8">8. Mettez à jour
"<code>/etc/fstab</code>"</a></h2>
<p>Si votre nouveau disque n'a pas les même partitions ou la même
organisation que l'ancien, modifiez le fichier
<code>/etc/fstab</code> en conséquence. Souvenez vous que ce
fichier se trouve actuellement en
<code>/new-disk/etc/fstab</code>.</p>
<p>Assurez vous que les partitions de disque dans la première
colonne correspondent à l'organisation que vous aurez sur le
nouveau disque, une fois que l'ancien disque aura été enlevé, et
que vous ne monterez plus qu'une partition en "<code>/</code>",
comme indiqué dans la seconde colonne.</p>
<h2><a name="s9">9. Préparez <code>LILO</code> pour démarrer le
nouveau disque</a></h2>
<p>C'est le point compliqué. Je suppose que <code>LILO</code> est
installé sur le bloc principal de démarrage (<em>master boot
record, MBR</em>); ceci semble être la configuration la plus
courante.</p>
<p>Vous voulez installer <code>LILO</code> sur ce qui est
actuellement le second disque dur. Il est clair que
<code>LILO</code> ne peut pas être <em>lancé</em> depuis le second
disque dur; toutefois, la documentation de <code>LILO</code>
anticipe le fait que vous vouliez <em>installer</em>
<code>LILO</code> sur le second disque dur, par exemple si le
premier disque dur doit être enlevé :</p>
<pre>

     LILO ne peut être stocké sur aucun des emplacements suivants :

     - sur le second disque dur. (A moins que, pour des besoins de 
     sauvegarde, si le premier disque dur va être retiré ou désactivé,
     ou si un autre lanceur, qui est capable de charger les secteurs de 
     démarrage d'autres disques, est installé.)
</pre>
<p>Toutefois, la documentation n'explique pas la façon d'installer
<code>LILO</code> sur le second disque dur si le premier va être
retiré, et j'ai déduit après de nombreux essais qu'il n'est pas
possible d'installer <code>LILO</code> sur le MBR du second disque
dur et de le faire marcher du premier coup.</p>
<p>A la place, je suggère d'utiliser une disquette de démarrage
pour démarrer sur le nouveau disque dur la première fois.</p>
<p>Insérez une disquette vide, formatez la, créez y un système de
fichier et montez la :</p>
<pre>
         fdformat /dev/fd0H1440
         mkfs.ext2 /dev/fd0
         mount -t ext2 /dev/fd0 /mnt
</pre>
<p>(<b>Debian seulement</b> : La commande "<code>fdformat</code>"
n'est pas incluse dans l'installation de base chez <b>Debian</b>.
Si vous n'avez pas cette commande, vous pouvez l'ignorer si la
disquette est déjà formatée. Dans ce cas, vous devez rechercher les
secteurs défectueux sur la disquette en ajoutant l'option
"<code>-c</code>" après la commande "<code>mkfs.ext2</code>".)</p>
<p>(<b>Debian et Slackware seulement</b> : utilisez la commande
"<code>fdformat /dev/fd0h1440</code>" avec un "h" minuscule)</p>
<p>copiez tous les fichiers de <code>/boot</code> sur la disquette
:</p>
<pre>
         cp -dp /boot/* /mnt
</pre>
<p>(<b>Slackware seulement</b> : Copiez le fichier
<code>/vmlinuz</code> sur la disquette de boot; utilisez la
commande "<code>cp /vmlinuz /mnt</code>".)</p>
<p>Créez un nouveau fichier <code>/mnt/lilo.conf</code> comme suit
:</p>
<pre>
boot=/dev/fd0           # Installe LILO sur la disquette.
map=/mnt/map            # Emplacement du fichier de correspondance.
install=/mnt/boot.b     # Fichier à copier sur le secteur d'amorce.
prompt                  # Faire afficher l'invite "LILO boot:" par LILO.
timeout=50              # Lancer le système par défaut après 5 secondes.
                        # (La valeur est en dixièmes de seconde.)
image=/mnt/vmlinuz      # Emplacement du noyau Linux sur la disquette.
    label=linux         # Etiquette du système Linux.
    root=/dev/hda1      # Emplacement de la racine sur le nouveau disque
                        # dur. Mettre en accord avec votre système.
                        # Notez que vous devez utiliser le nom du futur
                        # emplacement, une fois que l'ancien disque aura
                        # été retiré.
</pre>
<p>(<b>Debian seulement</b> : Sur la ligne "image", utilisez le
vrai nom du noyau <b>Linux</b>. Par exemple avec la <b>Debian</b>
1.3.1, utilisez "<code>/mnt/vmlinuz-2.0.29</code>".)</p>
<p>Installez <code>LILO</code> sur la disquette de démarrage :</p>
<pre>
         /sbin/lilo -C /mnt/lilo.conf
</pre>
<p>L'option "<code>-C</code>" dit à "<code>/sbin/lilo</code>" quel
fichier utiliser.</p>
<p>Démontez la disquette :</p>
<pre>
         umount /mnt
</pre>
et lancez la procédure d'extinction du système.
<h2><a name="s10">10. Retirez l'ancien disque</a></h2>
<p>Après avoir retiré l'ancien disque, n'oubliez pas de modifier
les cavaliers de configuration du disque, et l'information du BIOS
en rapport avec les changements.</p>
<h2><a name="s11">11. Redémarrez le système, installez
<code>LILO</code> sur le nouveau disque</a></h2>
<p>Redémarrez le système depuis la disquette que vous venez de
créer. Pour cela, vous devez modifier la séquence de démarrage de
votre BIOS en "<code>A: C:</code>"</p>
<p>Faites tous les changement nécessaires dans le fichier
<code>/etc/lilo.conf</code> et lancez <code>/sbin/lilo</code> pour
installer <code>LILO</code> sur le nouveau disque. Avec une
<b>Debian</b>, assurez vous que la ligne "boot" indique
"<code>/dev/hda</code>" plutôt que "<code>/dev/hda1</code>" ou
quelque chose de similaire si vous voulez installer
<code>LILO</code> sur le secteur d'amorce du disque dur.</p>
<p>Vous pouvez essayer de redémarrer votre système depuis votre
nouveau disque dur pour vérifier que tout marche bien. Si vous avez
des problèmes, vous pouvez toujours utiliser la disquette pour
démarrer votre système.</p>
<h2><a name="s12">12. Remerciements</a></h2>
<p>Je tiens à remercier tout spécialement le <em>Dr Konrad
Hinsen</em> de l'Institut de Biologie structurale de Grenoble,
France, qui a gentiment agit comme mon gourou <b>Linux</b>
personnel. Merci aussi à <em>Frank Damgaard</em>, <em>Paul
Koning</em>, et <em>Josh Rabinowitz</em>, ainsi qu'à <em>Scott
Christensen</em> pour avoir attiré mon attention sur quelques
particularités de la <b>Slackware</b>.</p>
</body>
</html>