Mover toda la instalación de Linux a otra unidad


56

Tengo Ubuntu 14.04 con muchos paquetes y cosas relacionadas con el trabajo con las que estoy muy contento. Está instalado en mi unidad SSD principal, que es de 120GB (elegí "/" cuando instalé ubuntu, así que creo que todo debería estar en esta unidad). Aparece como / dev / sda

Ahora he agregado otro SSD a mi computadora que es 240Gb. No tengo ningún otro medio de almacenamiento a mano en este momento (por ejemplo, disco duro externo).

Dado que la nueva unidad de 240 GB obviamente tiene más capacidad y es más rápida (una generación más nueva que la de 120 GB), quiero mover mi Linux a esta nueva unidad. Esta nueva unidad aparece como / dev / sdb y por el momento no está formateada ni nada (literalmente he desempaquetado e insertado en mi PC en este momento: P)

¿Cómo puedo mover con seguridad mi instalación de Linux a la nueva unidad?

Puedo cambiar el cable SATA para que la nueva unidad se muestre como / dev / sda si es necesario.

Este es el resultado de "fdisk -l" si eso ayuda:

Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders, total 234441648 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00076d7a

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048   226064383   113031168   83  Linux
/dev/sda2       226066430   234440703     4187137    5  Extended
Partition 2 does not start on physical sector boundary.
/dev/sda5       226066432   234440703     4187136   82  Linux swap / Solaris

Disk /dev/sdb: 240.1 GB, 240057409536 bytes
255 heads, 63 sectors/track, 29185 cylinders, total 468862128 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/sdb doesn't contain a valid partition table

44
Parece que estás planeando usar ambos ahora. Si es así, debería considerar usar el más nuevo y más grande como en /homelugar de todo el sistema. Debería ser un cambio más fácil (simplemente mueva todo y agregue una sola línea a / etcs / fstab), y es probable que la mayoría de los archivos grandes vayan a su directorio de inicio (y así al disco más grande).
Kevin

Respuestas:


36

Puede usar CLONEZILLA para este propósito.

Clonezilla es una herramienta gratuita de partición e imagen / clonación de disco que se puede usar para hacer una copia de seguridad de todos sus datos (discos enteros o particiones) de una manera altamente comprimida y luego clonarlo nuevamente en su disco duro para que esté exactamente en la misma condición. Esto es más rápido que instalar el sistema operativo la mayoría de las veces.

ingrese la descripción de la imagen aquí

En su caso, también puede usar la opción "dispositivo-dispositivo", pero no estoy familiarizado con ella.

Puede encontrar una guía detallada sobre Clonezilla aquí: http://clonezilla.org


1
Le sugiero que vea estos dos videos tutoriales antes: youtube.com/watch?v=41tTudaQb0I y youtube.com/watch?v=LS6VhLDw-io
Severus Tux

1
Esta también es una buena opción. Pero soy demasiado vago para crear el palo de clonezilla ;-)
Pilot6

Encontré que Clonezilla no copiaba sobre mbr, por lo que una imagen de disco completa y un poco de trabajo con gparted deberían hacer el truco
adampski

1
¡Guauu! me alegra escuchar esto ;-), el tiempo de arranque, se debe a los UUID cambiados, es decir, los nuevos UUID y los antiguos de sus particiones importantes (inicio, intercambio) se han modificado. Para corregir esto, siga las instrucciones dadas aquí con los cambios adecuados : askubuntu.com/a/737340/497359 Si encuentra algún problema, por favor coméntelo .
Severus Tux

1
@adampski: Esto parece ser un error en Clonezilla 2.4.5. Como solución alternativa, puede usar Clonezilla 2.4.2 o Clonezilla 2.4.2 Server Edition (DRBL) hasta que se solucione. :)
cl-netbox

42

Se puede hacer de varias maneras. Pero la más fácil es copiar todos los archivos del disco viejo al nuevo.

  1. Cree una partición ext4 y una partición de intercambio en la nueva unidad.

  2. Arranque desde LiveUSB.

  3. Monte la antigua partición de Ubuntu en algún directorio, monte la nueva en algún otro directorio.

  4. Copie todos los archivos del anterior al nuevo usando el cp -acomando.

  5. Instale grub en la nueva unidad .

  6. Actualización /etc/fstabcon nuevos UUID.

