[Trucos] Clonar / recuperar /guardar disco, MBR, partición, tabla de partición

24 junio, 2013

Sistemas

¿Cómo utilizar el comando DD?

El comando dd es una herramienta simple y muy potente. Se puede utilizar para copiar desde el origen al destino, bloque por bloque, independientemente de su tipo de sistema de archivos o sistemas operativos. Se puede usar tanto en entorno real como utilizando un LiveCD

 Atención: Se debe tener mucho cuidado cuando se utiliza este comando porque puede destruir los datos. Hay que recordar siempre que el orden es para entrada if= y para salida (of=). Hay que tener en cuenta y asegurarse que la partición de salida es igual o mas grande que la partición de entrada.

Ejemplo: Tenemos el disco Toshiba con dos particiones c: y d:. La entrada será if=/dev/sda1 – para la partición c: si el sistema reconoce el disco como sda. Y la salida será of=/<carpeta de destino>/<nombre archivo>.dd o .img, etc

 

 Clonar una partición del disco físico 1 (sda) a disco físico 2 (sdb)

Desde el disco físico 1 – sda al disco físico 2 sdb. Para clonar la primera partición del físico 1 (sda1) en la partición del disco físico 2 (sdb1) utilizamos el siguiente comando:

 dd if=/dev/sda1 of=/dev/sdb1 bs=4096 conv=notrunc,noerror

Si la partición del disco del disco 2 no existe entonces dd se iniciará en el principio del disco y creerá una nueva partición.

 Atención: Si existe una partición en el segundo disco (2) dd va destruyendo todos los datos cuando clonará la partición 1 del primer disco

 

Como clonar un disco entero

 Para clonar el disco físico 1 (sda) en el disco físico 2 (sdb) tenemos que tener en cuenta que por lo menos el disco físico 2 (sdb) tiene misma o mas capacidad que el disco físico 1 (sda)

 dd if=/dev/sda of=/dev/sdb bs=4096 conv=notrunc,noerror

Este comando clona todo el disco físico 1 incluyendo MBR (arranque de sistema), todas las particiones, UUIDs (Identificadores universalmente únicos) y los datos.

Paramentros

Notrunc (no truncar) – mantiene la integridad de los datos instruyendo a dd a no truncar los datos.

Noerror – permite seguir el proceso de clonación ignorando todos los tipos de errores en el disco físico 1 (sda)

Bs=4096 – establece el tamaño de bloque 4K, es el tamaño optimo para lectura / escritura del disco duro por lo tanto representa la velocidad de clonación

 Nota: Para recuperar el UUID, se recomienda utilizar tune2fs /dev/sdbX –U random” para cada partición. La X representa el numero de la partición. Ejemplo sdb1

 

Realizar copia de seguridad del MBR

 El MBR se aloja en los primeros 512 bytes del disco y consiste en 3 componentes:

  1. Los primeros 446 bytes contiene el cargador de arranque
  2. Los próximos 64 bytes contiene la tabla de particiones ( de 4 entradas de 16 bytes cada, una entrada por cada partición primaria)
  3. Los últimos 2 bytes contiene el identificador

Para realizar una copia del MBR en un archivo ejecutamos el siguiente comando:

   # dd if=/dev/hda of=/mnt/sda1/mbr.img bs=512 count=1

 count=numero 

 Copia un número de bloques del origen, en vez de procesar hasta el final. El tamaño del bloque es indicado por bs

 

 Restauración del MBR

   # dd if=/mnt/sda1/mbr.img of=/dev/hda

 Atención: la restauración del MBR va destruirá la tabla de particiones del disco por lo tanto el acceso a los datos. Recomendación utiliza TestDisk para restablecer la tabla de partición en caso de desastre.

Si necesitamos restaurar solo el arranque sin restaurar la tabla de particiones solo hay que restaurar los primeros 446 bytes del MBR:

   # dd if=/mnt/sda1/mbr.img of=/dev/hda bs=446 count=1

Para restaurar solo la tabla de particiones hay que utilizar el siguiente comando:

   # dd if=/mnt/sda1/mbr.img of=/dev/hda bs=1 skip=446 count=64

skip=N 

 Se saltea N bloques del origen antes realizar la operación de copiado. El tamaño del bloque es indicado por bs.

Para obtener el MBR de un imagen de disco utiliza el siguiente comando:

  #dd if=/path/to/disk.img of=/mnt/sda1/mbr.img bs=512 count=1

 

Como crear una imagen del disco duro

 

  • Arrancar el sistema desde un LiveCD or LiveUSB
  • Asegúrate que no hay ninguna partición montada
  • Monta el disco externo
  • Usa el siguiente comando para crear una imagen comprimida del disco duro

.

 # dd if=/dev/hda conv=sync,noerror bs=64K | gzip -c  > /mnt/sda1/hda.img.gz

 

  • Guarda la extra información acerca de la geometría del disco necesaria para interpretar la tabla de particiones almacenada dentro de la imagen. El más importante es el tamaño del cilindro.

# fdisk -l /dev/hda > /mnt/sda1/hda_fdisk.info

Nota: Es posible utilizar un tamaño de bloque (bs=) que es igual a la cantidad de cache en el disco duro que va a respaldar. Por ejemplo, bs=8192 trabaja para una caché de 8 Mb.

 

Restauración de sistema:

 

Para restaurar el sistema :

# gunzip -c /mnt/sda1/hda.img.gz | dd of=/dev/hda

 

 Utilizando cp

 El programa cp se puede utilizar en clonar un disco, una partición en un momento. La ventaja de utilizar el cp el tipo de sistema de archivos de la partición(es) de destino puede ser la misma o diferente que la fuente. Por seguridad se recomienda llevar a cabo este proceso desde un LiveCD y no en entorno real.

El procedimiento básico de creación de un clon de disco será:

  • Crear la partición(es) de destino utilizando fdisk, cfdisk o otra herramienta incluida en LiveCD
  • Crear el sistema de archivo para cada una de las particiones creadas. Ejemplo:

mkfs -t ext3 /dev/sdb1

  • Montar las particiones fuente y destinación. Ejemplo

mount -t ext3 /dev/sda1 /mnt/source

mount -t ext3 /dev/sdb1 /mnt/destination

  • Copiar los archives de la partición fuente a la partición de destino

cp -a /mnt/source/* /mnt/destination

 -a : conservar todos los atributos, no seguir enlaces simbólicos y copiar de forma recursiva

  •  Cambiar el punto de montaje de la partición clonada en /etc/fstab
  • Instalar el arranque de GRUB si es necesario

 

, , , ,

No comments yet.

Leave a Reply

Verificación Humana *