Mover instalación a nuevo disco


10

Actualmente tengo un disco duro con estas particiones:

/dev/sdb1    /
/dev/sdb2    swap
/dev/sdb3    /home

Estoy pensando en comprar un SSD para mi /partición.

Ahora mi pregunta es: ¿es posible mover / convertir mi configuración actual a la nueva (dos discos / restos de inicio)? Preferentemente desde dentro del sistema en ejecución?

Respuestas:


11

Recomiendo no usar dd. Simplemente hace una copia tonta sector por sector, lo que significa que fallará si la partición de destino es más pequeña, y desperdicia mucho tiempo copiando espacio libre, y si la partición de destino es más grande, el espacio adicional no estará disponible hasta que ejecute resize2fspara expandir el sistema de archivos.

Es mejor hacer esto desde un CD en vivo porque si copia archivos mientras se modifican, terminará con resultados corruptos.

Formatee el ssd y obtenga la nueva partición ssd y la partición raíz original montada, luego simplemente ejecute sudo cp -ax /media/old-partition/* /media/new-partition, donde la partición antigua y la nueva partición se reemplazan con sus puntos de montaje reales. Eso copiará cada archivo, conservando la propiedad, los permisos y las marcas de tiempo.

Luego sudo grub-install --root-directory=/media/new-partition /dev/SSD_DEVICE, ejecute , después de sustituir los valores correctos por nueva partición y SSD_DEVICE Eso instalará grub, haciendo que el disco sea de arranque.

Una vez que reinicie (asegurándose de que su BIOS esté configurada para arrancar desde el SSD en lugar de la unidad anterior), asegúrese de que está ejecutando desde el SSD y no desde la unidad anterior comprobando la salida de dfy / o mount, y debe estar bueno para volar la vieja partición.

Ah, y querrá editar el /etc/fstabarchivo en la nueva partición después de copiar y actualizar el UUID de la partición raíz para que coincida con el UUID de la nueva partición SSD en lugar de la anterior. Puede encontrar ese UUID ejecutando sudo blkid.

Editar: se agregó / * en la copia anterior, pero se necesitaba editar para tener más de 6 caracteres. ¡Ahora son 101 caracteres!


1
Supongo que funcionó?
Martin Ueding

2
Tuve problemas para instalar grub usando el método anterior. Finalmente hice lo que este hilo sugiere: askubuntu.com/a/3409/8152 para configurar e instalar grub en el otro disco. El resto de la respuesta funcionó muy bien.
Mladen Jablanović

1

Este comando:

dd if=/dev/sdb1 of=DEVICE_PATH_OF_SSD_DRIVE

debería funcionar para clonar la /partición en la unidad SSD.

EDITAR: esto solo funcionará si su partición es del mismo tamaño que la unidad. Si no son del mismo tamaño, puede usar partimage :

partimage -z0 -d save /dev/sdb1 clone.partimg
partimage restore DEVICE_PATH_OF_SSD_DRIVE clone.partimg
rm clone.partimg

Una advertencia para este método es que necesita suficiente espacio en su disco para una imagen que contenga todo el contenido de /. Deberías estar bien si tienes> 10GB gratis. De lo contrario, puede usar en -z1lugar de -z0comprimir la imagen. Para una compresión aún mayor, use -z2. Además, partimage no es compatible con el sistema de archivos ext4 .

Una vez que haya hecho eso, debe montar el SSD y verificar si sus datos se han copiado correctamente:

$ mkdir /tmp/ssd
$ sudo mount -t ext4 DEVICE_PATH_OF_SSD_DRIVE /tmp/ssd
$ ls /tmp/ssd
bin    dev   initrd.img      lost+found  opt   sbin     sys  var
boot   etc   initrd.img.old  media       proc  selinux  tmp  vmlinuz
cdrom  home  lib             mnt         root  srv      usr  vmlinuz.old

Reemplace ext4con el sistema de archivos que ha utilizado /.

Probablemente necesitará instalar el gestor de arranque GRUB en esta unidad:

sudo grub-install DEVICE_PATH_OF_SSD_DRIVE

Luego deberá editar su /etc/fstabarchivo para reemplazarlo /dev/sdb1con la ruta del dispositivo de su unidad SSD en la entrada a la que se monta /. ( sudo $EDITOR /etc/fstab)

Espere hasta que esta respuesta tenga algunos votos positivos antes de seguir estas instrucciones. No soy un experto en estas cosas, por lo que es posible que me haya perdido alguna información vital. Cualquiera que vea defectos en esto, por favor agregue un comentario explicándolos. Debe tomar tales precauciones porque si algo sale mal, podría dejar su computadora sin arrancar.


(-1) Esta solución es más que peligrosa . Especialmente si el tamaño de los dispositivos no coincide.
Raphael Bossek

También copiará el UUID de la unidad de origen si usa dd.
Michael

0

Lea primero cómo migrar. ¿Existe una manera fácil de transferir un sistema operativo de un disco duro a otro? .

Arranque desde su SSD y agregue la siguiente línea a /etc/fstab(es solo un enlace):

/media/slowhd/home /home none rw,bind 0 0

Comience mount -aa hacer los cambios activos.

Consejo : No lo hagas mount /dev/yourhd /homeporque pierdes la flexibilidad para mover más directorios a tu antiguo disco duro.

Una solución más técnica sería usar LVM (administrador de volumen lógico) .

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.