Clone disque contenant /home

Bonjour

Tout est en gpt et ext4, et Trixie à jour.
Actuellement ma partition /home se trouve sur un disque entier sdc ~250 Gio.
Mon but est de transférer définitivement et entièrement le /home sur un nouveau disque sdb ~240 Gio (un tout neuf sorti de l’emballage).
Après cette opération sdc sera sorti du PC.

Ce que j’ai fait (avec Gparted_live):

  • écriture de sdc vers sdb avec la commande (l’écriture dans sdb devrait simplement s’arrêter quand il n’y a plus de place ?!)
    # dd if=/dev/**sdc** of=/dev/**sdb** bs=100M
  • à la réactualisation des périphériques, Gparted me sort pour sdb une « erreur gpt » que je n’ai pas notée

Je me suis dit qu’il n’avait pas apprécié d’avoir à écrire dans un disque trop petit et je fais :

  • réduction de sdc1 pour être inférieur à sdb (pas de dégats apparents, le PC fonctionne correctement sans changement)
  • puis en me disant, au cas où il resterait des résidus (?!)
    # dd if=/dev/zero of=/dev/**sdb** bs=100M
  • à la fin de l’écriture des 0, le terminal affiche
    dd:error writing ‹ /dev/sdb ›:
    no space left on device
    2442+0 records in
    2441+0 records out

Je suppose que l’erreur vient du dernier block qui n’a pas pu être écrit en entier ? - et que c’est sans conséquences -

Pour la suite je ne sais pas trop :

  • écrire directement la partition/le disque ancien dans le nouveau disque
  • créer d’abord sur le nouveau disque une table et une partition
  • autre

Souriante fin de semaine, ça ne presse pas !

Bonjour,
C’est juste un /home.
Donc ca ne sert à rien d’utiliser dd.
Tu partitionnes ton nouveau disque avec tout le disque en ext4.
Il suffit de monter ton disque sdb sur /mnt/home par exemple.
Puis de faire un cp -rfp /home vers /mnt/home.
Tu peux aussi utiliser rsync.

Dans 99% des cas, le clone ne sert à rien, c’est du probleme XY…

1 J'aime

Je range donc le marteau-pilon et avec mon système démarré normalement :

Disque nouveau sdb en gpt et partition sdb1 en ext4.

# mkdir /mnt/home
# mount /dev/sdb /mnt/home
# cp -rfp /home /mnt/home

Le UUID de la nouvelle partition sdb1 sera celui de l’ancienne sdc1.
Je ne sais pas pourquoi, il me semblait qu’il faille la commande dd pour ça. Bref . . .

Extinction du PC (je ne sais pas ce qui peut arriver si on débranche les connecteurs sata3 et alim à chaud), j’enlève le disque ancien sdc du PC puis redémarrage du PC.

Je fais ça la semaine prochaine, merci.

Non,
mount /dev/sdb1 /mnt/home

et ne pas oublier le umount après
Si tu veux le mêmme uuid, tu peux le modifier via tune2fs (option -U), je te suggère également de mettre «-m 0»

C’est une mauvaise idée à moins d’avoir une raison nécessaire de le faire et parce que le jour, où pour une raison ou une autre il remet le disque actuel dans la machine il aura un problème qu’il ne saura pas identifier.

C’est un disque qu’on m’a prêté !
Je regarde ce que fait tune2fs.

Et en modifiant l’uuid dans fstab ce ne serait pas pareil ?

Si ton fstab utilise les uuid pour ce disque possible. Mais dans un cas tu dois modifier le disque dans l’autre le fstab. Si ton montage précédent n’utilisait pas de uuid ca ne sert à rien de le modifier.

Curieux, toutes mes installations utilisent (et moi aussi) les uuid.
ON m’a dit que c’est préférable.

pas besoind e le mettre en gras :wink:
je n’ai pas dit que utiliser les uuid n’était pas utile ou préférable. J’ai dit que modifier l’uuid d’un disque pour un autre n’était pas une bonne idée à moins d’en avoir un besoin nécessaire.
Si tu utilises les uuid alors il vaut mieux modifier ton fstab que modifier l’uuid du disque.

Je l’ai mis en gras pour indiquer qu’il s’agit d’un ON métaphorique, incluant des forum, doc diverses, tutos, etc depuis un certain nombre d’années.
Un grosse personnification quoi . . .

Oui, modifier l’uuid dans fstab.

En toute honneteté, lorsque je clone des clefs USB, je me retrouve ds la situation de disques ayant les mêmes UUID sur mon système. Il ne faut pas faire de démarrage avec deux UUID identiques sur le système, et ne pas monter/démonter les disques ayany le même UUID en les désignant par cet UUID, sinon c’est le dernier sur lequel on agit.
Dans le repertoire /dev/disk/by-uuid/ seul le dernier installé existe, si tu l’enlèves le précédent apparait. Dans la mesure où tu enlèves immédiatement sdc après clonage, ça ne posera pas de problème.
Ça ne veut pas dire que c’est recommandé

Qu’est-ce qui n’est pas recommandé ? enlever sdc après clonage ? (c’est ce que je compte faire)

bidouiller avec les uuid :slight_smile:
il est préférable et plus propre de modifier le fstab.

Ah d’accord, c’est que je fais toujours.
Il ne me serait pas venu à l’idée de bidouiller les uuid des disques. Et ça vaut mieux :crazy_face:

1 J'aime

Zargos a répondu :-). En tout cas, lorsque tu as cloné le disque, tu enlèves sdc et tu évites de démarrer la machine avec sdb et sdc en même temps.

Oui, bien sûr :slightly_smiling_face:
Avec mon expérience des cafouillages, c’est vrai qu’il vaut mieux préciser . . .

Merci

c’est clair

un changement de /home se fait ainsi :

  1. monter une partition
  2. copier la partition /home dessus ( utiliser rsync ou autre, vérifier ou pas par md5/sha… )
  3. changer dans fstab

et en plus tu as gratuitement une sauvegarde de ton home