web-dev-qa-db-fra.com

Utilisez DD pour cloner uniquement une partition Linux sur un lecteur USB externe?

J'ai un lecteur interne 1 TB avec deux partitions 1/2 TB, une pour Windows et l'autre pour Ubuntu 14.04 LTS. La station est devenue principalement une station Linux et je ne démarre plus sous Windows.

Je voulais créer une sauvegarde d'image. J'ai donc utilisé DD pour cloner le lecteur interne sur un lecteur USB externe 1 TB. Malheureusement, le lecteur USB ne semble avoir que quelques gigaoctets de moins que le lecteur interne et DD se termine par un message d'erreur "Espace insuffisant sur le lecteur". Maintenant, je vois quelque chose d'étrange. Lorsque j'ai éjecté le lecteur USB et que je l'ai rebranché, je vois deux partitions de 1/2 Go qui semblent être des doublons. Ils ont des GUID identiques et Nautilus affiche des structures de répertoires et un contenu identiques. J'imagine que quelque chose à propos de la copie incomplète de l'une des partitions a laissé le lecteur externe dans un état défectueux.

Comment utiliser DD pour il suffit de cloner la partition Linux sur le lecteur externe? C'est tout ce que je veux vraiment.

1
Robert Oschler

Comme vous devez d’abord trouver des données sur votre disque dur, vous pouvez le faire en tapant dans le terminal:

Sudo fdisk -l

Vous devriez obtenir un résultat comme celui-ci:

Disk /dev/sda: 149,1 GiB, 160041885696 bytes, 312581808 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x06bd4abe

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         2048 230055935 230053888 109,7G 83 Linux
/dev/sda2       292970494 312580095  19609602   9,4G  5 Extended
/dev/sda3       230055936 292968447  62912512    30G 83 Linux
/dev/sda5       292970496 312580095  19609600   9,4G 82 Linux swap / Solaris

Partition table entries are not in disk order.

Disons que/dev/sda3 est le lecteur que vous voulez cloner, alors vous pouvez faire:

dd bs=512 if=/dev/sda of=/dev/sdb1/partition.ddfile seek=230055936 count=$(expr 292968447 - 230055936)

Rappelez-vous qu’ici ne sont que des exemples dont vous auriez besoin pour s’adapter à votre situation.

2
Videonauth

Manière plus facile:

  1. Sudo fdisk -l comme l'a dit Videonath. Localisez la partition que vous souhaitez cloner
  2. dd bs=512 if=/dev/<partition-name> of=/<external-media-path>

par exemple .dd bs=512 if=/dev/sda2 of=/dev/sdb1

Remarque:

  • dd nécessite que la taille de la cible soit plus grande ou égale à la taille de la source
  • La sauvegarde créée de cette façon (niveau de la partition) ne serait pas amorçable
1
Anonymint

Pendant que vous posez des questions sur dd, puis-je vous recommander partclone? Il est fait pour cloner et restaurer une partition. Il doit être conscient du système de fichiers sous-jacent. L'avantage par rapport à dd est qu'il ne copie que les blocs tilisé et permet d'économiser beaucoup de temps ou d'espace, car il est rare que la partie inutilisée de une partition est compressible (vieux déchet de données au lieu de zéros).

Sudo partclone.ext4 -c -b -s /dev/sdaX -o /dev/sdbY 

fera ce que vous voulez. -c signifie clone, -b pour périphérique à périphérique, -s est la source, -o est la cible. De plus, puisque vous avez créé un clone, les UUID de la source et de la cible sont identiques. Cochez cette option avec blkid, utilisez uuidgen pour générer un nouvel UUID, puis Sudo tune2fs /dev/sdbY -U <uuidgen-generated new UUID> pour le modifier.

Avoir deux UUID identiques sur le même ordinateur pourrait même être la cause fondamentale des problèmes que vous avez rencontrés avec l'état "cassé" du périphérique externe.

Avant de faire cela, le périphérique cible doit être configuré avec fdisk afin que la nouvelle partition ne soit pas plus petite que l'ancienne. Si elle est plus grande, vous pouvez ensuite agrandir la partition clonée avec gparted à la nouvelle taille maximale.

1
emk2203