Lorsque l’on remplace un disque dur, il est généralement conseillé de réinstaller le système. C’est plus propre, cela permet de refaire les partitions, de nettoyer un peu les dossiers, … Mais ce n’est pas toujours faisable non plus. Pour passer d’un disque à un autre tout en gardant la même installation de l’OS, le plus efficace est de passer par la commande dd
.
Pour faire simple:
- Téléchargez un LiveCD / USB Linux
- Identifiez bien chacun des disques (une erreur dans la commande pouvant simplement effacer le contenu)
- Démarrez la machine sur l’environnement Live.
- Identifiez chacun des disques dans le système (/dev/sda, /dev/sdb, …)
- Lancez un terminal !
A partir d’ici, lancez la commande suivante :
dd if=/dev/sdX of=/dev/sdY bs=4096 conv=notrunc,noerror
En gros:
if
identifie la sourceof
identifie la destinationbs
permet de donner la taille des blocs à copier. Il semble que des blocs de 4K soient le meilleur compromis sur les disques actuels.conv
ajoute les informations suivantes:notrunc
pour ne pas tronquer les donnéesnoerror
ne s’arrête sur aucune erreur.
Cette manière de faire copiera tout. Les données, les partitions, la MBR, …
Pour info, le temps de copie entre un Seagate 7200.12 500Go et un WD Blue 1To aura pris environ 3h40, à raison de 102MB/s. Après cette étape, le remplacement du disque actuel par le nouveau a été un jeu d’enfant.