46 votes

Comment cloner vers un disque dur plus petit?

Comment cloner un disque dur sur un disque plus petit.

  1. Clonezilla est excellent mais il ne prend pas en charge cette fonctionnalité.
  2. Aussi dd et PartImage ne prennent pas en charge cette demande.
  3. rsync ne copiera pas le MBR car un MBR n'est pas un fichier.

J'ai besoin de cloner un HDD et non de faire une sauvegarde, donc rsync n'est pas une réponse acceptable.

Des suggestions?

41voto

Malte Skoruppa Points 12096

Vous ne pouvez clairement pas cloner une partition plus grande vers une partition plus petite (en utilisant dd et similaires) car il n'y a tout simplement pas assez d'espace.

Cependant, si les fichiers qui se trouvent sur la partition plus grande peuvent également tenir sur la partition plus petite, vous pourriez utiliser rsync pour copier ces fichiers. Les options exactes à utiliser dépendent de votre cas d'utilisation spécifique, mais pour simplement copier tous les fichiers, la commande suivante devrait suffire :

rsync -av /point/de/montage/de/la/grande/partition/ /point/de/montage/de/la/petite/partition

Édition: Encore une fois : Vous ne pouvez pas cloner une partition plus grande sur une partition plus petite. (Mais lisez la suite, votre problème peut encore être résolu.)

La raison est simple : votre partition source est plus grande que votre partition cible. Que vous attendez-vous à obtenir? Certains blocs devraient-ils simplement être supprimés? Lesquels? Et comment dd le saurait-il? Bien sûr, vous pourriez utiliser les options bs= et count= de dd pour copier seulement les premiers tant-de blocs de votre partition source pour qu'ils s'adaptent à votre partition cible, mais vous finirez avec une partition endommagée. Ce n'est certainement pas ce que vous voulez.

Ainsi, étant donné que vous ne pouvez pas cloner une partition plus grande vers une partition plus petite, la seule chose que vous pourriez faire est de d'abord réduire la taille de votre partition source à une taille inférieure ou égale à celle de votre partition cible avec quelque chose comme gparted qui connaît les spécificités du système de fichiers, afin de ne pas perdre de données. Et seulement ensuite vous pourriez utiliser dd pour cloner la partition. Idéalement, la nouvelle taille de votre partition source devrait être égal à la taille de votre partition cible (et non pas juste plus petit ou égal), sinon vous vous retrouverez avec un espace non alloué sur votre partition cible après le clonage.

Notez également que vous ne devriez pas simplement copier un MBR d'un disque plus grand sur le MBR d'un disque plus petit (ou vice versa, pour cette question). Le MBR, qui a une taille de 512 octets et est la première section de votre disque dur, contient des informations sur la configuration du disque dur :

  • 446 octets - Bootstrap.
  • 64 octets - Table de partition.
  • 2 octets - Signature.

(Notez que 446+64+2=512.)

Si vous insistez pour cloner le MBR, alors ne clônez que les premiers 446 octets comme ceci :

dd if=/dev/source of=/tmp/mbr.bak bs=512 count=1
dd if=/tmp/mbr.bak of=/dev/target bs=446 count=1

