/usr/share/doc/HOWTO/fr-html/Hard-Disk-Upgrade.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 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 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
<meta name="GENERATOR" content="LinuxDoc-Tools 0.9.69">
<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 / && 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 / && tar cpf - . --exclude new-disk --exclude proc) | (cd
/new-disk && 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>
|