Hoy os voy a contar el proceso que he seguido para recuperar el sistema operativo sin perder datos en una Raspberry pi 400.
El problema: Una Raspberry Pi 400 con una tarjeta micro SD de 128 GB. Sistema operativo (en adelante SO) instalado en la micro SD: Ubuntu 22.4 64 bits. Tras un reinicio del sistema, este no arranca. Al iniciar se nos queda en una pantalla de consola que se identifica como BusyBox.
Esto del Busybox es un mini sistema operativo que en este caso se utiliza para intentar recuperar el sistema.
Intento lo siguiente, para descubrir el nombre de las particiones:
/sbin/fdisk -l
y después intento repararla con el comando fsck
fsck <nombre_de_la_partición>
Por desgracia no es posible recuperarse del error porque me da el mensaje: «unable to set superblock flags». Es decir tengo una SD en la que no se puede escribir pero todavía se puede leer.
La tarjeta micro SD está dañada, pero no está todo perdido. Aunque, eso sí, toca comprar una tarjeta micro SD nueva de igual o mayor capacidad.
Ya con la nueva tarjeta, lo que voy a hacer ahora es hacer una copia de la tarjeta vieja y duplicarla en la tarjeta nueva. Esto puede hacerse de varias maneras pero os voy a explicar como lo hice yo.
En primer lugar necesitamos un equipo distinto y un lector USB de tarjetas SD (si el equipo no dispone de ranuras para tarjetas de memoria). Si no tenemos otro equipo podríamos usar la misma Raspberry Pi con otro SO basado en Linux y un lector de tarjetas USB para la tarjeta dañada y luego para la nueva, ya que la ranura micro SD estará ocupada por la tarjeta del sistema operativo.
En mi caso contaba con un ordenador con SO Debian y un adaptador de tarjetas SD a USB. Arranco el sistema con la tarjeta SD dañada dentro del adaptador USB. Abro una consola de comandos y ejecuto el comando:
fdisk -l
Hay que identificar el nombre del dispositivo del la tarjeta SD. En mi caso lo reconozco porque en la salida del comando pone ‘Modelo de disco: Flash Reader’. que esta identificado como ‘/dev/sdb’. Quédate con este nombre porque lo necesitaremos en el siguiente comando.
Ahora vamos a hacer la copia de la tarjeta. Si dispusiésemos de dos ranuras micro SD podríamos hacer hacer la copia directamente de una tarjeta a otra. Pero lo mas normal es que solo tengamos un adaptador de tarjetas SD a USB. La solución en mi caso es hacer la copia de la tarjeta a un disco duro y después sustituir la tarjeta dañada por la nueva en el adaptador USB y copiar el fichero a la tarjeta.
el comando para hacer la copia es ‘dd’ al que se le pasan al menos dos parámetros if que indica el fichero de entrada y of que indica el fichero de salida:
dd if=/dev/sdb of=~auxfile
Después de realizar la copia, que tardará un rato largo, sustituimos la tarjeta dañada por la nueva y ejecutamos el siguiente comando:
dd if=~auxfile of=/dev/sdb
Con esto ya habríamos hecho la copia. Sacamos la tarjeta del adaptador y la introducimos en la Raspberry Pi, y a correr.
Deja una respuesta