Foto de Blai Peidro
Hola

Soy Blai Peidro

Senior Infrastructure Engineer

  • Stack Linux · Bash · Python · Ansible
  • Intereses Automatización · IA · Network
  • Idiomas Español · Català · English
  • Ubicación Barcelona, España
  • Web https://www.blai.blog

El salto de HDD a SSD

Cómo copiar la información de un disco duro magnético (HDD) a un disco de estado sólido (SSD), manteniendo dual boot Windows/Linux.



En el trabajo uso un ordenador cuyo disco es de estado sólido (SSD) y en casa tengo un portátil con un disco duro magnético (HDD). Viendo lo rápido que se inicia el ordenador del trabajo, llevaba ya un tiempo queriendo cambiar el disco duro magnético de mi ordenador personal por un SSD. He aquí mis andanzas.

Punto de partida


En mi ordenador personal, tengo dual boot Windows/Ubuntu con GRUB2 como gestor de arranque. En cuanto a disco, partía de un HDD Western Digital de 1 TB y le quise añadir un disco secundario SSD Samsung de 256 GB.



Mi intención era copiar toda la información de mi antiguo disco HDD al SSD y usar este último como disco principal. Con este cambio, pretendía acelerar la velocidad de inicio de los sistemas operativos y de los programas instalados en el equipo.

Qué SSD comprar


Lo primero que debes hacer si quieres añadir un disco SSD a tu ordenador es buscar uno que se adapte a tus necesidades. Para ello, hay que tener en cuenta:

¿Tendrá un solo sistema operativo instalado?
¿Cuánto espacio tengo ocupado en el disco actual?
¿Tengo un disco extra donde almacenar más información?

Mientras piensas en las respuestas, debes tener en cuenta que, como viene ocurriendo desde siempre, cuanta más capacidad de almacenamiento tenga el disco que busques, más caro será.

Según Microsoft, el espacio en disco recomendado para Windows 10 es de 20 GB. Obviamente, si quieres instalar Windows y usar Office y algunas aplicaciones más, necesitarás bastante más que esos 20 GB recomendados.

Por otro lado, la instalación promedio de una distribución GNU/Linux es de alrededor de 8 GB (excepto OpenSUSE, que pide un mínimo de 12 GB para su instalación para, posteriormente, poder administrar snapshots de Btrfs).

Teniendo en cuenta todo lo mencionado, el tamaño mínimo que recomiendo a la hora de comprar un SSD es de 128 GB en el caso de querer tener instalado solamente Windows. Si usas varios sistemas operativos, mejor 256 GB.

A la hora de comprar el disco hay muchas opciones: tiendas físicas, tiendas online, comprar en el extranjero... cada uno que elija la opción que más le convenza, pero yo personalmente prefiero el comercio local.

Cómo conectar el disco SSD


Una vez tengas el disco SSD en tus manos, deberás conectarlo a una ranura libre de la placa base de tu ordenador, ya sea vía interfaz SATA o mSATA.
SATA Interfaz de comunicación utilizada para conectar dispositivos de almacenamiento, como discos duros (HDD) y unidades de estado sólido (SSD), a la placa base del equipo. Sustituyó a la antigua interfaz PATA gracias a su mayor velocidad, menor tamaño de cableado y mejor gestión de datos. La versión más extendida es SATA III, que ofrece una velocidad máxima teórica de 6 Gbps, permitiendo que los SSD alcancen transferencias reales cercanas a 550 MB/s. Se utiliza principalmente en unidades de 2,5 pulgadas para portátiles y 3,5 pulgadas para equipos de sobremesa y servidores.

mSATA (mini-SATA) Variante de SATA diseñada para dispositivos compactos. Mantiene el mismo protocolo y rendimiento, pero utiliza un formato físico mucho más reducido. Se presentó como solución para portátiles ultrafinos, mini PC y equipos con limitaciones de espacio, eliminando la necesidad de cables de datos y alimentación al conectarse directamente a una ranura específica de la placa base. Aunque su tamaño es menor, su rendimiento es equivalente al de un SSD SATA convencional, ya que también está limitado por la interfaz SATA III.

En mi caso, mi portátil es bastante grande e incluye dos ranuras SATA y una ranura mSATA, por lo que lo conecté a la ranura SATA que tenía libre.