Si algo no está claro, puedo agregar algunas explicaciones.


1
+1: también es posible evitar arrancar desde un LiveUSB y hacer todo mientras arranca desde la unidad original, hacer todos los cambios, reiniciar, listo.
Sergey

1
@ Étienne: no copie esos directorios (también /dev), simplemente cree directorios vacíos en la unidad de destino y establezca en ellos los mismos propietarios / permisos que tenían en la unidad de origen.
Sergey

10
Terminé usando: sudo rsync -a / /mnt/linux/ --exclude sys --exclude proc --exclude dev --exclude tmp --exclude media --exclude mnt --exclude run entonces sudo mkdir sys proc dev tmp media mnt run
Étienne

1
@ Etienne, ¿podría editar su --excluir-comentario? Si lo hace como lo escribió, / var / tmp también se excluye (me parece), después de que el clon esto se pierde por systemd-resolve.service, lo que da como resultado que la resolución de nombres no funcione ... Creo que debería be --exclude / tmp --exclude / proc etc. Gracias
swe

1
@swe No debo mantener un comentario, proponga una edición de la respuesta original.
Étienne

22

En caso de que tenga algo de tiempo y quiera ir a salvo:

$ dd if=/dev/sda of=/dev/sdb bs=64K conv=noerror,sync

Explicación del comando:

  • ifes la entrada, ofel destino
  • bsEstablece el tamaño del bloque. Es el tamaño de los fragmentos que dd leerá y escribirá. Tamaños de fragmentos más altos generalmente significan un mayor rendimiento pero también más corrupción de datos si el disco de entrada tiene errores, consulte aquí: archwiki en dd
  • noerror continúa en r / w-errors.
  • sync sincroniza las compensaciones si ha ocurrido un error.

Básicamente, esto creará una imagen de su disco sda y la escribirá en sdb (el mismo diseño de partición, etc.) Por supuesto, esto escribirá los 120GB completos ya que es independiente del archivo. Por lo tanto, es muy seguro, pero no el más rápido, si solo usa porciones pequeñas del disco. Sin embargo, si el disco de entrada está bastante lleno, incluso podría ser más rápido.

PERO:

  • Después de eso, probablemente desee cambiar el tamaño de las particiones, de lo contrario no podrá aprovechar el espacio adicional.
  • En cualquier caso, podría ser necesario editar el archivo / etc / fstab.
    Este es el caso si se utilizan identificadores de hardware para reconocer los discos.

2
Tu ddcomando se ejecutará para siempre. Considerar la adición bs=1Ma la misma
Dmitry Grigoriev

Que yo sepa de bloque no tiene por qué ser 1M en los SSD, pero voy a mirar en esto y actualización
Larkey

La limitación no está en la tecnología SSD, sino en bsel valor predeterminado que es 512 bytes.
Dmitry Grigoryev

1
respuesta extendida con bs, gracias por el
aviso

1
Gracias por la respuesta detallada ... ¡Aprendí algunas cosas! pero decidí ir con clonezilla y redimensionar las particiones después.
Saeid87

5

A diferencia de las otras respuestas, esto le permite clonar la instalación de Linux y agregarla al menú de Grub con sus instalaciones actuales intactas. Además, se modifica automáticamente /etc/fstaby actualiza grubel menú de arranque.

Se proporciona un menú para ayudarlo a seleccionar la partición correcta para clonar. El clon de la partición es su partición arrancada actual.

rsyncse usa para una velocidad óptima si elige reclinar la partición. Esto es beneficioso si la actualización falla, espera la corrección de errores y desea ejecutar la actualización nuevamente. Del mismo modo, puede haber elegido opciones incorrectas durante la actualización y desea volver a hacerlo.

El script completo se puede encontrar aquí: Bash script para clonar Ubuntu en una nueva partición para probar la actualización 18.04 LTS y así es como se ve la pantalla:

clone-ubuntu.png


5

La forma en que lo hago cuando me cambio a un nuevo HDD es:

  • crear el diseño de partición que quiero en la nueva unidad
  • arranque desde Live CD / USB o instalación, rescate, etc.
  • monte las viejas particiones del disco duro para copiarlas, por ejemplo, /mnt/a
  • montar las nuevas particiones del disco duro para recibir archivos, por ejemplo /mnt/b
  • cp -ao use tar para copiar los archivos de /mnt/aa/mnt/b
  • instale el cargador de arranque (lilo o grub) en un disco nuevo ¹
  • actualizar el /etc/fstab(es posible que desee utilizar blkidpara identificar nuevos UUID)
  • reiniciar y probar si todo está bien

