Usos para el comando dd

Clonar un disco

dd if=/dev/sda of=/dev/sdb

donde sda y sdb son discos de nuestro sistema if=input file of=output file

También podemos trasnferirlo por ssh a otro equipo con el comando

dd if=/dev/sda | ssh usuario@servidor "dd of=/dev/sdb"

Obtener una imagen de un disco

# dd if=/dev/hda of=~/hdadisk.img

Restaurar una imagen

dd if=hdadisk.img of=/dev/hdb

Backup de una partición

dd if=/dev/hda1 of=~/partition1.img

Pasar un iso a un pendrive

Primero ejecutamos

sudo fdisk -l

para ver donde está instalado el pendrive usb

Disco /dev/sdd: 16.8 GB, 16780361728 bytes
64 cabezas, 32 sectores/pista, 16003 cilindros, 32774144 sectores en total
Unidades = sectores de 1 * 512 = 512 bytes
Tamaño de sector (lógico / físico): 512 bytes / 512 bytes
Tamaño E/S (mínimo/óptimo): 512 bytes / 512 bytes
Identificador del disco: 0x00000000

Entonces ejecutamos

sudo dd if=kali-linux-1.0.6-amd64.iso of=/dev/sdd

donde if= indica el fichero origen e of indica el destino

Montar una imagen creada con dd

Supongamos que queremos clonar un disco en un fichero imagen y posteriormente montar esa imagen.

Lo primero será ver las características del cisco a clonar con el comando fdisk -l disco

<sxh> fdisk -l /dev/sda

Disco /dev/sda: 16.8 GB, 16780361728 bytes
64 cabezas, 32 sectores/pista, 16003 cilindros, 32774144 sectores en total
Unidades = sectores de 1 * 512 = 512 bytes
Tamaño de sector (lógico / físico): 512 bytes / 512 bytes
Tamaño E/S (mínimo/óptimo): 512 bytes / 512 bytes
Identificador del disco: 0x00000000

Para montar cada partición habría que calcular el offset de cada una , para ello se multiplica el valor del sector de inicio por el número de sectores de disco. Por ejemplo para sda1 que comienza en el sector 32 y los sectores de este disco son de 512 bytes… seria un offset de 16384 bytes

seria algo asi

Código: Seleccionar todo

mount -o loop,offset=16384 /donde_este_el_archivo_dd /punto de montaje

para sda2 que comienza en el sector 851968 y los sectores de este disco son de 512 bytes… seria un offset de 436207616 bytes

Código: Seleccionar todo

mount -o loop,offset=436207616 /donde_este_el_archivo_dd /punto de montaje2

para sda3 que comienza en el sector 32 y los sectores de este disco son de 512 bytes… seria un offset de 570425344 bytes

Código: Seleccionar todo

mount -o loop,offset=570425344 /donde_este_el_archivo_dd /punto de montaje3