Forum Linux.général migration vers un nouveau disque interne

Posté par  . Licence CC By‑SA.
Étiquettes :
3
3
fév.
2025

Je viens de faire l'acquisition d'un SSD interne pour mon laptop qui va me permettre de doubler la capacité de stockage.

Je m'interroge sur la meilleure façon de migrer.

J'ai en tout cas deux options :

  1. refaire une install de zéro, remettre mes données et remonter ma configuration au fur et à mesure
  2. cloner et étendre la partition et donc garder

Quelques précisions:

  • Le laptop n'a qu'un seul emplacement M2, je ne peux donc pas cloner par le host.
  • le disque actuel est chiffré avec lvm/luks/dm_crypt ; le nouveau le sera aussi ; je ne sais pas si le clonage permet de conserver la clé et le chiffrement
  • le système installé est Debian 12.8 ; La 13 arrive, peut être l'occasion de repartir de là
  • c'est une machine de dev/ops, j'ai énormément de "trucs" télécharger : images docker, distribs de langage, dépendance de projets, etc ; l'occasion de faire le ménage :/

Quel serait votre façon de faire ?

  • # ca depend, ca depasse

    Posté par  . Évalué à 3 (+0/-0).

    pour faire "vite" 1 disque dans la machine, un disque dans un support USB3
    boot sur clonezilla, clonage integrale disque à disque

    tu recuperes alors une machine fonctionnelle avec plus d'espace, le lendemain matin sur peux travailler.

    pour faire "propre", reinstallation de zero, tu as tes données dans le support USB3 (une sorte de backup externe)

    tu reconfigures au fur et à mesure, l'occasion de se rendre compte que certains logiciels ne te servent plus (et donc prennent de la place sur le disque dur), etc

  • # rsync for the win

    Posté par  (site web personnel) . Évalué à 3 (+1/-0).

    Je ne connais pas ton niveau d'utilisation de tous les outils « bas niveau » donc je te donne ma vision assez roots mais que j'utilise souvent.

    Pour ma part c'est :

    1. Prendre un disque dur externe >= SSD actuel et le monter dans /mnt
    2. Faire un bon gros rsync -avHX --exclude=/dev --exclude=/sys --exclude=/proc --exclude=/mnt / /mnt/DISQUE_EXTERNE/
    3. Installer le nouveau SSD/NVMe
    4. Booter un iso linux quelconque avec au minimum rsync
    5. Partitionner son nouveau disque au choix et le monter dans /mnt/target
    6. Monter le disque dur externe de backup dans /mnt/backup
    7. Copier le contenu rsync -avHX /mnt/backup/ /mnt/target
    8. En fonction du chargeur de démarrage, rajouter une entrée EFI s'il n'y a pas un bootx64.efi par défaut (efibootmgr par exemple)

    Attention à bien mettre des slash en fin de nom des répertoire sources, il s'agit de copier le contenu et pas le répertoire lui même rsync -a /foo /bar copie /foo dans /bar alors que rsync -a /foo/ /bar copie le contenu de /foo dans /bar ce qui nous intéresse dans ce genre de cas.

    git is great because linus did it, mercurial is better because he didn't

  • # A la mano

    Posté par  . Évalué à 3 (+1/-0).

    NB: de tête, je risque d'oublier un truc …

    • connecter les deux disques, l'ancien et le nouveau
    • booter sur une distribution live (Debian Live par exemple)
    • identifier les deux disques (avec fdisk -l par exemple) et formater le nouveau, avec ou sans swap, selon les goûts et les besoins
    • monter les partitions / de l'ancien et du nouveau disque
    • dans le / de l'ancien, lancer un cp -a .???* * <chemin vers le / du nouveau disque>/. Ça peut prendre "un certain temps" selon la taille et les bandes passantes des connexions utilisées (SATA 1.5, 3, 6 … USB …)
    • identifier l'UUID de la nouvelle partition /, avec ls -alF /dev/disk/by-uuid/ par exemple
    • remplacer l'UUID de l'ancienne partition/ancien disque dans <chemin vers le / du nouveau disque>/etc/fstab : UUID=<UUID à mettre à jour> / ext4 ...
    • faire de même pour le swap s'il est utilisé : UUID=<UUID à mettre à jour> none swap sw 0 0
    • dans <chemin vers le / du nouveau disque>/, monter les partitions "spéciales" :
    mount -t sysfs sysfs sys
    mount -t proc proc proc
    mount -t devtmpfs udev dev
    mount -t devpts devpts dev/pts
    mount -t tmpfs tmpfs run
    
    • chroot <chemin vers le / du nouveau disque>/
    • installer grub avec grub-install /dev/<device du nouveau disque> (par exemple : /dev/sdb)

    Voilà voilà … J'imaginais ça plus "petit" avant de l'écrire ! Il y a peut-être plus simple, avec un outil …

    • [^] # Re: A la mano

      Posté par  (site web personnel) . Évalué à 3 (+1/-0).

      Tu as clonezilla qui fait ça très bien : démarrage sur un disque externe, lancement de la procédure de clonage, redémarrage sur disque externe après changement du disque interne, lancement de la procédure d'écriture du clone, il te sera alors proposé d'ajuster la table des partitions en fonction de la taille du disque.

  • # dédé ?

    Posté par  . Évalué à 3 (+1/-0). Dernière modification le 04 février 2025 à 23:08.

    Le ménage de printemps attendra. J'ai dégoté un pc avec deux emplacements M2. Boot depuis une clé, dd bs=32M if=/dev/sda of=/dev/nvme0n1 conv=fdatasync,notrunc iflag=direct oflag=direct, étendre la partition puis reboot puis dire au FS de prendre tout. 313MBps ~= 2.4Gbps, 25min pour la copie, c'est correct.

    • [^] # Re: dédé ?

      Posté par  . Évalué à 3 (+1/-0). Dernière modification le 05 février 2025 à 10:25.

      Je plussoie, c'est une solution directe, simple comme une ligne de commande et sans grosse prise de tête ( juste faire attention à ne pas mélanger les ancien et nouveau périphériques 😅 ).

    • [^] # Re: dédé ?

      Posté par  . Évalué à 4 (+1/-0).

      clonezilla l'aurait fait pour toi en ne copiant que le contenu des partitions :D

      mais il est vrai qu'avec les NVMe, un dd fait le taff

      • [^] # Re: dédé ?

        Posté par  . Évalué à 2 (+0/-0).

        Le disque était presque plein et je suis pas sûr que clonezilla aurait pu lire à l'intérieur d'une partition chiffrée.

    • [^] # Re: dédé ?

      Posté par  (Mastodon) . Évalué à 1 (+0/-0).

      Histoire de ne pas avoir à mémoriser toutes ces options compliquées qui ne font pas gagner tant de temps que ça, j'utilise simplement cat de la façon suivante : cat /dev/sda > /dev/nvme0n1

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.