Manual dd

 

El comando dd (Dataset Definition), es una herramienta sencilla, útil, y sorprendente a la vez que desconocida. Esta herramienta fue creada a mediados de los 70 en principio para Unix, simplemente porque no existía. Pero al contrario que otras herramientas que desde su creación se han ido sofisticando, está se ha ido simplificando, hasta el punto de poder hacer lo mismo que buenos programas comerciales como Norton Ghost o libres como CloneZilla, con solo una pequeña linea de comandos.

Ni que decir tiene que toda la información de dd, la podéis consultar con el comando man dd e info dd , también dos grandes olvidados…

Al lio…

Lo primero siempre es tener claro el disco de origen y el de destino, algo que averiguamos fácilmente con el comando sudo fdisk -l

La sintaxis mas básica, seria esta:

sudo dd if="origen " of="destino"

Por lo que si quisiéramos clonar un disco duro:

con esto clonaríamos el disco hda en hdb. (discos IDE)

sudo dd if=/dev/hda of=/dev/hdb bs=1M

para discos SATA

sudo dd if=/dev/sda of=/dev/sdb bs=1M

 

Con bs=1M , estamos diciendo que tanto la lectura como la escritura se haga en bloques de 1 megabyte, (menos, seria mas lento pero mas seguro, y con mas nos arriesgamos a perder datos por el camino).
Hay que tener en cuenta que de esta forma grabaras el disco “tal cual”, MBR, tabla de particiones, espacio vacío, etc…, por lo que solo podrás grabar en un disco del mismo o mayor tamaño.

Vamos a ver algunos ejemplos prácticos y opciones de este comando:

Grabaríamos solo la primera partición del disco de origen en el de destino.

sudo dd if=/dev/hda1 of=/dev/hdb bs=1M

Grabaríamos el disco completo en la primera partición del disco de destino.

sudo dd if=/dev/hda of=/dev/hdb1 bs=1M

Crear una imagen del disco duro, puede ser bin o iso (a partir de ahora utilizaré nuestro home como ejemplo).

sudo dd if=/dev/hda of=/home/hda.bin

Crear una imagen del disco comprimida, (podemos utilizar gzip, bzip o bzip2.)

sudo dd if=/dev/hda | gzip > /home/hda.bin.gz

Crea una imagen de un CD

sudo dd if=/dev/cdrom of=/home/imagendeCD.iso

Para montar la imagen del CD

sudo mount -o loop imagedeCD.iso /mnt/home

Copiar el Master Boot Record (MBR)

sudo dd if=/dev/hda of=mbr count=1 bs=512

Para restaurar el MBR

sudo dd if=mbr of=/dev/hda

Copiar el Volume Boot Sector (VBS)

sudo dd if=/dev/hda of=/home/sector_arranque_hda count=1 bs=512

Para restaurar el VBS.

sudo dd if=/home/sector_arranque_hda of=/dev/hda

 

Algunas curiosidades:

Recuperar un DVD rayado (Esto no recupera todo el DVD, en este caso, solo los sectores legibles). Sirve también para discos duros defectuosos.

sudo dd if=/dev/cdrom of=/home/dvd_recuperado.iso conv=noerror,sync

La opción noerror, sirve para obviar los errores de lectura en cualquier situación. Otro ejemplo seria:

Grabaríamos una imagen del disco en nuestro home saltándonos los errores del disco (muy útil para discos que se están muriendo)

sudo dd conv=noerror if=/dev/hda of=~/home/imagen_disco_con_errores.iso

Limpia nuestro MBR y la tabla de particiones

sudo dd if=/dev/zero of=/dev/hda bs=512 count=1

Limpia el MBR pero no toca la tabla de particiones, ( muy útil para borrar el GRUB sin perder datos en las particiones)

sudo dd if=/dev/zero of=/dev/hda bs=446 count=1

Crea un archivo vacío de 1 Mb, una opción muy interesante como ahora veremos:

sudo dd if=/dev/zero of=archivo_nuevo_vacio bs=1024 count=1024

Acabamos de crear un archivo swap de 2Gb así de fácil

sudo dd if=/dev/zero of=/swapspace bs=4k count=2048M
mkswap /swapspace
swapon /swapspace

 

Al borde de la paranoia:

Convierte todas las letras en mayúsculas

sudo dd if=miarchivo of=miarchivo conv=ucase

Cambia en todo el disco, la palabra Puigcorbe por Slqh, ( puedes cambiar rápidamente tu nombre a todos los archivos del disco)

sudo dd if=/dev/sda | sed 's/Puigcorbe/Slqh/g' | dd of=/dev/sda

done Llena el disco con caracteres aleatorios cinco veces. No va a quedar ni rastro de información en el disco Razz

for n in {1..5}; do dd if=/dev/urandom of=/dev/hda bs=8b conv=notrunc;

Nota final: Utiliza este comando con precaución, y asegurate siempre del orden y nombre de tus discos, porque lo mismo que te clona un disco te lo borra en un plis.

 

 

Publicado por Luis Puente

Soy Luis Puente un consultor especialista HP Software con inquietudes en sistemas , hosting y desarrollo en WordPress

Únete a la conversación

2 comentarios

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *