Clonez le disque dur interne vers un nouveau SSD

20

J'ai récemment installé un SSD sur ma machine. La machine elle-même est un Thinkpad W520 de Lenovo, et elle avait auparavant un disque dur interne. J'ai déplacé le disque dur interne dans une baie d'extension (en remplacement du CD-ROM) et j'ai mis le nouveau SSD dans la baie interne.

Le problème que j'ai, c'est que j'ai ma configuration Ubuntu EXACTEMENT comme je le veux - à l'origine, j'ai passé de nombreuses heures à la configurer pour la rendre telle qu'elle est maintenant. Je préfère ne pas recommencer. Mais, j'aimerais également les gains de démarrage que j'obtiendrais du système d'exploitation sur le SSD.

Donc, ce que j'aimerais faire, c'est cloner ma partition Ubuntu sur le SSD. Le hic, c'est que le disque dur standard est beaucoup plus gros que le SSD. Et il a une partition Windows dont je n'ai pas besoin sur le SSD (je n'utilise jamais Windows, donc s'il démarre sur l'autre disque dur, ça va). La disposition de mes disques durs est la suivante:

/ dev / sda (SSD): Modèle: ATA M4-CT256M4SSD2 (scsi) Disque / dev / sda: 256 Go Taille de secteur (logique / physique): 512B / 512B Table de partition: msdos

Number  Start   End    Size   Type     File system  Flags
 1      1049kB  147GB  147GB  primary  ext4         boot

/ dev / sdb (HDD): Modèle: ATA ST9500420AS (scsi) Disque / dev / sdb: 500 Go Taille du secteur (logique / physique): 512B / 512B Table de partition: msdos

Number  Start   End     Size    Type      File system     Flags
 1      1049kB  1259MB  1258MB  primary   ntfs            boot
 2      1259MB  269GB   268GB   primary   ntfs
 4      269GB   483GB   214GB   extended
 5      269GB   416GB   147GB   logical   ext4
 7      416GB   475GB   58.9GB  logical   linux-swap(v1)
 6      475GB   483GB   8470MB  logical
 3      483GB   500GB   16.8GB  primary   ntfs

Ce que j'ai essayé jusqu'à présent:

1) Redimensionner les partitions / dev / sdb5 et / dev / sda1 pour avoir la même taille. 2) Démarrage dans Ubuntu 11.04 (à partir de / dev / sdb5) et exécution de dd if = / dev / sdb5 of = / dev / sda1 (bien sûr, cela cause des problèmes de démarrage, j'ai donc dû réinstaller grub .. Je peux l'obtenir sur boot, mais j'ai des problèmes avec initrd qui ne trouve pas certains fichiers ... je suppose qu'il ne peut pas charger certaines partitions je pense).

Maintenant, je pense que ces deux étapes sont la mauvaise approche, car elles cloneront / dev / sdb5 EXACTEMENT - y compris les références dans fstab qui pointent vers le mauvais disque dur. Je ne sais pas exactement comment y remédier. Je pourrais installer Ubuntu 11.04 sur le SSD, puis essayer de copier sur toutes mes configurations, mais je crains de perdre quelque chose ou de remplacer quelque chose comme fstab qui renvoie à l'original disque dur.

Notez qu'actuellement, je peux toujours démarrer à partir du disque dur, il n'est donc pas impératif de le comprendre tout de suite, mais je veux que ce soit exactement comme cela en ce moment, afin de pouvoir maintenir mon niveau de productivité actuel ( c'est un ordinateur portable de travail).

Des suggestions sur la façon dont je pourrais surmonter cette difficulté?

Merci d'avance!

jwir3
la source

Réponses:

13

Il y a plus d'une façon d'obtenir votre ancien système sur un nouveau disque, mais vous ne l'avez pas vraiment demandé de cette façon, vous avez demandé comment cloner le système.

Je voudrais juste utiliser gparted, moi-même, à partir du CD live, donc aucune partition n'est montée. Vous pouvez réduire la partition d'origine à la taille souhaitée sur le SSD, puis copier et coller la partition sur le nouveau lecteur. Si je me souviens bien, cela réutilisera le même UUID, mais vous pourrez le changer sur l'une ou l'autre partition par la suite. La commande pour cela est sudo tune2fs -U random /dev/sdb5attribue l'UUID pour sdb5.

Si vous ne voulez pas changer l'ancien système, et si vous voulez le garder monté pendant un certain temps, vous pouvez changer l'UUID de la partition SSD et modifier votre fstab. Ce n'est en fait pas difficile du tout, et c'est quelque chose que vous devriez apprendre. C'est assez explicite pour quelqu'un avec les connaissances que vous semblez déjà avoir. Une fois que vous avez attribué un nouvel UUID, vous pouvez tous les voir avec cette commande: sudo blkid -c /dev/null- le paramètre -c spécifie le fichier de cache, et / dev / null signifie ne pas utiliser de cache, vous obtenez donc toujours les modifications immédiatement. J'utilise toujours ce formulaire et je ne vois aucun inconvénient à moins que vous n'ayez beaucoup de partitions.

Une fois que vous obtenez l'UUID, vous pouvez le copier et le coller sur l'ancien dans / etc / fstab en utilisant gedit ou l'éditeur de texte que vous préférez.

Personnellement, cependant, plutôt que de prendre le temps de redimensionner la partition en premier, je copierais simplement l'ancienne installation sur le nouveau disque. Si vous ne savez pas comment installer GRUB sur le mbr, vous voudrez peut-être d'abord installer un Ubuntu de base, puis sauvegarder / etc / fstab, copier l'ancienne installation dessus, puis copier le fstab de la nouvelle installation pour qu'il n'a que les entrées correctes.

Marty Fried
la source
C'est très utile, merci. Je vais l'essayer et voir si je peux le faire fonctionner. Ensuite, je reviendrai et accepterai la réponse ou vous en demanderai plus. ;)
jwir3
1
J'ai souvent utilisé le CD d'installation en direct, car il contient presque tout ce dont vous avez besoin. Mais la meilleure image de sauvetage que j'ai utilisée est le CD System Rescue . Ce CD amorçable, également disponible sous forme de clé USB, a corrigé GRUB pour moi un certain nombre de fois après que quelque chose (ou quelqu'un, qui doit rester anonyme) l'a effacé. Il a des outils grparted et grub, et tout ce que vous voulez pour réparer une installation linux, sans trop de surcharge. Est-ce le genre de chose que vous demandiez?
Marty Fried
1
Vous êtes les bienvenus et bonne chance.
Marty Fried
1
Cela a bien fonctionné. Une chose dont j'étais un peu incertain était de savoir comment configurer grub, et, plus précisément, qu'il existe des façons très différentes de configurer grub legacy vs grub2. J'ai utilisé ce qui suit comme référence pour grub2, une fois que je l'ai installé ( apt-get install grub2): dedoimedo.com/computers/grub-2.html J'utilisais à l'origine une méthode d'installation grub2, alors qu'en fait, grub-legacy était installé sur mon système.
jwir3
1
Ah, oui, le grub adorable, et il est amélioré, grub2 (NOUVEAU! AMÉLIORÉ! MAINTENANT ENCORE PLUS COMPLEXE!). Désolé, c'est de ma faute; J'avais appris à bien comprendre l'ancien grub, alors bien sûr, ils l'ont changé. Puis, quand j'ai pensé que j'allais utiliser grub2, ils ont apporté quelques changements mineurs, incompatibles avec la version précédente. C'est pourquoi j'ai suggéré la possibilité d'une installation de base en premier, juste pour configurer grub. Mais c'est une bonne idée d'apprendre grub, et ce n'est pas vraiment compliqué, vraiment. Êtes-vous passé à grub2 maintenant?
Marty Fried
5

