# Clonación de discos

La clonación de discos es el proceso de copiar los contenidos de un disco duro de una computadora a otro disco o a un archivo imagen. A menudo, los contenidos del primer disco se escriben en un archivo imagen como un paso intermedio y, un paso posterior, el disco de destino es cargado con el contenido de la imagen. El procedimiento también es útil para cambiar a un disco diferente o para restaurar el disco a un estado previo.

## Historia

Antes de Windows 95, algunos fabricantes de computadoras usaban máquinas copiadoras de disco (hardware) para copiar programas. Esto tenía el inconveniente de copiar no solamente los datos usados en el disco, sino también sectores no usados ya que las máquinas (hardware) no eran conscientes de las estructuras de los discos. Un disco más grande no podía ser copiado a uno más pequeño y copiar uno más pequeño a uno más grande dejaba espacio no usado ni usable en el disco nuevo. Ambos discos requerían idénticas geometrías.
Otros fabricantes y compañías particionaban y formateaban los discos manualmente, luego utilizaban programas de copias de archivos o de archivado, tales como tar o zip para copiar los archivos. No es suficiente con copiar simplemente todos los archivos de un disco a otro, porque hay ciertos archivos de arranque o pistas de arranque que deben ser específicamente ubicados para que un sistema operativo funcione, de manera que se requerían pasos manuales adicionales.
En Windows 95 se agravaban los problemas porque era más grande que los sistemas operativos previos y por lo tanto llevaba más tiempo instalarlo. Los nombres largos de los archivos que se agregaron al sistema de archivos FAT por Microsoft en Windows 95 no estaban soportados por la mayoría de los programas de copia y la introducción del sistema de archivos FAT32 en 1997 y causó problemas a otros. El crecimiento del mercado de las computadoras personales en ese momento, también hizo deseable una solución más eficiente.
En 1996 la empresa Binary Research presentó el programa Ghost.Inicialmente soportaba directamente solo archivos del sistema FAT, pero podía copiar (aunque no readecuar a otro tamaño) otros sistemas de archivos mediante una copia sectorial de los mismos. Un poco más tarde, ese año, Ghost agregó soporte para el sistema de archivos NTFS y también proveyó un programa para cambiar el Security Identifier (SID) que hacía que los sistemas NT de Windows se distinguieran entre sí. En 1999 se agregó soporte para el sistema de archivos ext2.
Pronto surgieron competidores de Ghost y se originó una guerra de características que aún subsiste en estos días. Muchos programas clonadores de discos ahora ofrecen características que van más allá de un simple clonado del disco, tales como administración de activos y movilidad en la configuración del usuario.
En computadoras basadas en el sistema UNIX, el programa dd fue más habitual debido a la falta de soporte para los sistemas de archivos en Ghost.

## Usos

Hay una serie de situaciones adecuadas para el uso de programas de clonación de disco. Entre ellas:
* Reinicio y restauración – Es una técnica por la cual el disco de la computadora es automáticamente limpiado y restaurado desde una imagen maestra “limpia” que debería de estar en condiciones de trabajo plenas y debería de haber sido limpiada de virus. Esto se usa en ciertos cibercafés y en ciertos institutos educacionales y de entrenamiento y sirve para asegurarse de que aunque un usuario desconfigure algo, se baje programas o contenidos inapropiados, o infecte a la computadora con un virus, esta será restaurada a un estado limpio y de trabajo pleno. El proceso de reinicio y restauración puede efectuarse en forma irregular, cuando la computadora muestra señales de disfunción, o con una frecuencia preestablecida (por ejemplo, todas las noches) o aún en algunos casos, cada vez que un usuario apaga el equipo. Este último método aunque es el más seguro, reduce el tiempo de utilización del equipo.
* Equipamiento de nuevas computadoras – Equipar con un conjunto de programas estándar, de manera que el usuario está en condiciones de utilizarlo sin tener que perder tiempo en instalar individualmente cada uno de ellos. Esto lo hacen a menudo los OEM y las grandes compañías.
* Actualización del disco duro – Un usuario individual puede utilizar la copia del disco (clonación) para pasar a un nuevo disco duro, a veces incluso de mayor capacidad.
* Copia de seguridad de todo el sistema – Un usuario puede crear una copia de seguridad completa de su sistema operativo y de los programas instalados.
* Recuperación del sistema – Un OEM puede tener un medio para restaurar a una computadora a la configuración original de programas de fábrica.
* Transferencia a otro usuario – Un sistema vendido o cedido a otra persona puede ser reacondicionado por la carga de una imagen conocida, previamente seleccionada que no contiene información ni archivos personales.

