Mover instalación de Linux a otro disco

Rachmaninov

Lanero Reconocido
21 Mar 2007
1,101
Comunidad, reciban cordial saludo.

Quisiera mover una instalación de Ubuntu de un disco a otro. Es un montón de información y por lo tanto antes de ponerme en acción quería escuchar alguna sugerencia o corrección para hacer lo más precisa posible la operación, a modo de evitar repetir comandos de copia que pueden tardar horas. Dicho de otro modo, algo como copiar la información con una tanda de comandos, reiniciar la máquina y ¡PUM! arrancó y quedó con los usuarios, permisos, configuraciones y todo lo demás idéntico a como estaba antes (ahora con más espacio en otro disco). La situación es la siguiente:

Tengo SO Ubuntu instalado en un disco de 80GB, particionado de la siguiente forma:

P1. ~ 20GB -> /
P2. ~ 2GB -> swap
P3. ~ 53GB -> /home

Quiero pasar este sistema tal cual a otro disco de 120GB particionado de similar forma, pero con más espacio asignado a las particiones homólogas:

P1. ~ 30GB -> /
P2. ~ 2GB -> swap
P3. ~ 88GB -> /home

Reinstalar no es opción, es un sistema con instalación de base de datos, ldap y un montón de configuraciones que me tomaría más de una semana arreglar (eso dándole con juicio muchas horas).

Será que la siguiente "acrobacia", digo, secuencia de comandos me funcionaría, desde luego si se puede una mejor forma bienvenida sea:

# Asumiendo:
# 1. Particiones realizadas en el nuevo disco
# 2. Particiones 1, 2 y 3 montadas respectivamente en:
# - /media/disco_p1
# - /media/disco_p2
# - /media/disco_p3

#
# Copiar todos los directorios ubicados en la raíz, excepto /media y /home
# a la partición número 1 del otro disco.Excluyo /media porque sabemos se traería
# una mano de datos y podría además incurrir en una copia recursiva; también se
# excluye /home porque dicha información va para otra partición.
#
ls / -Q1 | egrep -v "(media|home)" | xargs -I '{}' cp -Rv '{}' /media/disco_p1

# Copiar /home entre las particiones de los discos
cp -Rv /home /media/disco_p3

De la partición swap no hay nada que copiar, así que la he ignorado. 2da partición.

Teniendo el disco con la información "clonada", tendría que hacer las siguientes modificaciones en el clon:

1. Actualizar el /etc/fstab con los UUID correspondientes a los nuevos discos. vol_id -u /dev/sd??...

2. Modificar /boot/grub/menu.lst colocar el correspondiente hd0,hd1 según corresponda el slot en que esté ubicado el disco para el adecuado inicio. Reinstalar GRUB.

De antemano un millón de gracias cualquier ayuda.
 
creo que pueden haber varias formas, desde usar dd, hasta usar un clonador de disco (algo comercial como ghost o algo libre como partimage). http://www.partimage.org/Main_Page

o un simple cp -dpR /mount/A/* /mount/B, montando previamente las particiones que desea clonar.

Suerte, y nos cuenta como le fue....,


Pd. Ghost no funciona bajo linux, partimage si y es libre.
 
Gracias por la información, pero ahora me generó varias dudas.

  • El comando "dd" creo que tendría dificultades para lo de mantener los permisos intáctos, además los enlaces. Asumiendo su sugerencia, parece que estaba equivocado.
  • No sabía que existía una versión de Ghost de Symantec para Linux, interesante. Investigaré al respecto. De todos modos es comercial y sabiendo que existen métodos gratuitos de hacerlo me hacen desistir.

Ese "cp" que mandó me creo inquietud y encontré uno bueno por ahí navegando: "cp -xa" casi equivalente al que me sugiere.

Gracias.
 
El ghost de symantec no creo que corra en linux, sino sobre DOS.. y pues como es un clonador bite x bite no lee particiones ni el tipo de informacion.. solo copia lo que lee en el disco ]A al B sin interpretarlo.

Lo unico es que si lo hace clonara las particiones exactas a como las tienes.. osea con el mismo tamaño dejando el resto del disco libre.

De todos modos una ves la info este en el otro disco puedes modificar las particiones para agrandarlas.
 
¡Linux es una Madre!

Me van a perdonar la mala palabra, pocas veces las uso, pero: ¡Linux es una P_utería! ¡qué madre de sistema operativo! ... les digo que he hecho una copia de archivos, modifiqué dos archivos y reinstalé el GRUB y esa vaina arrancó como si no hubiera pasado nada, todo funcionando, cagao de la risa el verraco.

Básicamente les resumo lo que se hizo:

  1. Inicié el sistema con el LiveCD (Qué mamera esa interfaz gráfica, ojalá encuentre una forma de iniciar con sólo línea de comandos).
  2. Cree las particiones en el nuevo disco y cree los filesystems (dos reiserfs y un swap).
  3. Monté las particiones de los dos discos así: /media/old_root, /media/old_home, /media/new_root, /media/new_home.
  4. Ejecuté la copia del sistema así de sencillo (el que no me crea es comprensible, es que es muy fácil):
    Código:
    cp -xa /media/old_root/* / /media/new_root
    cp -xa /media/old_home/* /media/new_home
  5. Modifiqué el primer archivo: /etc/fstab de modo que apuntaran / y /home al nuevo disco. Busqué los respectivos UUID usando vol_id -u /dev/sdXX.
  6. Modifiqué el segundo archivo: /boot/grub/menu.lst cambiando también el UUID al correspondiente nuevo disco y el "hd" con la posición del disco.
  7. Actualicé el GRUB:
    Código:
    sudo grub
    root (hd1)
    setup (hd0)

No funcionó de una, no no ... imposible, no todo es felicidad. Sacó un error 15 el GRUB, pero me acordé que a veces en mi board como que se queda algo pegado algún caché cuando cambio de boot loader, pero como ya conozco el Ferrari toco apagar la máquina, arrancar y ¡corra ese Ubuntu! ...

Básicamente la demora fue copiar esa mano de datos >D

NOTA: como la copia cp -xa también creo los directorios en /media, además el fstab quedó con las referencias a los discos, me quedaron de una montados los otros discos de datos sin problemas. Eso quedó idéntico.

GRACIAS.
 
Excelente Rachmaninov =)
Voy a recrear estos pasos para hacer lo mismo y si no encuentro problemas, se va pal Blog :p

Gracias por la info!
 
otro comando que me funciono hoy que compre disco duro y traslade la particion de linux a mi nuevo disco:

cp -v /mnt/discoviejo/* /mnt/disconuevo -rfp

conservando permisos y atributos sobre todos los ficheros.
 

Los últimos temas