Démarrez à partir du livecd, montez les deux disques, puis copiez simplement les fichiers avec sudo cp -ax /media/source /media/dest. Modifiez / etc / fstab sur la destination pour pointer vers l'UUID correct (recherchez avec blkid) et réinstallez grub.

psusi
la source
C'est ce que je ferais, mais il m'a fallu une éternité pour maîtriser grub2 - principalement en raison de la multitude de méthodes que j'ai lues, dont aucune ne semblait complète. Votre message suppose que la personne est au même niveau que vous, ou peut-être supposez-vous simplement qu'elle posera des questions sur les parties qui ne sont pas connues (ce qui est probablement OK). Mais il est curieux que vous ayez spécifié la partie la plus simple, la commande de copie, et que vous ayez plutôt masqué les parties les plus difficiles. :)
Marty Fried
3
@MartyFried, un rapide google passe directement à help.ubuntu.com/community/Grub2#Reinstalling_GRUB2 , qui dit que c'est aussi simple que de courir grub-install --root-directory /mnt /dev/sdaaprès avoir monté la partition Ubuntu dans / mnt;)
psusi
Ah, je suis content d'apprendre qu'ils ont amélioré ou ajouté à la documentation. Cela fait un moment pour moi, mais quand j'essayais de comprendre, même la documentation officielle de GRUB n'était pas totalement correcte. En outre, il y a eu un changement de version pour GRUB2 qui a provoqué son échec avec un message d'erreur obscur. Mais le problème avec les forums Ubuntu que je fréquentais plus souvent, c'est qu'il y a beaucoup de désinformations répétées jusqu'à ce qu'elles deviennent réalité par des gens qui savent à peine de quoi ils parlent - pas tout le monde, mais c'est parfois difficile à trier.
Marty Fried
2

Je suggérerais d'éviter d'utiliser dd if=/dev/sdb5 of=/dev/sda1si votre système fonctionne de /dev/sdb5lui-même (et probablement pas monté en lecture seule).

Une autre façon de copier des partitions est de démarrer à partir du CD live (ou USB) et de démarrer GParted. Vous pouvez utiliser Ctrl + C / Ctrl + V pour copier des partitions d'un disque à un autre.

Une fois la copie effectuée (et peut-être après le redémarrage, la table de partition doit être actualisée), toujours à partir du CD live, montez votre nouvelle partition racine à l'aide d'un terminal:

sudo mount /dev/sda1 /mnt

Ensuite, modifiez /mnt/etc/fstabpour pointer vers les emplacements corrects.

Bruno
la source
1
si vous à ddpartir du CD live, vous n'avez pas besoin de modifier le fstab à condition qu'il utilise des UUID (ce qu'il devrait).
Alecz
0

Le script bash clone-ubuntu.shautomatise les étapes décrites dans la réponse acceptée. Un menu est fourni pour rendre la nouvelle partition facile à trouver:

clone-ubuntu.png

Visitez le lien ci-dessus pour une copie du script et des points importants à considérer tels que:

  • rsync est utilisé pour cloner la partition amorcée et les répertoires virtuels du système sont correctement ignorés.
  • /etc/fstab du clone cible est mis à jour avec les UUID corrects pour le démarrage.
  • /etc/grub/grub.cfg est mis à jour pour un démarrage en douceur de grub.
WinEunuuchs2Unix
la source