(→Enlaces externos) |
(erratas) |
||
| Línea 1: | Línea 1: | ||
| − | En determinadas ocasiones es necesario copiar nuestro disco duro en otro del mismo tamaño o | + | En determinadas ocasiones es necesario copiar nuestro disco duro en otro del mismo tamaño o más grande. Esto nos puede ser útil en el caso de que queramos cambiar nuestro disco duro y no queramos reinstalar todo nuestro sistema desde cero, además de ser una herramienta muy útil para realizar instalaciones en masa. |
El software privativo y los fabricantes de hardware ofrecen soluciones comerciales para hacer esta operación, pero en GNU/Linux la opción más cómoda es hacer uso del comando de consola '''dd'''. | El software privativo y los fabricantes de hardware ofrecen soluciones comerciales para hacer esta operación, pero en GNU/Linux la opción más cómoda es hacer uso del comando de consola '''dd'''. | ||
| Línea 6: | Línea 6: | ||
| − | == Clonar nuestro disco en un | + | == Clonar nuestro disco en un solo paso == |
| − | Suponiendo que el disco a clonar (origen) sea '''/dev/hda''' y el disco donde va a ser clonado (destino) sea '''/dev/hdb''', deberíamos abrir una consola y | + | Suponiendo que el disco a clonar (origen) sea '''/dev/hda''' y el disco donde va a ser clonado (destino) sea '''/dev/hdb''', deberíamos abrir una consola y escribir la siguiente línea: |
sudo dd if=/dev/hda of=/dev/hdb bs=1M | sudo dd if=/dev/hda of=/dev/hdb bs=1M | ||
En determinadas ocasiones es necesario copiar nuestro disco duro en otro del mismo tamaño o más grande. Esto nos puede ser útil en el caso de que queramos cambiar nuestro disco duro y no queramos reinstalar todo nuestro sistema desde cero, además de ser una herramienta muy útil para realizar instalaciones en masa.
El software privativo y los fabricantes de hardware ofrecen soluciones comerciales para hacer esta operación, pero en GNU/Linux la opción más cómoda es hacer uso del comando de consola dd.
Esta herramienta está ya preinstalada en el sistema y en realidad está destinada a la copia de ficheros, pero dado que en los sistemas basados en UNIX todo es un fichero, esto nos permite realizar copias exactas de dispositivos entre otras cosas.
Contenido |
Suponiendo que el disco a clonar (origen) sea /dev/hda y el disco donde va a ser clonado (destino) sea /dev/hdb, deberíamos abrir una consola y escribir la siguiente línea:
sudo dd if=/dev/hda of=/dev/hdb bs=1M
Desglosando esta orden tenemos:
En caso de que alguno de los discos sea SATA en lugar de IDE, será referenciado como /dev/sd(x) (siendo x una "a", una "b" u otra letra según el canal donde esté conectado el disco).
El final del proceso se debe mostrar aproximadamente de la siguiente forma a través de la consola:
nombredeusuario@nombredeequipo:~$ sudo dd if=/dev/hda of=/dev/hdb bs=1M [sudo] password for nombredeusuario: 77853+1 registros de entrada 77853+1 registros de salida 81964312612 bytes (82GB) copiados, 6740,82 segundos, 12,0 MB/s nombredeusuario@nombredeequipo:~$
En este ejemplo se copió un disco de 80 GB IDE en otro IDE de 120 GB en 1 hora 52 minutos 20 segundos y 82 décimas de segundos. Este tiempo puede variar en función de si se está trabajando mucho con la máquina y del tamaño que le asignemos al parámetro "bs". A mayor tamaño, más velocidad, pero más sobrecarga para el sistema.
Si hemos clonado un disco IDE en uno SATA (o viceversa) y éste era con el que arrancábamos el sistema (el disco que alberga "/") es aconsejable asegurarse que nuestro fstab contemple esto para que no haya problemas en el arranque.
Actualmente fstab funciona con UUID (Universal Unique Identifier o Identificador Único Universal) en lugar de emplear el antiguo sistema de referencias tipo /dev/hd(x) o /dev/sd(x). Esto nos ahorra este tipo de problemas. Si nuestro fstab referenciara las particiones mediante el antiguo sistema tendríamos que hacer las correcciones pertinentes.
Es por eso que lo ideal es comprobar esto antes de realizar el cambio definitivo de disco.
El comando dd nos permite hacer muchas otras cosas además de clonar un disco, como por ejemplo:
dd if=/dev/hda1 of=/home/hda1.bin
dd if=/dev/hda1 | gzip > /home/hda1.bin.gz
dd if=/dev/hda of=mbr count=1 bs=512
dd if=mbr of=/dev/hda
dd if=/dev/hda2 of=/sector_arranque_hda2 count=1 bs=512
dd if=sector_arranque_hda2 of=/dev/hda2
dd if=/dev/cdrom of=/tmp/dvd_recuperado.iso conv=noerror,sync
dd if=/dev/hda1 of=partitionimage.dd
hará una copia de seguridad de "/dev/hda1", la primera partición en hda1. Se puede hacer una copia de seguridad de un conjunto de disco (incluido el MBR) poniendo como entrada de "archivo" /dev/hda. La restauración se hace con el comando:
dd if=partitionimage.dd of=/dev/hda1
Entre otras opciones. La potencia que ofrece trabajar en consola le permite trabajar combinado con otros comandos a través de tuberías, etc.