Configurando la BIOS


Tras conectar el SSD a la ranura SATA libre de mi placa, la BIOS pasó a reconocerlo como disco secundario, GRUB lo reconoció como hd1, Linux lo reconoció como unidad /dev/sdb y Windows como unidad D:/.

Quería que el SSD fuera el disco principal del equipo, así que configuré la BIOS para ubicar el SSD (Second Hard Drive) por encima del HDD (Hard Drive) en la secuencia de arranque o Boot Priority Order:



Hecho esto, guardé cambios y salí de la BIOS.

Al reiniciar el equipo, me encontré con un mensaje en pantalla que decía:

No Operating System found!

Era de esperar, puesto que el SSD no tenía ningún sistema operativo instalado aún y estaba configurado como dispositivo primario de arranque.

Si te encuentras con este mensaje, simplemente presionando Enter el ordenador pasará a arrancar desde el siguiente dispositivo de la lista de arranque de la BIOS. En mi caso, pasó a arrancar desde el HDD e inicié sesión en Windows.

Clonando el HDD hacia el SSD


Con el disco instalado y el orden de arranque ajustado en la BIOS, el siguiente paso era clonar el contenido del disco antiguo al disco nuevo para mantener programas instalados, fotos, documentos, etc.

Como comentaba, en mi ordenador personal tengo dual boot Windows/Ubuntu, así que estaba preparado para todo al hacer el clonado: perder GRUB, perder uno de los sistemas operativos, errores de consistencia en los datos, etc., pero si no surgiera ningún problema, ¿qué diversión habría? 😁

A la hora de clonar un disco, hay que decidir cómo hacerlo: desde Windows, desde Linux, con una aplicación, con otra... En mi caso hice una búsqueda rápida en Google y encontré varios programas dedicados al clonado de discos para Windows. Me produjeron todos la misma sensación que, años atrás, me producían los programas que encontraba en softonic.com para mejorar el rendimiento del PC: una muy mala sensación, como de malware 😂

Al final decidí probar uno llamado AOMEI Backupper, el cual ofrecía una versión gratuita para particulares. Lo instalé y probé la opción de clonado de discos.

Durante el proceso, me di cuenta de que mi disco de origen tenía una partición de boot MBR y el disco de destino (el SSD) estaba formateado en GPT. BIOS usa MBR y EFI usa el particionado GPT. A la hora de clonar discos, origen y destino deben tener el mismo sistema de particiones de arranque.

Miré si el programa en cuestión me permitía cambiar el tipo de partición de arranque, pero no vi la opción. Intenté darle formato MBR al disco SSD desde el administrador de discos de Windows - según Microsoft es posible - pero la opción "Convertir disco a MBR" me aparecía en gris y no era ejecutable...

Después de otra búsqueda en Google, me topé con EaseUS Partition Master. Fue instalarlo, clic derecho y cambiar GPT a MBR. De nuevo clic derecho y clonar disco. Parecía muy fácil... y lo fue 🥰



Durante el proceso, el ordenador se reinició y se mantuvo en una pantalla tipo consola copiando particiones. El proceso de clonado duró cerca de una hora.


Arrancando desde el SSD


Al acabar el clonado, el ordenador se reinició y se quedó clavado con una "_" parpadeando en pantalla; GRUB había perdido la capacidad de arranque.

Decidí entonces arrancar desde un USB con Ubuntu Live y ejecuté tres comandos:

sudo mount /dev/sdb1 /mnt sudo grub-install --root-directory=/mnt /dev/sdb sudo update-grub

Explicación de estos comandos, línea a línea:

1. Monté la partición raíz de Linux ubicada en el SSD.
2. Reinstalé GRUB apuntando a /dev/sdb.
3. Regeneré la configuración de GRUB.

Reinicié el equipo y, ahora sí, GRUB apareció en pantalla y pude iniciar Ubuntu 😄

Me encontré entonces con un problema nuevo: Ubuntu me arrancaba desde /dev/sda. Y es que por mucho que en GRUB definiera el arranque del sistema en hd1 o /dev/sdb, Ubuntu me arrancaba una y otra vez desde el disco antiguo en /dev/sda (fácil de comprobar lanzando un df desde terminal).

