105 votes

Déplacer l'ensemble de l'installation Linux vers un autre lecteur

J'ai Ubuntu 14.04 avec beaucoup de packages et de choses liées au travail dont je suis très content. Il est installé sur mon SSD principal qui est un SSD de 120 Go (j'avais choisi "/" lors de l'installation d'Ubuntu, donc je crois que tout devrait être sur ce SSD). Il apparaît comme /dev/sda

Maintenant, j'ai ajouté un autre SSD à mon ordinateur qui est un 240 Go. Je n'ai aucun autre support de stockage sous la main pour le moment (par exemple un disque dur externe).

Étant donné que le nouveau SSD de 240 Go a évidemment plus de capacité et est plus rapide (d'une génération plus récente que mon SSD de 120 Go), je veux déplacer mon système Linux sur ce nouveau disque. Ce nouveau disque apparaît comme /dev/sdb et pour le moment il n'est pas formaté ou rien du tout (je viens de le déballer et de l'insérer dans mon PC pour le moment :P)

Comment puis-je déplacer en toute sécurité mon installation Linux vers le nouveau disque?

Je peux changer le câble SATA pour que le nouveau disque apparaisse comme /dev/sda si nécessaire.

Voici la sortie de "fdisk -l" si cela peut aider:

Disque /dev/sda: 120,0 Go, 120034123776 octets
255 têtes, 63 secteurs/piste, 14593 cylindres, total 234441648 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Taille de secteur (logique/physique) : 512 octets / 4096 octets
taille d'E/S (minimale/optimale) : 4096 octets / 4096 octets
Identifiant de disque : 0x00076d7a

   Périphérique Amorçage   Début         Fin      Blocs   Id  Système
/dev/sda1   *        2048   226064383   113031168   83  Linux
/dev/sda2       226066430   234440703     4187137    5  Étendue
La partition 2 ne  commence pas sur une frontière de secteur physique.
/dev/sda5       226066432   234440703     4187136   82  Linux swap / Solaris

Disque /dev/sdb: 240,1 Go, 240057409536 octets
255 têtes, 63 secteurs/piste, 29185 cylindres, total 468862128 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Taille de secteur (logique/physique) : 512 octets / 512 octets
taille d'E/S (minimale/optimale) : 512 octets / 512 octets
Identifiant de disque : 0x00000000

Disque /dev/sdb ne contient pas de table de partitions valide

58voto

Severus Tux Points 9276

Vous pouvez utiliser CLONEZILLA à cette fin.

Clonezilla est un outil gratuit de clonage et d'imagerie de partition et de disque qui peut être utilisé pour sauvegarder toutes vos données (disques entiers ou partitions) de manière hautement compressée et les cloner ensuite sur votre disque dur pour le remettre dans le même état exact. C'est plus rapide que l'installation du système d'exploitation la plupart du temps.

Description de l'image

Dans votre cas, vous pouvez également utiliser l'option "device-device", mais je ne suis pas familier avec celle-ci.

Vous pouvez trouver un guide détaillé sur Clonezilla ici : http://clonezilla.org

52voto

user167850 Points 230

Il peut être fait de plusieurs façons. Mais la plus simple est de simplement copier tous les fichiers du vieux disque vers le nouveau.

  1. Créez une partition ext4 et une partition d'échange sur le nouveau disque.

  2. Démarrez à partir de LiveUSB.

  3. Montez l'ancienne partition Ubuntu dans un répertoire, montez la nouvelle dans un autre répertoire.

  4. Copiez tous les fichiers de l'ancien vers le nouveau en utilisant la commande cp -a.

  5. Installez grub sur le nouveau disque.

  6. Mettez à jour /etc/fstab avec les nouveaux UUID.

Si quelque chose n'est pas clair, je peux ajouter des explications.

32voto

ljrk Points 592

Si vous avez un peu de temps et que vous voulez être en sécurité :

$ dd if=/dev/sda of=/dev/sdb bs=64K conv=noerror,sync

Explication de la commande :

  • if est l'entrée, of est la destination
  • bs définit la taille du bloc. C'est la taille des morceaux que dd lira et écrira. Des tailles de chunks plus élevées signifient généralement des performances supérieures mais aussi plus de corruption de données si le disque d'entrée a des erreurs, voir ici : archwiki sur dd
  • noerror continue en cas d'erreurs de lecture/écriture.
  • sync synchronise les décalages s'il y a une erreur.

De plus, sur Ubuntu et la plupart des autres systèmes Linux (depuis GNU/coreutils 8.24, 2015), vous pouvez utiliser status=progress pour afficher également la progression du processus.

Cela créera essentiellement une image de votre disque sda et l'écrira sur sdb (même disposition des partitions, etc.). Bien sûr, cela écrira les 120 Go entiers car c'est agnostique par rapport au fichier. Ainsi, très sûr, mais pas le plus rapide, si vous n'utilisez que de petites parties du disque. Cependant, si le disque d'entrée est plutôt plein, cela pourrait même être plus rapide.

MAIS :

  • Après cela, vous voudrez probablement redimensionner les partitions, sinon vous ne pourrez pas profiter de l'espace supplémentaire.
  • Dans tous les cas, il peut être nécessaire de modifier le fichier /etc/fstab.
    C'est le cas si les ID matériels sont utilisés pour reconnaître les disques.

9voto

delt Points 305

La façon dont je procède lorsque je passe à un nouveau HDD est la suivante :

  • créer la disposition des partitions souhaitée sur le nouveau disque
  • démarrer à partir du Live CD/USB ou installer, secourir, etc.
  • monter la ou les partition(s) du vieux disque dur à copier, par exemple, /mnt/a
  • monter la ou les partition(s) du nouveau disque dur pour recevoir les fichiers, par exemple /mnt/b
  • cp -a ou utiliser tar pour copier les fichiers de /mnt/a à /mnt/b
  • installer le chargeur d'amorçage (lilo ou grub) sur le nouveau disque ¹
  • mettre à jour le fichier /etc/fstab (vous pouvez utiliser blkid pour identifier les nouveaux UUID)
  • redémarrer et tester si tout va bien

Note¹ :

Vérifiez tous les disques durs et partitions en utilisant la commande suivante :

sudo fdisk -l 

Maintenant, prenez note de la partition sur laquelle Ubuntu est installé, qui ressemblera à ceci : /dev/sda1

Montez la partition où vous devez installer GRUB 2 (partition du disque dur) et le système de fichiers apparaît dans Nautilus. Maintenant, nous devons monter la bonne partition du disque dur pour apporter des modifications au MBR du disque dur réel. Pour cela, nous devons :

sudo mount /dev/sda1 /mnt
mount

Montez maintenant la partition vers un emplacement alternatif

sudo mount /dev/sda1 /mnt/boot

Créez un lien inviolable du dossier /dev sur l'image live à partir de laquelle vous avez démarré vers le dossier /dev sur la partition que vous avez montée sur /mnt

sudo mount --bind /dev /mnt/dev/

Nous devons maintenant changer le root de la racine du CD live ( / ) à la racine de la partition montée

sudo chroot /mnt

Maintenant, vous êtes dans un nouveau shell racine, dans lequel la partition montée est la nouvelle racine. Vous pouvez le vérifier en tapant ls. Étant donné que nous sommes maintenant dans la partition montée, nous pouvons continuer et installer GRUB 2 :

sudo grub-install /dev/sda 

Les installations devraient maintenant se terminer sans erreurs

Quittez votre shell CHROOT, en tapant exit ou en appuyant sur Ctrl+D ce qui vous ramène au shell Live CD/USB

Démontez les partitions que nous avons montées précédemment pour un redémarrage propre :

sudo umount /mnt/dev
sudo umount /mnt/boot
sudo umount /mnt

et redémarrez après avoir retiré le Live CD ou la clé USB pour démarrer à partir du disque dur :

sudo reboot

Source

7voto

WinEunuuchs2Unix Points 91128

Contrairement aux autres réponses, cela vous permet de cloner l'installation Linux et de l'ajouter au menu Grub avec vos installations actuelles intactes. De plus, il modifie automatiquement /etc/fstab pour vous et met à jour le menu de démarrage de grub.

Un menu est fourni pour vous aider à sélectionner la partition correcte à laquelle cloner. La partition à cloner est votre partition actuellement démarrée.

rsync est utilisé pour une vitesse optimale si vous choisissez de recréer la partition. Cela peut être bénéfique si la mise à jour échoue, si vous attendez un correctif de bogue et que vous souhaitez exécuter à nouveau la mise à jour. De même, vous avez peut-être choisi de mauvaises options lors de la mise à niveau et souhaitez les refaire.

Le script complet peut être trouvé ici : Script Bash pour cloner Ubuntu sur une nouvelle partition pour tester la mise à niveau 18.04 LTS et voici à quoi ressemble l'écran :

clone-ubuntu.png

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X