...en remplaçant /dev/source et /dev/target par les noms des périphériques des disques sources et cibles, par exemple, /dev/sda et /dev/sdb, respectivement. (Plus d'informations sont disponibles ici.)

Cependant, la manière appropriée de le faire serait de procéder à une réinstallation propre de Grub (ou tout ce que vous avez sur votre MBR) sur le nouveau disque dur.

En résumé, si vous voulez cloner un disque plus grand sur un disque plus petit, procédez comme suit :

  1. Mettez en place une table de partitions sur le disque cible avec autant de partitions que sur le disque source. Il devrait y avoir une correspondance un à un entre les partitions sur votre disque source et les partitions sur votre disque cible, sauf que (certaines) partitions sur le disque cible peuvent être plus petites que leurs partitions correspondantes sur le disque source. Utilisez un outil tel que fdisk ou cfdisk pour cela.

  2. Pour chaque partition sur le disque cible qui est plus petite que sa partition correspondante sur le disque source, réduisez la taille de cette partition correspondante sur le disque source pour correspondre à la taille de la partition sur le disque cible. Utilisez un outil tel que gparted pour cela.

  3. Pour chaque partition sur le disque source, exécutez la commande

    dd if=/dev/sdaX of=/dev/sdbY

    ... pour cloner la partition /dev/sdaX du disque source vers la partition correspondante /dev/sdbY sur le disque cible (remplacez les noms des périphériques appropriément, bien sûr.)

  4. Si vous insistez également pour cloner le MBR, utilisez les deux commandes dd écrites plus haut dans ce post (celles avec le truc de /tmp/mbr.bak). Cependant, gardez à l'esprit qu'une réinstallation propre de Grub serait meilleure.

15voto

Dennis Nolte Points 582

Le clonage exact n'est pas possible comme Malte Skoruppa l'a déjà mentionné. Cependant, clonezilla est capable d'effectuer cette tâche tant que le disque plus grand n'est pas plein (comme Malte l'a déjà mentionné).

En gros, vous devez activer les options avancées et "ignorer" le message d'avertissement concernant un disque plus petit. Consultez la documentation de Clonezilla pour plus de détails avec des captures d'écran. J'ai eu le même problème en restaurant une sauvegarde d'un HDD de 160 Go sur un SSD de 64 Go. Pour moi, cela a bien fonctionné.

Une autre solution qui devrait donner le résultat que vous voulez serait de restaurer sur un disque de même taille et de repartitionner pour adapter le nouveau schéma de partition dans le disque plus petit. Consultez jsm-techblog.blogspot.de pour plus de détails sur la façon de procéder.

7voto

kamil Points 7025

Gparted devrait faire l'affaire

  1. Après avoir redimensionné avec gparted, démarrez depuis le lecteur pour donner à l'OS une chance de corriger les erreurs avant de cloner avec Clonezilla.

  2. Ensuite lancez Clonezilla et faites une copie des partitions du disque dur nécessaires

Une autre option que j'ai trouvée géniale pour moi : MondoRescure

Mondo Rescue est une solution de récupération de catastrophe GPL.

Il prend en charge les bandes, les disques, le réseau et les CD/DVD en tant que supports de sauvegarde, plusieurs systèmes de fichiers, LVM, Raid logiciel et matériel.

Un guide simple peut être trouvé ici

Je vais poster quelques captures d'écran :

ÉTAPE 1 SAUVEGARDE (CAPTURE D'ÉCRAN DE PARTITION)

1.Choisissez dans la liste des types de supports de sauvegarde pris en charge.

entrer la description de l'image ici

2.Si vous effectuez une sauvegarde sur CD/DVD-+R[W], Mondo vous demandera si votre graveur de CD possède la technologie BurnProof, est intégré à un ordinateur portable, ou est autrement excentrique. Si vous effectuez une sauvegarde sur un streamer de bande, vous ne verrez pas ce message

3.Quel taux de compression voulez-vous ? Aucun, si votre streamer de bande possède une compression matérielle intégrée. Maximum, si votre processeur est très rapide. Une moyenne devrait suffire pour la plupart des situations.

entrer la description de l'image ici

4.Si vous souhaitez sauvegarder l'ensemble de l'ordinateur (à l'exclusion de /sys, /run et /proc, naturellement ainsi que /tmp) alors laissez ceci comme / qui est la valeur par défaut. Sinon, spécifiez des sous-ensembles, (par exemple /usr/local|/home ) en veillant à mettre un pipe entre chaque chemin.

entrer la description de l'image ici

5.Si vous sauvegardez toute votre ordinateur alors vous voudriez peut-être exclure certains répertoires, par exemple /partagé/MP3. Veuillez les spécifier dans la boîte de dialogue 'exclure les répertoires'. Veuillez mettre un pipe entre chaque chemin, par exemple /partagé/privé|/scratch|/nfs|/windows

entrer la description de l'image ici

6.Votre noyau est-il sain ? En général, les utilisateurs de Red Hat, Mandrake, SuSE, Debian et Slackware devraient dire 'oui' parce que ces fournisseurs sont bons pour produire des noyaux fiables. Si vous utilisez Gentoo ou LFS alors votre noyau pourrait être non standard, dans ce cas dites 'non' pour utiliser le noyau de secours de Mondo (fourni séparément).

entrer la description de l'image ici

7.Si vous voulez vérifier les archives après les avoir écrites sur le support, dites 'oui' ici. Si vous avez une confiance absolue en votre matériel et votre distribution Linux, dites 'non'... et faites une petite prière.

entrer la description de l'image ici

8.Si vous êtes sûr de vouloir continuer, dites 'oui' et trouvez quelque chose d'autre à faire pendant que Mondo sauvegarde votre ordinateur. Si vous dites 'non' alors vous serez jeté sans cérémonie à l'invite de commande. :-)

entrer la description de l'image ici

9.Le processus de sauvegarde va maintenant commencer. Il y a quelques tâches de pré-sauvegarde à effectuer au préalable mais la sauvegarde est essentiellement en cours. Pour simplifier le processus de sauvegarde, vous avez été posé une série de questions. La prochaine fois, si vous le souhaitez, vous pourriez appeler mondoarchive avec divers commutateurs en ligne de commande pour contrôler son comportement, au lieu de répondre à une série de questions. Consultez la page de manuel pour plus de détails.

entrer la description de l'image ici

10.Mondo fera un catalogue de tous les fichiers à sauvegarder. Cela peut prendre jusqu'à cinq minutes. La liste des fichiers sera divisée en ensembles, environ 4 Mo (avant compression) de fichiers par ensemble. Cela prend généralement une minute.

entrer la description de l'image ici

11.Mondo appelle Mindi. Mindi génère une image de média bootable et des images de disque de données auxiliaires qui sont basées sur votre distribution Linux existante et vos systèmes de fichiers. De cette manière, vous pouvez être sûr que les outils de Mondo seront compatibles avec vos systèmes de fichiers et binaires existants : les outils de Mondo sont vos outils. Mindi prend jusqu'à cinq minutes pour s'exécuter.

entrer la description de l'image ici

12.Enfin, Mondo commence à sauvegarder votre ordinateur. Ce processus peut prendre quelques minutes ou quelques heures, selon la quantité de données que vous archivez, la rapidité de votre processeur, la quantité de RAM que vous possédez, etc. Il sauvegardera vos fichiers réguliers et ensuite vos gros fichiers (des fichiers plus grands d'environ 32 Mo). Si vous avez opté pour la vérification de vos sauvegardes, Mondo le fera également.

entrer la description de l'image ici

ÉTAPE 2 RESTAURATION (CLÔNE DE PARTITION)

1.Choisissez votre type de média de sauvegarde. Le processus de restauration en direct est très similaire à ce que vous vivrez si vous tapez mondorestore sans paramètres après avoir démarré à partir d'un support Mondo.

entrer la description de l'image ici

2.Appuyez sur 'OK' lorsque vous avez inséré la bande/le CD. Si vous avez généré une sauvegarde sur bande, la bande elle-même devrait être suffisante. Si vous avez généré une sauvegarde sur CD, le premier CD devrait suffire. Sinon, vous pourriez avoir besoin du support de démarrage.

entrer la description de l'image ici

3.Marquez les fichiers et répertoires que vous souhaitez restaurer. Utilisez les boutons 'Plus' et 'Moins' pour ouvrir et fermer les sous-répertoires.

entrer la description de l'image ici

4.Spécifiez l'emplacement où restaurer les fichiers. En général, '/' est approprié. Si vous ne voulez pas écraser les versions plus récentes des fichiers que vous restaurez, spécifiez /tmp/BKP ou similaire comme chemin de restauration.

entrer la description de l'image ici

5.Mondorestore récupérera les informations de configuration à partir du support. (L'écran d'exemple est pour les utilisateurs de bande. Les utilisateurs de CD verront quelque chose de différent.)

entrer la description de l'image ici

6.Les données seront restaurées sur le disque dur - d'abord les fichiers réguliers, puis les gros fichiers (de 32 Mo ou plus) dans l'ensemble de restauration.

entrer la description de l'image ici

5voto

David Holdeman Points 974

La plupart des exemples suggèrent de redimensionner votre lecteur d'origine ou d'utiliser la clonage.

  • redimensionner: il y a un risque de perte de données lorsque vous le modifiez.

  • clonage: (CloneZilla) vous ne pouvez pas cloner vers un disque plus petit et cela prendra du temps à copier l'intégralitée du disque, même les espaces inutilisés

Une autre manière moins risquée mais très manuelle que j'utilise. Puisqu'elle laisse le disque source intact au cas où vous voulez revenir en arrière si quelque chose a échoué.

Cette méthode permet également de changer le système de fichiers sur le disque de destination

Avec la procédure ci-dessous, vous devez simplement créer le système de fichier de votre choix sur le disque de destination.

Installez le nouveau disque de destination à côté du disque d'origine dans votre ordinateur:

  • Démarrer l'ordinateur à partir d'un live cd Ubuntu.
  • Sur le disque de destination, utilisez gparted pour créer: un volume ext4 (ou tout autre système de fichier de votre choix), et un volume d'échange et un système de fichier d'échange
  • Dans gparted, définissez le drapeau d'amorçage sur le nouveau volume ext4

Dans mon exemple, la source (disque d'origine) est : /dev/sda le destination (nouveau disque plus petit) est : /dev/sdb Dans votre configuration, cela pourrait être différent

# Monter src en lecture seule sous "/mnt/source" :
sudo mkdir /mnt/source ; sudo mount -o ro /dev/sda/mnt/souce

# Monter le disque de destination sous "/mnt/destination"
sudo mount /dev/sdb1 /mnt/destination/

# copier le système de fichiers source vers le système de fichiers de destination avec:
sudo rsync -log /mnt/destination/rsync-copy.log --progress -avr --exclude=/mnt/source/dev/ -A -H -X --numeric-ids /mnt/source/* /mnt/destination/

Ubuntu utilise l'UUID au lieu du nom du périphérique pour trouver et monter le disque. Comme nous avons un nouveau disque, nous voulons modifier le fstab de destination pour utiliser l'UUID du nouveau disque pour monter le disque.

# lister les UUID des disques et choisir celui approprié pour votre disque
ls -la /dev/disk/by-uuid

Remplacez maintenant / et swap par les UUID dans /mnt/destination/etc/fstab. N'oubliez pas de changer le système de fichiers pour le point de montage si vous avez décidé de le changer par rapport au disque d'origine.

Si c'est important que GRUB soit de la même version, redémarrez à partir du disque d'origine et exécutez la commande ci-dessous pour installer GRUB sur le nouveau disque

sudo grub-install /dev/dev/sdb

Retirez maintenant le disque source de votre ordinateur et démarrez le disque de destination. GRUB échouera à démarrer complètement et se retrouvera dans une coquille de récupération de GRUB:

# charger quelques modules GRUB nécessaires
insmod ext2 
insmod linux
# lister vos devices de disque
ls

Choisissez le bon périphérique (dans mon exemple c'est hd0,msdos1)

set root=(hd0,msdos1)

Trouvez le nom exact de vmlinuz-xxx et initrd-xxx pour configurer GRUB à utiliser

ls /boot/

Voyez et utilisez le nom approprié pour vmlinuz et initrd que vous avez obtenu avec ls ci-dessus et utilisez-les à la place de la version exemple que j'utilise ici

linux /boot/vmlinuz-2.6.32-5-amd64 root=/dev/sda single

Si /dev/sda est le périphérique sur lequel le disque sera le disque racine lors du prochain redémarrage de la machine avec seulement le disque de destination.

initrd /boot/initd.img-2.6.32-5-amd64
boot

Cela devrait avoir démarré la machine avec succès

Enfin, pour mettre à jour GRUB pour utiliser le nouvel UUID du disque afin de ne pas avoir à répéter cette procédure manuelle à chaque fois:

sudo update-grub

4voto

Rob Spieldenner Points 1179

"Pseudo-clonage" d'un disque dur plus grand vers un plus petit peut être accompli en utilisant Clonezilla. En effet, vous pouvez sauvegarder et restaurer les partitions du disque. Les étapes suivantes (développées pour le transfert HDD vers SSD) vous y mèneront :

  1. Le premier stratagème consiste à utiliser Gparted pour redimensionner les partitions sur le disque dur, en réduisant chaque partition afin de réduire la quantité d'espace inutilisé qu'elle contient. De toute évidence, les partitions doivent être dimensionnées de sorte que l'espace total requis pour toutes les partitions soit inférieur à la capacité du SSD.

  2. Ensuite, on exécute Clonezilla et on fait une copie des partitions individuelles du disque dur (en utilisant l'option saveparts), en les stockant temporairement sur un lecteur externe USB. Notez qu'il est nécessaire de sauvegarder les partitions (saveparts) plutôt que de faire une image de l'ensemble du disque (savedisk).

  3. Avec le SSD installé dans la machine cible, le deuxième stratagème consiste à utiliser une nouvelle fois le gestionnaire de partitions pour créer la structure de partition souhaitée sur le SSD.

  4. Clonezilla est alors utilisé pour restaurer les partitions sauvegardées (en utilisant restoreparts) sur le SSD.

Voir: "Clonage" d'un disque dur vers un SSD plus petit pour plus de discussions sur le processus et un certain nombre de liens vers des sources de référence.

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