Existe un manual de @FernandoJDuran que se puede consultar en viewtopic.php?f=6&t=1901 que usa la habilitación del modo USB BOOT (program_usb_boot_mode=1) para solucionar este problema. Pero, al parecer, no se puede deshacer esta acción y hay algunos reportes sobre comportamientos extraños, aunque la inmensa mayoría se deban más a la falta de experiencia y errores de los usuarios que a fallos de hardware.
Hay una solución intermedia, no invasiva y mucho más fácil de implementar, que nos ayudará a resolver el problema: Usar la partición de arranque (boot) de la tarjeta e instalar la partición de trabajo (root) en un USB o HD. La partición boot apenas ocupa 41MB de los cuales sólo la mitad están usados y la partición root, que es la que realmente gestiona el sistema, puede hacerse tan extensa como capacidad tenga el medio que la soporte. También tenemos otras ventajas: desgaste casi nulo de la tarjeta SD, gran aumento de la velocidad de lectura/escritura, facilidad de migración de la partición root a nuevos medios sin pérdida de datos y, si tenemos varios USBs o HDs con diferentes sistemas o servicios implementados en ellos, capacidad de alternancia sin necesidad de cambiar la tarjeta SD.
Como es necesario usar Linux, y pensando que no todos tenéis un ordenador con este sistema operativo, he utilizado la Raspberry para este cometido. El proceso es muy simple, aunque algo tedioso debido a la lentitud de copia.
Material necesario: 1 Raspberry, 2 tarjetas SD, 1 Adaptador USB para tarjeta SD, 1 USB o HD (Tened en cuenta que si usáis HD debe tener alimentación adicional externa o estar conectado a un Hub USB).
EMPEZAMOS
Las dos tarjetas SD deben estar grabadas y configuradas:
La primera (SD1) con la imagen “2017-06-21-raspbian-jessie.img” y la segunda (SD2) con la imagen que queramos, puede ser la versión completa, lite u otra, la única condición es que tenga partición de arranque boot. La SD1 la usaremos como tarjeta maestra para hacer la copia de la partición root de la SD2 al HD (o USB) y configurar la boot.
Una vez introducida la SD1 y encendida la Raspberry.
INSTALAMOS LOS PROGRAMAS NECESARIOS
Gestor de particiones
$ sudo apt-get install gparted
Visor de progreso para dd (No es necesario, pero así podremos ver cómo avanza la instalación)
$ sudo apt-get install pv
SELECCIÓN DE PARTICIONES
Ahora introducimos la SD2 con su correspondiente adaptador y el HD (o USB).
$ df –h

En nuestro caso, vemos que el HD se ha establecido como “/dev/sda”, siendo “/dev/sda1” la única partición y que la SD2 queda como “/dev/sdb” con dos particiones una en “/dev/sdb2” de 15G (root) y otra en “/dev/sdb1” de 41M (boot).
COPIA DE PARTICIONES
ADVERTENCIA: En el paso siguiente se borrará completamente el disco HD formateándolo a ext4 y copiando toda la información que hay en la partición “/dev/sdb2” de la tarjeta SD2 a la partición “/dev/sda1” del disco duro. Por favor, poned atención a la estructura porque “if” identifica el origen y “of” es el destino.
$ sudo su
$ dd bs=1M if=/dev/sdb2 |pv|dd of=/dev/sda1
Tardará en finalizar (Según el tamaño de la partición sdb2 tardará más o menos, con 15GB tarda unos 53-60m).
GESTION DE LAS PARTICIONES (Para eliminar errores)
Abrimos Gparted
Inicio -> Preferencias -> GParted
Buscamos el disco "/dev/sda", pero vemos que nos da un error, no os preocupéis porque es normal.

Pulsamos botón derecho sobre la imagen y elegimos “Desmontar”. Veréis una zona amarilla y una zona blanca (es lo que hemos volcado desde /dev/sdb2), seguidas de una zona gris (zona que no ha sido direccionada durante la copia).

Es un problema generado por la tabla de particiones debido a la diferencia de tamaño entre la partición origen y destino. La solución a este problema es muy simple, pero requiere varias acciones.
Disminuir la partición /dev/sda1
Pulsamos botón derecho sobre "/dev/sda1" y elegimos “Redimensionar/mover”
Desplazamos el deslizador un poco hacia la izquierda


Pulsamos “Redimensionar/mover”
Aplicamos


Ahora hay que seguir los mismos pasos, pero aumentando el tamaño de la partición al máximo.

Y el resultado debe ser este

Después de todos estos pasos, en los que sólo hemos tardado un minuto, habremos corregido facilmente el problema de la tabla de particiones que se produjo al copiar la SD en el HD.
ASIGNAR PARTICION DE ARRANQUE
Para que todo esto funcione debemos asignar la partición de arranque, que siempre será “/dev/sda1”. Lo primero de todo, hacer copia de seguridad del archivo que vamos a modificar.
$ sudo cp /media/pi/boot/cmdline.txt /media/pi/boot/cmdline-viejo.txt
Editarlo
$ sudo nano /media/pi/boot/cmdline.txt
El archivo contiene algo parecido a esto.
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=8315c6b2-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles
Tenéis que sustituir “root=PARTUUID=8315c6b2-02” por la ruta donde estará la partición del HD “root=/dev/sda1”
ATENCIÓN: No importa si la partición del disco duro era “/dev/sda1” o “/dev/sdb1” o “/dev/sdc1”… Siempre debe ser sustituida por “root=/dev/sda1” ya que será la unidad asignada por defecto al arrancar.
Guardamos y cerramos el archivo.
Ahora ya sólo nos queda apagar, quitar la tarjeta SD1, poner la SD2 y empezar a usar el sistema.
Si nos fijamos, comprobaremos que la carga se realiza sobre el disco duro y no sobre la tarjeta SD, además de un considerable aumento de la velocidad de respuesta.
TERMINAMOS
:mareado
Espero haberos ayudado con esta solución y que os sea útil, como lo és para mí, pero si alguien tiene alguna duda, sugerencia o comentario no dudeis en hacermelo saber.
Abrazos
