Cómo usar toda la tarjeta de memoria en Raspberry Pi 1, 2 y 3

Cómo redimensionar la partición root en Raspberry Pi 1,2 y 3

Si eres uno de los afortunados poseedores de alguno o varios de estos pequeños ordenadores, seguramente te habrás dado cuenta de que al instalar una de las imágenes existentes no se aprovecha todo el espacio de la tarjeta de memoria. Por eso mismo he hecho las pruebas pertinentes y te pongo los pasos para saber cómo redimensionar la partición de raspberry pi para usar la sd o microsd entera.

Por lo general al cargar una de las imágenes que podemos encontrar para nuestra raspberry, vamos a ver cómo solo se aprovechan un par de gigas de nuestra tarjeta, y no vamos a tener acceso al resto desde el sistema. Esto pasa por que estas imágenes están pensadas para funcionar con tarjetas de memoria pequeñas, y tienen una tabla de particiones creada de forma predeterminada.

Por ahí te puedes encontrar una buena cantidad de tutoriales que te indican cómo aumentar el tamaño de la partición root modificándola desde otro equipo, pero en la mayoría de los casos te terminará dando problemas, y por tanto es mejor centrarte en una solución como la mía, ya que modificamos el tamaño de las particiones desde la raspberry, sin necesidad mas que de tener acceso a la consola y al usuario root.

Cómo extender la partición root en Raspberry pi para usar toda la tarjeta de memoria

Aunque te puedan parecer unos pasos complejos que ejecutar en consola, no deberías tener problema en realizarlo en cualquiera de las versiones de linux, ya que lo único que vamos a hacer es modificar el sector en el que termina la partición root. En este caso he usado raspbian, que está basado en Debian, y es la versión mínima sin ni siquiera interfaz gráfica, pero te debería funcionar en cualquier versión.

Vamos a necesitar permisos de superusuario (root), ya bien sea añadiendo el prefijo sudo y la contraseña si nos la pide, o directamente acceder como root por ssh o su root desde consola en la misma raspberry. Una vez que tengamos claro que podemos acceder como root simplemente tendremos que seguir una serie de pasos.

Antes de nada te comento que no debes asustarte, ya que solo vamos a hacer que se modifique el inicio y final de la partición root, y después haremos que se asigne dicho espacio a la partición.

Al principio deberíamos tener algo como lo siguiente al ejecutar df -h:

Pero sin embargo tengo puesta una MicroSD de 16GB, por lo que estoy desaprovechando prácticamente todo el espacio disponible.

  • Empezaremos ejecutando el comando fdisk para empezar a modificar:
  • Una vez en la consola de fdisk le daremos a la letra p para que nos liste las particiones, deberemos ver algo como lo siguiente:

    Apuntaremos el Start de la partición Type Linux, en mi caso 131072, ya que luego nos hará falta para indicar el inicio de la partición. Como puedes ver en mi caso solo hay dos, pero dependiendo de tu distribución puede tener una partición más denominada Linux Swap.
  • Ahora eliminaremos las dos particiones Linux y Linux Swap, dejando solo la W95 FAT32 sin tocar. Le damos a la d para eliminar y seleccionamos la partición 2, y si tenemos la de swap lo repetimos con la 3.
  • Ahora tendremos que crear nuevamente la partición root con todo el tamaño restante empezando por el sector que hemos apuntado antes, pulsa n y luego p para crear la partición primaria. Selecciona como número de partición 2.
    Cuando te pregunte el First sector o primer sector introduce el apuntado, en mi caso 131072
  • Por último solo nos queda guardar todos los cambios para que se escriban en la memoria, pulsa w y deberías ver un mensaje en rojo o error como el siguiente:

Hasta aquí todo bien, de momento no te preocupes por el error, se debe a que el sistema está cargado y por tanto al usar las particiones no puede realizar los cambios. Como puedes ver en la captura todos los pasos los podemos seguir en una simple pantalla.

extender-espacio-particion-sd-raspberry-pi

Para que se escriban los cambios nos tocará reiniciar la raspberry:

reboot

Y ahora si hacemos df -h aún veremos los tamaños de partición antiguos, tenemos que ejecutar un último comando que es

resize2fs /dev/mmcblk0

Esto lo que hará será redimensionar el uso de la partición que hemos asignado con fdisk y hacerlo usable. Tendremos que esperar un rato (a mí me ha tardado unos segundos), dependerá de lo rápida que sea la memoria y nuestra versión de raspberry que tarde más o menos en redimensionar la partición root.

Tan pronto como termine veremos un mensaje como este

Y si ahora hacemos df -h veremos que ya utiliza todo el espacio disponible en la tarjeta de memoria

redimensionar-particion-root-raspberry-pi

Ten en cuenta que el sector de inicio tiene que coincidir con el que apuntes, ya que si lo ponemos mal nos podemos encontrar con que la raspberry no arranque. En caso de que quieras hacerlo por ssh puedes ver aquí cómo habilitar el acceso root por ssh en linux que te valdrá para cualquier versión.

¿Por qué no se borran los datos al redimensionar la partición de la raspberry con este método?

Es bastante sencillo, lo que hacemos es eliminar la partición de root y también la de swap si existe, una vez hecho esto volvemos a crear la partición root usando el sector de inicio original y antes de que se escriba cualquier dato en el disco. Esto resulta en que los datos que contiene dicha partición quedan intactos.

Además, en caso de que nos toque eliminar la partición Swap dejamos la zona libre para que la partición root pueda crecer, ya que de lo contrario no podríamos ampliarla por tener el swap a continuación, de esta forma ya no tiene otra partición contigua que le impida usar el resto de la memoria.

Lo último que hacemos después de marcar la nueva tabla de particiones es redimensionar la que existe y la partición root ocupará toda la tarjeta de memoria restante.

¿Tienes una Raspberry Pi? ¿Qué versión y para qué la usas?

Léete también  14 cosas que puedes hacer con tus teléfonos viejos

AYUDANOS a poder seguir dando respuestas. Te podemos echar una mano y tú también a nosotros, símplemente dale a me gusta.