Comment passer d'un lecteur à un autre de taille différente?

21

J'ai rencontré ce scénario plusieurs fois: j'ai besoin de remplacer un lecteur parce que j'ai besoin de plus d'espace, qu'il a des problèmes, qu'il passe à une nouvelle boîte, etc.

Quelle est la meilleure façon de copier des données d'une taille de partition à une autre (en supposant que la cible a suffisamment d'espace)?

Et si c'est un système de fichiers différent (comme ReiserFS vers ext4)?

S'il s'agit simplement d'un nouveau disque sur un système existant, comment puis-je m'assurer que je n'ai pas besoin de réinstaller pour que tout fonctionne?

Mise à jour - de nombreuses options sont très viables, et j'ai changé cette question en wiki communautaire parce que je ne pense pas qu'il y ait une "bonne" réponse.

warren
la source
1
superuser.com/questions/32164/… a été invité pour les lecteurs / partitions Windows
warren

Réponses:

10

Clonez le lecteur à l'aide de CloneZilla , puis utilisez gparted pour le redimensionner. Gardez votre ancien en cas de problème :-)

Au fait, cette voie est gratuite.

craigmoliver
la source
2
J'aime la partie gratuite ici, bien que rien ne vaut un bon logiciel de travail qui fait tout (au lieu de 3 freewares ensemble)
Ivo Flipse
1
Ce ne sont que deux logiciels gratuits et c'est assez indolore. Les ISOs ne démarrent pas.
craigmoliver
Je peux confirmer que cela fonctionne. J'ai réussi à déplacer mon disque secondaire avec Windows 7 d'un disque de 160 Go à un disque de 1 To. Cloné sur mon disque Linux avec Clonezilla. Restauré sur le nouveau disque et redimensionné avec l'outil de gestion de disque de Windows 7. C'était d'un NTFS à un NTFS cependant.
Thomas Watnedal
vous dites «cloner le lecteur» bien qu'il ait demandé de cloner la partition. Il a également dit un système de fichiers différent.
barlop
5

La solution que j'ai utilisée dans le passé est tar. Si les partitions ont exactement la même taille et le même type, vous pouvez les utiliser dd.

Voici ma réponse au dilemme:

  1. démarrer en utilisant une distribution de cd live telle que Slax
  2. vérifiez que les partitions souhaitées se trouvent sur le nouveau lecteur
  3. assurez-vous que les anciens et les nouveaux lecteurs sont montés, par exemple /tmp/driveoldet / tmp / drivenew '
  4. exécuter depuis un terminal la tarcommande suivante :

    (tar cp --xattrs /tmp/driveold/path) | (tar x /tmp/drivenew/path)

  5. répéter pour chaque partition que vous devez copier

Cela fonctionne pour chaque partition sur laquelle j'ai déjà essayé (à l'exclusion de /boot, pour laquelle je m'assure que les partitions sont identiques et que j'utilise dd).

garenne
la source
2
J'aime cette solution parce qu'elle est si simple, mais je pense que vous auriez besoin d'options supplémentaires comme p (conserver les autorisations) pour obtenir toutes les métadonnées.
Jay Conrod
1
vous avez raison sur le p - je l'ai ajouté :)
warren
2
En parlant de métadonnées, l' --xattrsoption (stocker les ACL et les informations SELinux) devrait également être utilisée.
Cristian Ciupitu
Les 2 goudrons reliés à un tuyau pourraient être remplacés par cpio --pass-through.
Cristian Ciupitu
1
Quelle version de tara une --xattrsoption? Pas le mien. Je suggère d'utiliser rsyncou simple à la cpplace: serverfault.com/questions/306538/…
Teddy
2

C'est une des raisons pour lesquelles j'aime LVM. Ajoutez simplement le nouveau disque au groupe de volumes, pvmoveles volumes logiques de l'ancien au nouveau disque, supprimez l'ancien disque du groupe de volumes, puis du système. Si c'est votre disque de démarrage que vous remplacez, vous devez également mettre à jour votre chargeur de démarrage.

pgs
la source
C'est une excellente idée - sauf si vous n'êtes pas en cours d' exécution LVM, il est un peu une douleur :) Merci pour la suggestion, bien que!
warren
Quelque chose à considérer la prochaine fois que vous installerez :-)
pages
2

+1 à warren et à utiliser du goudron.

Cependant, j'essaie généralement de restaurer à partir de mes sauvegardes à la place. Et passer d'un disque à un nouveau semble être une bonne occasion de voir si votre plan de sauvegarde fonctionne.

Si vous simulez une panne de disque (coupez l'alimentation de l'ancien disque), commencez à récupérer sur le nouveau disque. Et lorsque vous avez terminé, vous démarrez l'ancien disque et les différez pour voir si vous avez tous les fichiers.

S'ils sont identiques, vous avez tous les deux déplacé toutes vos données et vous savez que votre plan de sauvegarde est valide et fonctionne.

Johan
la source
bonne idée - bien que pour ceux d'entre nous (<whistle mode = "innocent" />) qui n'ont pas de solution de "sauvegarde", cela pourrait aussi être le bon moment pour en trouver une :)
warren
1
:)
Johan
2

Une autre option serait de démarrer à partir d'un liveCD et de monter l'ancien lecteur en lecture seule. C'est pour empêcher le livecd de le changer pendant la copie. Ensuite rsync -avz /mnt/olddisk/ /mnt/newdisk(la barre oblique de fin après olddisk est nécessaire). Comme les autres l'ont mentionné, si c'est le disque de démarrage qui est en cours d'extension, vous devrez réexécuter grub-install <new device>avant qu'il puisse être amorçable.

Shoan
la source
il y en a un dont je ne pense pas :)
warren
1

La plupart des utilitaires de clonage de disque peuvent le faire. J'aime utiliser g4u depuis un livecd. Ghost est sympa, mais je préfère en utiliser un gratuit.

frissons42
la source
1

J'ai également trouvé Disk Copy , qui ne semble pas figurer sur la liste Wikipedia, mais je ne l'ai jamais utilisé.

garenne
la source
1
La copie sur disque est bonne.
craigmoliver
Malheureusement, il ne concerne que Windows, et cette question a été taguée Linux.
programmer5000