Comment déplacer une installation Linux entre des partitions?

8

J'ai obtenu un nouveau disque dur et je souhaite déplacer une installation Linux existante (plus spécifique: OpenSUSE 11.1) d'une partition sur l'ancien disque dur vers une partition sur le nouveau disque dur.

Mon plan est:

  1. démarrer à l'aide d'un CD de démarrage (disons que c'est le CD de démarrage d'OpenSUSE)

    EDIT Comme l'ont suggéré de nombreuses personnes (merci à tous)
    1a. copier tous les fichiers d'un lecteur à l'autre

  2. modifier / etc / fstab ( ajouter des points de montage à de nouvelles partitions)
  3. modifier /boot/grub/menu.conf ( ajouter une partition de démarrage)
  4. réinstaller grub

Ai-je raison? C'est ça?
Ou ai-je raté une étape importante? (Je suis presque sûr de l'avoir fait)

linux_is_for_desktop
la source
1
vous avez raté l'étape de copie des fichiers de l'ancienne partition vers la nouvelle. certains pourraient dire que c'était assez important :)
cas

Réponses:

4

Je dirais qu'il y a une chose que vous avez manquée.

  1. démarrer à l'aide d'un CD de démarrage (disons que c'est le CD de démarrage d'OpenSUSE)

    1a. copier tous les fichiers d'un lecteur à l'autre

  2. modifier / etc / fstab (changer les points de montage en nouvelles partitions)

  3. modifier /boot/grub/menu.conf (changer la partition de démarrage)
  4. réinstaller grub

Je dirais que si vous configurez la partition sur le nouveau lecteur pour être compatible avec les anciens paramètres, cela devrait être assez simple. Cela pourrait être un peu plus compliqué si vous devez modifier les emplacements des points de montage à l'intérieur des fichiers du système d'exploitation. Je recommanderais de garder les partitions suffisamment similaires pour que tout ce que vous devez faire soit de démarrer, monter le nouveau disque, copier, changer la partition de démarrage, réinstaller grub sur le nouveau disque. retirez l'ancien lecteur et vous avez terminé!

Axxmasterr
la source
Vous devez cependant être prudent avec la copie. Utilisez l'option -a pour cp.
Kim
5
ou utilisez rsync. il a l'avantage que si quelque chose interrompt la copie, vous pouvez simplement réexécuter rsync et il reprendra là où il s'était arrêté plutôt que de recommencer depuis le début. par ordre de préférence, les bons outils pour ce travail sont: rsync, tar, cp -a
cas
+1 La suggestion de Craig ci-dessus est un bon conseil.
Axxmasterr
1

Vous devez copier des fichiers comme l'a souligné Axxmasterr. Tout le reste me semble juste. D'autres ont suivi un chemin très similaire: déplacer une installation GNU / Linux vers une nouvelle partition

Soyez prudent avec la commande cp que vous utilisez pour copier des fichiers. Utilisez l'option -a pour garantir un comportement correct lorsque vous cliquez sur les liens symboliques et conserver les informations de propriété.

Certaines personnes ont utilisé tar au lieu de cp pour copier les fichiers sur la nouvelle partition:

$ cd sourcedir; tar --create --file = -. | (cd targetdir; tar --extract --file = -)

Comme suggéré dans le lien au début, vous voudrez peut-être laisser l'ancienne entrée dans le fichier grub et en ajouter une nouvelle, au cas où vous auriez besoin de revenir.

Bonne chance!


la source
Je recommande de changer les points-virgules de cette commande en && (opérateurs conditionnels) afin que les commandes 'tar' suivantes ne soient pas exécutées si chdir () échoue pour une raison quelconque (faute de frappe, autorisations, etc.). Je recommande également d'utiliser l'option -S (--sparse) avec le 'tar' --create pour permettre la gestion de fichiers épars comme certaines instances de / var / log / wtmp ou / var / run / utmp, par exemple).
Jim Dennis
1

Je pense que cela fonctionnera.

S'il n'y a qu'une seule partition sur chaque disque dur et que le nouveau disque est de la même taille ou plus grand que le disque d'origine, alors un moyen plus rapide consiste à simplement cloner l'ancienne (/ dev / xxx, où xxx = votre disque d'origine sda , hdb, etc.) vers le nouveau (/ dev / yyy).

Les étapes seraient donc:

  1. Démarrage à l'aide d'un CD live
  2. sudo dd if = / dev / xxx of = / dev / yyy bs = 32k

Assurez-vous que vous obtenez si (fichier d'entrée) et correct, ou vous encombrerez l'intégralité de votre ancien disque.

Fred Hamilton
la source
Faire dd copiera également le système de fichiers, il pourrait ne pas être préparé pour un changement de taille de disque (même s'il y a plus d'espace sur le nouveau disque)
Joakim Elofsson
Certes, la partition clonée sur le nouveau disque aura la même taille que la partition d'origine sur l'ancien disque, vous devrez donc l'étendre pour utiliser le nouveau disque complet (j'utiliserais gparted). Si vous souhaitez également modifier les systèmes de fichiers, l'approche "cp -a" mentionnée dans une autre réponse est préférable.
Fred Hamilton
Vous pouvez redimensionner les systèmes de fichiers ext2-3-4 à l'aide de resize2fs. D'autres systèmes de fichiers ont des outils similaires. Pour ext, il est également possible de réduire la taille du système de fichiers. J'ai toujours préféré cela aux approches cp / tar / dump.
Kristof Provost,