Clona y graba discos duros en Linux con DD

Clona y graba discos duros en Linux con DD

Hace poco compré un disco duro SSD y para no perder toda la información de mi disco duro antiguo tenía que clonarlo exactamente igual en el nuevo. Como podréis imaginar, no es copiar y pegar archivos, así que utilicé el comando dd. Es posible hacer lo mismo con Clonezilla, pero prefiero un simple comando. [ecko_alert color="blue"]Nota: este comando se ejecuta como superusuario.[/ecko_alert]

Parámetros

Los parámetros más importantes son 3:
  • if: archivo de origen
  • of: archivo de destino
  • bs: límite de bytes que se leen y escriben cada momento, es decir, velocidad de grabado.
Por supuesto, podéis ver más opciones con el comando dd --help.

Ejemplo

Antes de comenzar, hay que saber qué discos duros o memorias USB hay conectadas al equipo. Para ello, ejecutamos el comando fdisk -l como superusuario. Suponiendo que el disco duro que queremos clonar está en /dev/sda y el disco duro de destino está en /dev/sdb, para realizar el clonado debemos ejecutar el siguiente comando:
sudo dd bs=1M if=/dev/sda of=/dev/sdb
Con la opción bs=1M estamos diciendo que la velocidad de lectura y escritura se realicen en bloques de 1 Megabyte. Cuanto más bajo, más lento y más seguro. Cuanto más alto más rápido, pero nos arriesgamos a que no se copie bien. Para crear una imagen ISO a partir de un CD se ejecutaría este comando:
sudo dd if=/dev/cdrom of=/home/usuario/imagendeldisco.iso
Para guardar una ISO en un DVD se intercambiarían origen y destino:
sudo dd if=/home/usuario/imagendeldisco.iso of=/dev/cdrom
El programa dd ofrece muchas posibilidades a la hora de trabajar con discos duros, memorias externas y CDs o DVDs. Yo lo utilizo mucho y la verdad es que es más cómodo que cualquier otro programa para grabar discos.  

Deja un comentario


5 comentarios


carles · Hace 1 año

flags o banderas; (# Info dd): -p - -preserve-timestamps Establece la hora del último acceso y la hora de modificación... -v - -verbose Imprimir el nombre de cada fichero antes de copiarlo. Unix es genial!

andres vidal · Hace 1 año

para grabar una imagen de windows en un dvd para que pueda ser booteable??

Tepúflipo F. · Hace 1 año

Un solo comentario, el parámetro bs afecta a la velocidad y es muy dependiente del canal de comunicación y del tipo de dispositivo, pero no afecta a la seguridad de la escritura. Hace tiempo tenía mucho que ver con el tamaño de los bloques físicos de los dispositivos, pero en la actualidad es menos importante, aunque es bueno encontrar el tamaño óptimo.

Alberto Castillo Gordon · Hace 1 año

Sería bueno que dejaras una advertencia también, como que el contenido del disco de destino es eliminado por completo y sobretodo tener cuidado de no equivocarse al seleccionar el destino. Es un comando bastante útil, casi imposible de desconocer si has creado USB booteables.

Mario Andres Zamora Madriz · Hace 1 año

Un problema es que no se puede ver el % de avance.....

Marcelo Cassino · Hace 1 año

Con el comando pv dentro de la sentencia del dd se ve el avance.

Tepúflipo F. · Hace 1 año

kill -s USR1 pid-del-dd