PRIMERO: “GRABAMOS Y CONFIGURAMOS LA TARJETA SD”
Grabar la imagen “2020-02-13-raspbian-buster.img” en la tarjeta SD, introducirla en la RPI 4 y configurarla normalmente.
IMPORTANTE: No debemos conectar todavía el HD o SSD.

Una vez hecho podemos ir al siguiente paso.
SEGUNDO: “CONFIGURAMOS EL USB3 PARA EVITAR FALLOS Y RECONEXIONES”
La especificación USB3 transfiere datos mucho más rápido que la USB2 y eso es obvio, pero también tiene comandos adicionales, llamados protocolos “USB Attached SCSI” (UAS) que son especialmente útiles cuando se transfieren grandes cantidades de archivos pequeños. Desafortunadamente, algunos HD o SSD comúnmente disponibles, aunque dicen ser USB3, no admiten el conjunto completo de comandos UAS adicionales y necesitan inicializarse de una manera no estándar y eso hace que den errores imprevisibles a la hora de usarse en los puertos USB3 de la Raspberry Pi 4 B (conexión y reconexión, entre otros). Para evitar este problema, y poder usar el HD o SSD en un puerto USB3, debemos forzar el sistema para que sólo envíe comandos USB2 al puerto USB3 donde está conectado nuestro HD o SSD.
IMPORTANTE: Si el dispositivo es reconocido y admite correctamente los protocolos UAS podemos saltar directamente al siguiente paso. Yo voy mostrar cómo se hace, aunque mi HD es reconocido correctamente, para que podáis ver que se puede hacer con cualquier HD o SSD.
Para identificar correctamente nuestro dispositivo debemos, como primera medida, limpiar los mensajes que emite el kernel.
#
sudo dmesg -C
Ahora conectamos el disco y, si está formateado, nos aparecerá esto.
Lo cerramos y continuamos para ver los mensajes que se han emitido al conectarlo.
#
dmesg
Después de unos segundos...

Como vemos, nos da la información del HD insertado.
Buscamos el
idVendor y el
idProduct: En mi caso el
idVendor=0480 y el
idProduct=b202, estos dos datos los usaremos para forzar el envío de comandos USB2 al HD o SSD.
Editamos el /boot/cmdline.txt
#
sudo nano /boot/cmdline.txt

Y nos saldrá esto
Añadimos al principio de la línea lo siguiente “
usb-storage.quirks=idVendor:idProduct:u”. En mi caso: "
usb-storage.quirks=0480:b202:u"

Grabamos los cambios “
Ctrl+O” y Salimos “
Ctrl+X”
Reiniciamos el sistema
#
sudo reboot
Cuando reinicie ya tendremos configurado nuestro HD para ser usado sin problemas en los USB3 de la raspberry y estaremos listos para la segunda fase de la configuración.

Como habréis notado no ha sido difícil y tampoco lo serán las configuraciones siguientes.
TERCERO: “COPIAMOS LA TARJETA SD AL HD”
Vamos a
Inicio ->
Accesorios ->
SD Card Copier
Cuando el programa se inicie...
Elegimos como origen
“Copy From Device” nuestra tarjeta SD y como destino
“Copy To Device” nuestro HD.
IMPORTANTE: Hay que marcar la casilla ”New Partition UUIDs” y, para iniciar el proceso, pulsamos sobre “
Start”.
Antes de continuar nos dirá que esta acción borrará el contenido del HD y nos preguntará si estamos seguros de querer hacerlo. Por supuesto, estamos seguros y respondemos “
Yes”

Esto tardará algún tiempo así que no preocuparos.
Una vez haya terminado, vamos a configurar el sistema para que arranque desde el HD.
CUARTO: “LE DECIMOS AL SISTEMA CÓMO QUEREMOS QUE ARRANQUE”
Lo primero es averiguar el PARTUUID de cada partición.
#
sudo blkid

Nos aparecen bastantes datos, pero sólo nos interesan los
PARTUUID asignados a cada partición.
“/dev/mmcblk0p1” corresponde a la partición “boot” en la tarjeta SD y tiene como PARTUUID=”ea7d04d6-01”;
“/dev/mmcblk0p2” corresponde a la partición “rootfs” de la SD y es PARTUUID=”ea7d04d6-02”. Las particiones correspondientes al HD están identificadas como
“/dev/sda1” que es el “boot” con PARTUUID=”0d5f7406-01” y el
“/dev/sda2”que es el “rootfs” con PARTUUID=”0d5f7406-02”.
Ya tenemos todo lo que necesitamos y os recomiendo anotar los datos en un papel para no confundiros.
Volvemos a editar el /boot/cmdline.txt
#
sudo nano /boot/cmdline.txt

Vemos que “
root=PARTUUID= ea7d04d6-02” está apuntando a la partición “rootfs” de la tarjeta SD, lo modificamos para que apunte a la partición “rootfs” del HD, quedando como “
root=PARTUUID= 0d5f7406-02”

Grabamos los cambios “
Ctrl+O” y Salimos “
Ctrl+X”
Ya sólo nos quedan dos pasos más que, básicamente, es la reafirmación de lo que hemos hecho.
Editamos el archivo /etc/fstab, hay que recordar que todavía estamos en la tarjeta SD
#
sudo nano /etc/fstab

Como vemos la raíz “/” del sistema sigue apuntando a la partición “rootfs” de la SD
PARTUUID=ea7d04d6-02 / ext4 defaults,noatime 0 1
Por tanto, hay que hacerla apuntar a la partición “rootfs” del HD.
PARTUUID=0d5f7406-02 / ext4 defaults,noatime 0 1

Grabamos los cambios “
Ctrl+O” y Salimos “
Ctrl+X”
Reiniciamos el sistema
#
sudo reboot
En el reinicio ya estaremos arrancando desde el HD, pero todavía no es totalmente funcional porque no está completamente configurado. Así que tenemos que volver a editar el archivo /etc/fstab.
#
sudo nano /etc/fstab

Como podemos ver estamos editando el archivo “/etc/fstab” en el HD porque PARTUUID asignado a “boot” está apuntando a la partición “boot” del propio HD, lo que nos ocasionará problemas. Por tanto, tenemos que hacer que apunte a la partición de la SD: que es la que estamos utilizando para el arranque.

Grabamos los cambios “
Ctrl+O” y Salimos “
Ctrl+X”
Reiniciamos el sistema por última vez.
#
sudo reboot
Ya tendremos el sistema completamente configurado y estará instalado en el HD, solamente usará la tarjeta SD para iniciar el arranque. Para comprobar que esto es así, abrimos el gestor de archivos y podréis ver la capacidad en la esquina inferior derecha.
EPILOGO: “PARA LOS PURISTAS”
Sólo tenéis que usar el gparted y, como podéis ver, la partición de arranque “/boot” está instalado en la tarjeta SD y el directorio raíz “/” en el HD.
Ya podréis usar el sistema normalmente