Lo que ocurrió es que cuando hay dos discos con sistemas operativos, GRUB decide qué entrada del menú arrancar (qué sistema operativo cargar), pero el kernel de Linux monta el sistema de ficheros raíz según lo que dice el parámetro root= en la configuración de GRUB - y ese parámetro seguía apuntando a /dev/sda porque el clonado había copiado esa referencia.

No había caído en esto, así que decidí formatear mi antiguo HDD y dejarlo vacío. Al reiniciar, /dev/sda quedó vacío y Linux no tuvo más remedio que montar el sistema desde /dev/sdb (el SSD). Esta vez sí, Ubuntu arrancó desde el SSD 🎉

La solución correcta


Formatear el HDD funcionó, pero posteriormente me di cuenta de que no era la forma más adecuada de resolver el problema. La solución limpia habría sido editar dos ficheros en el SSD para actualizar las referencias del disco antiguo:

  • En /etc/fstab, cambiar /dev/sda por /dev/sdb.
  • En GRUB, apuntar root= a /dev/sdb en lugar de a /dev/sda.


De este modo, el HDD antiguo habría quedado intacto y Ubuntu habría arrancado desde el SSD sin necesidad de eliminar nada. Aun así, debía borrar los sistemas operativos del HDD en un momento u otro, así que ya me fue bien.

Valoración


Clonar un HDD a un SSD es un proceso sencillo y rápido. Y hay algo muy interesante que no he comentado aún: lo mejor de los programas de clonado es que detectan el espacio real usado. Es decir, si el disco de destino es de menor tamaño que el disco de origen pero el disco de origen tiene menos espacio usado que el tamaño total del disco de destino, te permiten clonar el disco sin problema. Traducido, cloné un HDD de 1 TB con 220 GB usados a un disco SSD de 256 GB.

En cuanto a la velocidad de un SSD respecto a un HDD, se nota bastante. Ahora, desde que presiono el botón de encendido hasta que llego a la pantalla de login de Windows, pasan 10 segundos exactos (GRUB de por medio). Una vez hecho el login en Windows, me encuentro con que ya no debo esperar a que se acaben de cargar los iconos del escritorio ni esperar a que el cursor de Windows deje de "pensar" para poder empezar a usar el ordenador.

Con un SSD es hacer login y ya poder iniciar cualquier aplicación al acto. Y eso desde mi portátil de 2012. En ordenadores más nuevos - como el del trabajo - la llegada al escritorio se produce en unos escasos 5 segundos.

Palabras finales


Los SSD tienen un aspecto negativo y es que su ciclo de vida es más corto que el de los disco magnéticos. Aun así, la fiabilidad de este tipo de discos está asegurada durante cuatro años por los fabricantes. A partir de ahí, puede que empieces a experimentar problemas de lectura y/o escritura.

Además, hay que tener en cuenta que en caso de problemas, recuperar la información contenida en un disco SSD que haya fallado es prácticamente imposible. Por ese motivo, recomiendo solo tener los sistemas operativos en el SSD y los datos sensibles en discos magnéticos, cuyos datos se pueden recuperar.

3 comentarios:

  1. Me ocurre exactamente lo mismo. He comprado un SSD, en este caso de la misma capacidad 500 GB que el disco HDD. He clonado el HDD en el SSD y al arrancar desde este me quedo en "_". ¿Cómo se hace lo que comentas?: "Desde este sistema, cambié las particiones de GRUB de ambos sistemas de /dev/sda a /dev/sdb para que arrancaran desde el SSD, re-instalé GRUB en /dev/sdb y reinicié el equipo. Ahora sí, GRUB apareció en pantalla y pude iniciar Ubuntu (por probar uno de los S.O.) sin problema. "

    ResponderEliminar
    Respuestas
    1. Hola Benjamín,

      Hace ya más de un año que escribí este artículo y no lo recuerdo al 100%, pero creo que reinstalé GRUB en el nuevo disco mediante:

      sudo grub-install /dev/sdb

      o:

      sudo mount /dev/sdb1 /mnt
      sudo grub-install --root-directory=/mnt /dev/sdb

      Saludos

      Eliminar
  2. Me paso que a la hora de iniciar el sistema se queda cargando con un "-" intermitente y no inicia, use Boot Repair para ver si lo solucionaba pero sigue igual.

    ResponderEliminar