
Tengo un disco interno de 1 TB que tiene dos particiones de 1/2 TB, una para Windows y otra para Ubuntu 14.04 LTS. La estación se ha convertido principalmente en una estación Linux y ya nunca inicio Windows.
Quería crear una copia de seguridad de la imagen, así que usé DD para clonar la unidad interna en una unidad USB externa de 1 TB. Desafortunadamente, la unidad USB parece tener solo unos pocos Gigabytes menos que la unidad interna y DD terminó con el mensaje de error "No hay suficiente espacio en la unidad". Ahora estoy viendo algo extraño. Cuando expulsé la unidad USB y la volví a enchufar, veo dos particiones de 1/2 GB que parecen estar duplicadas. Tienen GUID idénticos y Nautilus muestra estructuras y contenido de directorios idénticos. Supongo que algo relacionado con la copia incompleta de una de las particiones ha dejado el disco externo roto.
¿Cómo puedo usar DD parasimplemente clona la partición de Linuxal disco externo? Eso es todo lo que realmente quiero.
Respuesta1
Como primero necesita obtener datos sobre su HDD, puede hacerlo escribiendo en la terminal:
sudo fdisk -l
Deberías obtener un resultado como este:
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.
Entonces digamos que /dev/sda3 es la unidad que desea clonar, entonces puede hacer:
dd bs=512 if=/dev/sda of=/dev/sdb1/partition.ddfile seek=230055936 count=$(expr 292968447 - 230055936)
Recuerde que aquí se muestran solo ejemplos que necesitaría para adaptarlos a su situación.
Respuesta2
Manera más fácil:
sudo fdisk -l
como dice Videonath. Localiza la partición que deseas clonardd bs=512 if=/dev/<partition-name> of=/<external-media-path>
p.ejdd bs=512 if=/dev/sda2 of=/dev/sdb1
Nota:
- dd requiere que el tamaño del objetivo sea mayor o igual al tamaño de la fuente
- La copia de seguridad creada de esta manera (nivel de partición) no sería arrancable
Respuesta3
Mientras preguntas dd
, ¿puedo recomendarte partclone
? Está hecho para clonar y restaurar una partición. Necesita ser consciente del sistema de archivos subyacente, la ventaja dd
es que copia solo elusadobloquea y ahorra mucho tiempo o espacio, ya que es raro que la parte no utilizada de una partición sea comprimible (basura de datos antiguos en lugar de ceros).
sudo partclone.ext4 -c -b -s /dev/sdaX -o /dev/sdbY
hará lo que quieras. -c
significa clonar, -b
de dispositivo a dispositivo, -s
es origen, -o
es destino. Además, como hiciste una clonación, los UUID de origen y destino son idénticos. Verifique esto con blkid
, utilícelo uuidgen
para generar un nuevo UUID y luego sudo tune2fs /dev/sdbY -U <uuidgen-generated new UUID>
cambiarlo.
Tener dos UUID idénticos en la misma máquina podría incluso ser la causa principal de los problemas que tuvo con el estado "roto" del dispositivo externo.
Antes de hacer esto, es necesario configurar el dispositivo de destino fdisk
para que la nueva partición no sea más pequeña que la antigua. Si es más grande, puede hacer crecer la partición clonada posteriormente hasta gparted
el nuevo tamaño máximo.