LinuxParty
Lo primero siempre es tener claro el disco duro de origen y el de destino, algo que averiguamos fácilmente con el comando (como root) fdisk -l.
La sintaxis más básica, sería ésta [como root]: Haríamos esto... "duplicar disco, fichero entrada="orginen", fichero destino="destino"
dd if=[origen] of=[destino]
Por lo que si quisiéramos clonar un disco duro:
dd if=/dev/hda of=/dev/hdb bs=1M #con esto clonaríamos el disco hda en hdb. (discos IDE)
o
dd if=/dev/sda of=/dev/sdb bs=1M #para discos SATA
Con bs=1M, estamos diciendo que tanto la lectura como la escritura se haga en bloques de 1 megabyte (menos, sería más lento pero más seguro, y con más nos arriesgamos a perder datos por el camino).
Hay que tener en cuenta que de esta forma grabarás el disco “tal cual”, MBR, tabla de particiones, espacio vacío, etc., por lo que sólo 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 sólo la primera partición del disco de origen en el de destino.
dd if=/dev/hda1 of=/dev/hdb bs=1M
- Grabar el disco completo en la primera partición del disco de destino.
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) [como root]:
dd if=/dev/hda of=/home/hda.bin
- Crear una imagen del disco comprimida, (podemos utilizar gzip, bzip o bzip2.)
dd if=/dev/hda | gzip > /home/hda.bin.gz
- Crea una imagen de un CD:
dd if=/dev/cdrom of=/home/imagendeCD.iso
- Para montar la imagen del CD:
mount -o loop imagedeCD.iso /mnt/home
- Copiar el Master Boot Record:
dd if=/dev/hda of=mbr count=1 bs=512
- Para restaurar el MBR (previamente copiada):
dd if=mbr of=/dev/hda
- Copiar el Volume Boot Sector (VBS):
dd if=/dev/hda of=/home/sector_arranque_hda count=1 bs=512
- Para restaurar el VBS (previamente copiado):
dd if=/home/sector_arranque_hda of=/dev/hda
- Recuperar un DVD rayado:
dd if=/dev/cdrom of=/home/dvd_recuperado.iso conv=noerror,sync
Esto no recupera todo el DVD, en este caso, sólo los sectores legibles.
También funcionará para discos duros defectuosos. La opción noerror sirve para obviar los errores de lectura en cualquier situación. Otro ejemplo sería:
dd conv=noerror if=/dev/hda of=~/home/imagen_disco_con_errores.iso
Grabaríamos con ello una imagen del disco duro en nuestro home saltándonos los errores del disco (muy útil para discos que se están muriendo).
- Limpiar nuestro MBR y la tabla de particiones (CUIDADO CON HACER ESTO):
dd if=/dev/zero of=/dev/hda bs=512 count=1
- Limpia el MBR pero no tocar la tabla de particiones (muy útil para borrar el GRUB sin perder datos en las particiones):
dd if=/dev/zero of=/dev/hda bs=446 count=1
(*) Nota final: utiliza este comando con precaución, y asegúrate siempre del orden y nombre de tus discos duros, porque lo mismo que te clona un disco te lo borra ‘en un plis’.
Tutorial realizado por Elías Hidalgo para Linux Zone
-
Linux
- Renombrar multiples archivos masivamente en Linux (quitar espacios, cambiar mayúsculas) a la vez en Linux
- Linux 6.9 será el primero en superar los 10 millones de objetos Git
- Zorin OS 17.1 lanzado con soporte mejorado para aplicaciones de Windows, edición educativa
- Linux en el Escritorio: ¡Despega en 2024 con un 4% de Cuota!"
- ¿Estás pensando en cambiarte a Linux? 10 cosas que necesitas saber
- Hay una nueva distribución de Linux más genial para 2024
- rlxOS es una distribución de Linux inmutable que demuestra que las apariencias engañan
- Ultramarine Linux Flagship es candidato a escritorio del año
- Linus Torvalds analiza los mantenedores, la IA y el óxido en el kernel
- Cómo instalar y habilitar el completado automático de Bash Linux
- ¿Y si Linus Torvalds hubiera aceptado la oferta de Steve Jobs?
- Optimizar imágenes desde la Terminal Linux
- ¿Quiere una distribución de Linux sencilla, estable y segura? Entonces SpiralLinux es para ti
- Pruebas de rendimiento en servidores VPS, ordenadores de Escritorio o Servidores Linux
- Las 8 mejores distribuciones ligeras de Linux para ordenadores antiguos