## Cómo funciona

Nota: Este artículo es específico para la clonación en la plataforma x86; hay detalles específicos que pueden no ser aplicables a otras plataformas.
Para disponer del disco duro de una computadora sin utilizar un programa de clonado de disco se requieren cumplir con los siguientes pasos para cada computadora:
* Crear una o más particiones en el disco.
* Formatear cada partición para crear un sistema de archivos en cada una de ellas
* Instalar el sistema operativo
* Instalar los controladores de los distintos dispositivos que constituyen el hardware
* Instalar las aplicaciones informáticas
Con la clonación del disco, esto queda simplificado a:
* Instalar la primera computadora tal y como se describe más arriba
* Crear una imagen del disco duro (opcional)
* Clonar el primer disco, o su imagen, a las restantes computadoras
Esto puede ser conocido simplemente como disco de recuperación.

## Operaciones post-clonación

Se dice que no se permite que dos máquinas con idénticos nombres estén en una misma red, y para Windows NT y sus sucesores, que no se permite que dos máquinas con idénticos IDs (SIDs, aka Security Identifier) estén en el mismo dominio de Active Directory. Un programa clonador debería de permitir el cambio de estos durante la copia del disco o la restauración de la imagen. Algunos sistemas operativos no están preparados para cambios en el hardware, de manera que un clon de Windows XP, por ejemplo, puede poner trabas a ser arrancado en una máquina con una diferente placa madre, tarjeta gráfica o tarjeta de red, especialmente si se utilizan controladores no genéricos. La solución de Microsoft para esto es Sysprep, un programa que ejecuta exploraciones de detección de hardware y provee de un SID y de un nombre fresco a la computadora cuando la máquina arranca. Microsoft aconseja que Sysprep sea ejecutado en todas las máquinas antes de clonar en lugar de permitir que programas de terceros las configuren. Similarmente, los sistemas Linux simplemente requieren que los módulos de kernel necesarios estén disponibles (o compilados directamente en el kernel), con el objeto de soportar nuevo hardware cuando la máquina arranque. Sin embargo, hay maneras de ayudar a que las imágenes para clonar con Windows sean más portables. Un ejemplo de esto sería un producto llamado Universal Imaging Utility de Binary Research (desarrolladores originarios de Ghost de Symantec) que incorpora un gran número de dispositivos controladores de hardware a la rutina del Sysprep.
En realidad, el problema con dobles SIDs en un Grupo de Trabajo de computadoras utilizando Windows NT/2K/XP sólo está vinculado a diferentes cuentas de usuario utilizando el mismo SID. Esto podría llevar a inesperados accesos a archivos compartidos o a archivos guardados en un dispositivo de almacenaje móvil: Si un archivo dispone de alguna ACLs (Access control Lists), los permisos reales pueden ser asociados con el SID de un usuario. Si este SID del usuario está duplicado o clonado en una computadora (porque el SID de la computadora es duplicado y porque los SIDs del usuario son construidos basados en el SID de la computadora + un número secuencial) un usuario de una segunda computadora (clonada de la primera) podría tener acceso a los archivos que el usuario de la primera había protegido.
En cuanto a “Domain SID”, el SID del dominio es recalculado cada vez que una computadora entra en el dominio. De esta manera, todas las “operaciones post-clonación” que estén basadas en “abandone el dominio y luego reingrese en el dominio” realmente causarán una recreación del Domains SID para la computadora que se agrega al dominio.
En otras palabras, los SIDs duplicados, usualmente no son un problema con los sistemas de Microsoft Windows.
En los sistemas operativos de Microsoft hay archivos (llamados BOOTSECT.*) que son copias del Boot Partition Block (BPB) usados por sistemas operativos alternativos que Microsoft Windows Loader (NTLDR) puede cargar. Los archivos BOOTSECT.* pueden necesitar ser alterados si los tamaños de las particiones o si las disposiciones se cambian durante el clonado.
Los sistemas Linux usualmente se inician usando los arrancadores LILO o GRUB. Estos contienen listas de sectores de disco absolutos en su Master Boot Récord que deben ser alterados por el programa de clonación ya que los archivos a los que se refieren usualmente no están en la misma ubicación del disco de destino. Por ejemplo, si el código apunta al sistema que está en un disco en el canal 0 y el sistema está en la segunda partición, la computadora destino necesitará tener la misma configuración.

