
Estoy actualizando el disco duro interno SATA de mi computadora portátil de una unidad de 40G a una de 160G. Tengo una computadora de escritorio Linux/Ubuntu que tiene una tarjeta SATA. De hecho, me gustaría hacer lo mismo con un par de cajas CentOS y FreeBSD en el trabajo, y parece que tendría la misma solución.
He oído que puedo usarDDpara reflejar la partición de 40G en la unidad de 160G, o que puedo guardar la partición de 40G como una imagen en mi sistema local y luego copiar esa imagen de 40G en la unidad de 160G.
¿Alguien puede describir cómo puedo hacer esto? ¿Necesito otras utilidades, comoseparado
Respuesta1
Normalmente sugeriría una solución como "conectar el segundo disco duro usando un gabinete externo, arrancar desde un CD de Linux y luego usar un comando como dd if=/dev/sda of=/dev/sdb bs=1G
, pero como quieres usar la misma técnica para trabajar, tengo lo que puede ser una mejor solución.
Todos mis servidores y computadoras portátiles obtienen imágenes en el trabajo usandoclonezilla. Hay dos formas de usarlo... una de las cuales utiliza un servidor dedicado y probablemente sea excesiva para usted, y otra que utiliza un CD de arranque y un disco duro externo.
La idea es que inicies con el CD de Clonezilla y tengas una unidad USB externa más grande (más grande que la unidad de origen). Clonezilla lo guía para crear una imagen de la unidad existente, después de lo cual apaga la máquina, reemplaza la unidad, luego reinicia en Clonezilla y lo guía para restaurar los datos.
Esto le brinda la oportunidad de A) colocar la imagen en una unidad más grande y B) conservar una copia de seguridad de los datos.
Respuesta2
Su primera tarea sería conectar ambos discos a un sistema Linux existente o conectar el nuevo disco al sistema original.
Usted debe sermuy¡Cuidado ya que es muy sencillo copiar el disco en blanco encima del disco bueno!
Para terminar con los sectores de arranque y todo, harías algo como:
dd if=/dev/hdx of=/dev/hdy
¿Dónde hdx
está su disco de 40G y hdy
su disco de 160G? Notarás que no hay números de partición como /dev/hdx1
. Esto copia todo el disco, la información de la partición y todo.
Su nuevo disco será igual que el disco antiguo, con 40G asignados. Debería iniciarse inmediatamente cuando se vuelva a colocar en su computadora portátil. ¿Espero que hayas usado LVM? De lo contrario, ¿espero no haber utilizado todas las particiones? Superar este punto requiere mucha más información.
Otra solución es volcar cada partición individual. Esto requiere mucha más conciencia de la situación, ya que deberá recrear la información de inicio.
Todo esto se utiliza mejor para clonar computadoras, no para actualizar discos duros. Es mucho mejor restaurar a una nueva instalación utilizando sus copias de seguridad.
Respuesta3
Mientras tupoderuse dd para copiar un disco como ese, hacerlo tiene varios inconvenientes:
- El destino debe ser exactamente del mismo tamaño o mayor que el origen.
- Después de copiar, deberá cambiar el tamaño de las particiones para utilizar cualquier espacio adicional.
- Perderás tiempo copiando espacio libre
- Se conserva cualquier fragmentación presente en el disco antiguo.
El uso de un programa de imágenes como Ghost4Linux, partclone o clonezilla al menos se encarga de los números 2 y 3. También puede simplemente formatear el nuevo disco, montarlo y copiar todos los archivos cp -ax
(como root) y luego reinstalar el gestor de arranque en la nueva unidad. Este método no adolece de ninguno de los inconvenientes anteriores.
Respuesta4
Preguntaste cómo hacerlo con dd, pero tuve más éxito al canalizar la salida devertederoenrestaurar. Dada la fuentead1s1ay el objetivoad2s1a:
$ mount /dev/ad2s1a /target
$ cd /target
$ dump -0Lauf - /dev/ad1s1a | restore -rf -
Probé esto en FreeBSD, de hecho lo encontré en elForo de FreeBSD