Nota¹:

Verifique todo el disco duro y las particiones con el siguiente comando:

sudo fdisk -l 

Ahora tome nota de la partición, en la que está instalado Ubuntu, que se verá así: /dev/sda1

Monte la partición donde necesita instalar GRUB 2 (partición del disco duro) y el sistema de archivos aparece en Nautilus. Ahora tenemos que montar la partición correcta del disco duro para realizar cambios en el disco duro real MBR. Para eso necesitamos:

sudo mount /dev/sda1 /mnt
mount

Ahora monte la partición en una ubicación alternativa

sudo mount /dev/sda1 /mnt/boot

Cree un enlace irrompible desde la /devcarpeta en la imagen en vivo desde la que arrancó hasta la /devcarpeta en la partición en la que montó/mnt

sudo mount --bind /dev /mnt/dev/

Ahora tenemos que cambiar la raíz de la raíz del CD en vivo (/) a la raíz de la partición montada

sudo chroot /mnt

Ahora está en un nuevo shell raíz, en el que la partición montada es la nueva raíz. Puedes verificar esta escritura ls. Dado que ahora estamos en la partición montada, podemos avanzar e instalar GRUB 2:

sudo grub-install /dev/sda 

Las instalaciones deben finalizar ahora, sin errores.

Salga de su shell CHROOT, escribiendo exito presionando Ctrl+, D que lo llevará de vuelta al Live CD / USB Shell

Desmonta las particiones que hemos montado antes para tener un reinicio limpio:

sudo umount /mnt/dev
sudo umount /mnt/boot
sudo umount /mnt

y reiniciar después de quitar el Live CD o la memoria USB para arrancar desde el disco duro:

sudo reboot

Fuente


@ baobab33: Puede copiar y pegar instrucciones aquí en este sitio y luego atribuirlas. No está permitido simplemente vincular a la fuente externa. Actualice también la fuente con las correcciones anteriores.
Fabby

0

Decidí hacer un experimento relacionado con esta publicación.

Adquirí un Lenovo ThinkCentre. Tenía un SSD de 256 GB y un HDD de 1 TB (tipo spinner: rápido, pero no tan rápido como un SSD).

Cuando instalé Linux Mint 19.2 (LM19.2), lo instalé en la unidad de 1 TB. El SSD terminó siendo irrecuperable, y compré un nuevo SSD Kingston de 240 GB.

Estaba a punto de instalar LM19.2 en el nuevo SSD, pero parecía que debía haber una forma de transferir mi imagen LM19.2 bien desarrollada desde el disco de 1 TB al nuevo SSD.

Encontré esta publicación, y aunque hay algunos consejos sólidos arriba, estaba en un modo para experimentar. A continuación hay una cuenta de lo que hice, y funcionó MUY bien.

  1. Utilicé GParted para crear una tabla de partición y una partición en el SSD que eran del mismo tipo que las del HDD de 1 TB.
  2. Realicé una instantánea de TimeShift (nueva herramienta en Ubuntu / Linux Mint) de TODO en el disco duro LM19.2 de 1 TB.
  3. Restablecí esa instantánea en el SSD.
  4. Una vez que se completaron los pasos anteriores (incluso puede hacer 1 en paralelo con 2 y 3), reinicié, asegurándome de que elegiría el SSD.
  5. Lo único que fue extraño durante el reinicio fue que la pantalla GRI INICIAL me preguntó si quería arrancar en Ubuntu. Supuse que esto era peculiar de la restauración TimeShift, y lo fue.
  6. Los inicios posteriores se inician como LM19.2 normalmente lo hace.
  7. Editaré esta respuesta una vez que haya verificado que puedo hacer esto con una nueva unidad que cuelga de la PC externamente (y parece obvio que esto funcionará), porque esto significaría que puedo replicar rápidamente cualquiera de mis máquinas LM a nuevo hardware.

Solo la velocidad de arranque hizo que estos simples pasos valieran la pena. Incluso Dropbox se transfirió bien, solo quería que volviera a iniciar sesión y me llevó todo el tiempo indexar archivos, pero funcionó muy bien.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.