## Ambiente operacional

Un programa de clonación de disco requiere ser capaz de leer aún archivos protegidos de sistemas operativos del disco fuente. También debe ser capaz de sobrescribir cualquier sistema operativo que ya esté presente en el disco de destino. Para simplificar estas tareas, la mayoría de los programas de clonación de disco pueden correr bajo un sistema operativo distinto del sistema operativo nativo de la computadora anfitriona, por ejemplo, MS-DOS o un equivalente tales como PC-DOS o DR-DOS, o Linux. La computadora es arrancada desde este sistema operativo, se carga el programa clonador y este copia el sistema de archivos Windows. Muchos programas (por ejemplo, Acronis True Image) pueden clonar un disco o hacer una imagen desde Windows, con una especial previsión para copiar archivos abiertos; pero bajo Windows no puede restaurarse una imagen a Windows System Drive.
Un programa clonador de disco corriendo bajo un sistema operativo no Windows debe tener controladores de dispositivos o sus equivalente para todos los dispositivos que use. Los fabricantes de ciertos dispositivos no brindan controladores adecuados, de manera que los fabricantes de programas de clonación de disco deben escribir sus propios controladores, o incluir de alguna otra manera acceso funcional a los dispositivos. Esto se aplica a controladores de cinta, lectores y grabadores de CD y DVD, controladores de USB y FireWire. Los programas clonadores contienen sus propias familias de protocolos de Internet para cuando es necesario efectuar una transferencia de datos por multidifusión.

## Transferencia de imagen

La forma más simple de clonar un disco es tener ambos discos (fuente y destino) en la misma máquina, pero esto no siempre es posible. Los programas de clonado de disco pueden vincular dos computadoras por un cable paralelo, o guardar y cargar imágenes a un sistema de almacenaje externo mediante cable USB o transferir la información al sistema de almacenaje de una red. Debido a que las imágenes del disco tienden a ser muy grandes (usualmente un mínimo de varios cientos de MB), efectuar varios clones al mismo tiempo puede forzar excesivamente una red. La solución es usar tecnología de multidifusión. Esto permite que una simple imagen sea enviada simultáneamente a varias máquinas sin forzar más a la red que lo que se la fuerza cuando se envía una sola imagen a una sola máquina.
Alguno de los programas de clonado que pueden ayudar son:
* UltimateBootCD
* SystemRescueCD
* CD LinuxLive
* MBR Backup
* True Image

## Manipulación de la imagen

Pese a que los programas de clonación no son primariamente programas de copias de seguridad, a veces se los usa para eso. Una característica fundamental en un programa de copias de seguridad es permitir la restauración de archivos individuales sin tener que restaurar toda la copia de seguridad. Los programas de clonación de disco o proveen un programa del tipo Explorador de Windows que permite navegar los archivos imágenes y extraer archivos individuales de ellos, o permiten que un archivo imagen quede montado como un archivo del sistema de solo lectura dentro del Explorador de Windows.
Algunos de estos programas clonadores permiten la eliminación de archivos imágenes y el agregado de archivos nuevos.