Hace casi tres cuatro (!) años que me compré el que a día de hoy sigue siendo mi portátil personal, un HP Envy Ultrabook™ 4-1020e (características técnicas).
Por aquel entonces me decanté por este modelo por su hardware, diseño, batería, peso y como no, por su precio (unos 750€). Entre sus principales características destacaba el hecho de que junto con un HDD tradicional, incluía un SSD de 32GB a modo de caché. Nada mal para el año 2012, teniendo en cuenta el precio mencionado anteriormente.
Ya por aquel entonces pregunté en los foros de soporte de HP si podía utilizar ese disco adicional de 32Gb para instalar el sistema operativo y dejar el HDD para datos.
Mi idea era instalar Linux montando raíz (‘/’) en el SSD y ‘/home’ en el HDD. Después de algún intercambio de mensajes y llamadas con los técnicos de HP y debido a mi desconocimiento del mundo Linux por aquel entonces (😔) llegue a la conclusión de que esto no era posible y terminé instalado Linux en tres particiones distintas (boot, raíz y home) íntegramente en el HDD.
Dos años más tarde (2014) y con algún que otro conocimiento más de cómo funciona Linux me decidí a realizarlo. No quería formatear mi equipo, así que todo pasaba por copiar el contenido de raíz (‘/’) al SSD y editar el fichero /etc/fstab para que el sistema monte el nuevo disco como raíz al inicio del sistema.
El único problema es que debido a una estúpida restricción por parte de HP, la BIOS no permite arrancar el sistema desde el SSD, por lo que opté por mantener ‘/boot’ junto con ‘/home’ en el HDD.
Cómo realizarlo
En primer lugar utiliza un LiveCD de tu distribución favorita para iniciar el sistema. En mi caso utilicé Ubuntu por simplicidad pero virtualmente cualquier distribución Live serviría.
Una vez iniciado el sistema, abrimos una terminal y ejecutamos el siguiente comando.
$ sudo fdisk -l | grep "Disk /dev" Disk /dev/sdb: 29.8 GiB, 32017047552 bytes, 62533296 sectors Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors Disk /dev/sdc: 7.2 GiB, 7751073792 bytes, 15138816 sectors
Como se puede apreciar de la salida del comando anterior, fdisk identifica dos discos distintos instalados en mi portátil, /dev/sda (HDD 500GB) y /dev/sdb (SSD 32GB)
Nota: En mi caso /dev/sdc es el lápiz USB donde se encuentra la distro LiveCD.
A partir de aquí puedes utilizar Gparted para crear y darle formato al disco /dev/sdb de forma gráfica. Seleccionas el dispositivo, botón derecho, formatear (en mi caso elegí ext4).
Bien, una vez identificado y formateado, montaremos el dispositivo para poder comenzar a realizar la copia de datos desde raíz del HDD a raíz del SSD.
$ mkdir /mnt/ssd /mnt/hdd /mnt/hdd/boot $ mount /dev/sdb1 /mnt/ssd $ mount /dev/sda2 /mnt/hdd #sda2 se corresponde a raíz en mi caso $ mount /dev/sda1 /mnt/hdd/boot
Y pasamos a copiar los datos mediante el siguiente comando:
$ sudo rsync -aAXv /mnt/hdd/* /mnt/ssd --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/var/tmp/*,/run/*,/mnt/*,/media/*,/lost+found}
Una vez finalizado necesitaremos editar el archivo /mnt/ssd/etc/fstab para que refleje los nuevos cambios, para ello necesitaremos el UUID de la nueva partición creada en el SSD.
$ mount | grep /dev/sdb | awk '{print $1}' | xargs sudo blkid /dev/sdb1: UUID="e5876793-aada-473a-bf2b-2bd828c401dd" TYPE="ext4" PARTUUID="00065cf6-01"
Obtenido el UUID, bastará con editar el archivo localizado en /mnt/ssd/etc/fstab para añadirle el nuevo UUID de la partición raíz (‘/’)
# # /etc/fstab: static file system information # <file system> <dir> <type> <options> <dump> <pass> UUID=e5876793-aada-473a-bf2b-2bd828c401dd / ext4 discard,noatime,errors=remount-ro 0 1 UUID=6bc0d37e-d014-446b-bbb4-b17f1517ca4b /boot ext2 rw,relatime,stripe=4 0 2 UUID=da543758-fe4c-473e-979d-7d40099db916 /home ext4 rw,relatime,data=ordered 0 2 UUID=bb34ef36-6c85-4b33-bc07-f73d259f65ab none swap defaults 0 0
Reinstalando el bootloader
Para que este último cambio quede reflejado al inicio del sistema, debemos reinstalar el bootloader. Para ello haremos uso de los comandos, chroot, grub-install y grub-mkconfig.
$ sudo su $ cd /mnt/ssd $ mount -t proc proc proc/ $ mount --rbind /sys sys/ $ mount --rbind /dev dev/ $ chroot /mnt/ssd /bin/bash $ grub-install --target=i386-pc --recheck --debug --boot-directory=/boot /dev/sda $ grub-mkconfig -o /boot/grub/grub.cfg $ exit
Si todo ha ido bien, durante el próximo arranque el propio SO debería montar y comenzar a utilizar el SSD.
A partir del primer reinicio observaremos como el aumento de rendimiento y velocidad de carga del SO es notable gracias a la utilización del SSD para la particion raíz.
Un saludo!