Clonando discosduros
De ICEnetX Docs
Tabla de contenidos |
Clonando discos y particiones
Podemos hacer copias de una partición completa o de todo el disco duro, esto es útil para respaldar o para mover un entorno a otro, se puede hacer un live cd o desde un entorno instalado, la única condición es que la partición que queremos clonar no este montada.
Para estas tareas utilizaremos el comando "dd" (duplicate disk),es un comando bastante útil para transferir datos desde un dispositivo/archivo hacia un dispositivo/archivo/etc. Los parámetros requeridos son if (input file) y of (output file).
dd if=origen of=destino
Respaldando el MBR
dd if=/dev/hda of=mbr.backup bs=512 count=1
Para restaurarlo
dd if=mbr.backup of=/dev/hda bs=512 count=1
Para borrarlo
dd if=/dev/zero of=/dev/hda bs=512 count=1
bs=512 se utiliza ya que estamos volcando los primeros 512 bytes del principio del disco duro, es muy importante notar que no estamos especificando ninguna partición en /dev/hda simplemente nos estamos refiriendo al disco completo.
Copiar una partición o un disco completo
Para copiar una sola partición hacia un archivo usaremos
dd if=/dev/hda1 of=datos.iso
Para restaurarla
dd if=data.iso of=/dev/hda1
También es posible hacer una copia entera del disco, en lugar de hacerlo por particiones, para crearla:
dd if=/dev/hda of=todo.iso
Para restablecerla:
dd if=todo.iso of=/dev/hda
Manejo de errores
Podemos poner después de dd el parámetro conv=noerror, esto hace que la copia siga aun cuando se detecten errores.
Haciendo imágenes ISO de un CD
La forma mas fácil y efectiva de crear nuestras "imágenes" de CD es la siguiente:
dd if=/dev/cdrom of=micd.iso
Clonando en vivo
El comando dd también sirve para copiar particiones o discos completos unos sobre otros. Básicamente podemos decir que mediante dd podemos "clonar" particiones o nuestro disco rígido completo. Para hacer esto hace lo siguiente:
dd if=/hda1 of=/hdb1 (copia una partición en otra) dd if=/hda of=/hdb (copia de un disco duro en otro)
Comprimiendo las copias al vuelo
No hay que olvidar que el tamaño de la imagen resultante sera exactamente el mismo que el del dispositivo original. Es decir: dd te guarda también el espacio no utilizado por lo que debemos redirigir la salida con una tubería (pipe) y comprimirla con gzip, bzip o bzip2:
dd if=/dev/hda | gzip > todo.iso.gz
Montando una imagen dentro de un filesystem
Podemos montar una imagen iso y trabajar directamente sobre ella haciéndola formar parte de nuestro sistema de archivos, muy útil para modificar la imagen
mount -o loop imagen.iso /media/iso/
