Explicación de las particiones en una MicroSD

Sección Unicamente para Tutoriales y Guías
Responder
Avatar de Usuario
egrueda
Pi God
Pi God
Mensajes: 2089
Registrado: 10 Feb 2017, 19:31

Hola a todos.
Creo este artículo para responder a una consulta que aparece una y otra vez en el foro, del tipo:
He grabado la imagen de raspbian en una tarjeta de 64GB, pero ahora sólo tiene 42MB libres
Así que para responder, vamos a explicar cómo va eso de las imágenes y el espacio disponible.

¿Qué es una imagen?
Cuando hablamos de una imagen de raspbian, o una imagen de retropie o incluso una imagen perosnalizada, estamos haciendo referencia a un archivo que contiene en su interior todos los elementos de un disco, esto es, particiones y archivos.

¿Qué ocurre al grabar una imagen?
Cuando grabamos una imagen, se crean particiones y archivos en nuestra MicroSD.
Se suelen crear dos o más particiones, de un tamaño predeterminado, y se queda espacio vacío al final de la tarjeta.
Por ejemplo, una imagen de 2GB grabada en una tarjeta de 64GB
Imagen

¿Qué particiones se crean?
En la imagen anterior vemos:
  • Una partición FAT32 llamada BOOT
  • Una partición Ext4 (Linux)
  • Un espacio vacío
¿Qué pasa en el primer arranque?
La mayoría de imágenes "oficiales" realizar un ajuste de tamaño de las particiones en el primer arraque.
Esto se hace para aprovechar todo el espacio de la tarjeta, según el tamaño de cada una.
Después del ajuste automático de tamaño, las particiones se quedan así:

Imagen
¿Veis? Hemos pasado de 2 particiones y un espacio vacío a 2 particiones que ocupan toda la tarjeta

¿Y por qué veo sólo 42MB?
Si introducimos la tarjeta en un equipo Windows, veremos algo como esto:
Imagen
¿Sólo 41,1 MB? Tranquilo, tus 64GB siguen ahí, recuerda que existen dos particiones:
  • La partición de arranque, de 42MB, en formato FAT32
  • La partición de datos, en formato EXT4
Desde Windows, por defecto, sólo puedes ver la partición FAT32, la de arranque.
Desde Linux podrás ver las dos particiones sin problema.
El sistema Linux, ya sea Raspbian, Retropie o similares, se instala en la partición EXT4, y es ahí donde se instalan por defecto las aplicaciones, los emuladores, las roms y ese tipo de cosas.

¿Y cómo puedo ver todo el espacio?
Existen muchas formas. Por ejemplo, en Windows puedes usar el Administrador de Discos, que viene con el sistema, y podrás ver la capacidad total de la tarjeta y el espacio usado por las dos particiones:

Imagen
También lo puedes comprobar desde la propia Raspberry Pi, en cualquier momento, con distintos comandos:

Código: Seleccionar todo

pi@raspberrypi:~ $ sudo fdisk -l /dev/mmcblk0
Disk /dev/mmcblk0: 58.3 GiB, 62587404288 bytes, 122241024 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x202c965e

Device         Boot Start       End   Sectors  Size Id Type
/dev/mmcblk0p1       8192     93813     85622 41.8M  c W95 FAT32 (LBA)
/dev/mmcblk0p2      94208 122241023 122146816 58.3G 83 Linux

Código: Seleccionar todo

pi@raspberrypi:~ $ df -h
Filesystem      Size  Used Avail Use% Mounted on
[...]
/dev/root        58G  969M   55G   2% /
/dev/mmcblk0p1   42M   21M   21M  51% /boot

Código: Seleccionar todo

pi@raspberrypi:~ $ mount
[...]
/dev/mmcblk0p2 on / type ext4 (rw,noatime,data=ordered)
/dev/mmcblk0p1 on /boot type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro)
¿Cómo se corresponden las particiones?
Si en una imagen normal tenemos dos particiones, una es de tipo FAT32 (Windows) y la otra es EXT4 (linux)
Cuando arrancamos la Raspberry Pi, la partición FAT32 se usa como partición de arranque, mientras que la partición EXT4 se usa como partición raíz.
Eso quiere decir que en el sistema de ficheros de la Raspberry Pi tenemos el directorio raiz ( / ), que corresponde a la partición EXT4 y tenemos el directorio /boot que corresponde a la partición FAT32.
Por ese motivo, cuando metemos la tarjeta en un Windows y vemos sólo un disco pequeño, si grabamos un archivo en ese disco, el archivo estará disponible desde la Raspberry Pi dentro del directorio /boot
Por ejemplo, el archivo config.txt que solemos editar desde Windows, luego aparece en /boot/config dentro de Linux.

¿Y si quiero borrarlo todo?
Como siempre, existen varias opciones.

Si has descargado una imagen y quieres grabar esa imagen en la tarjeta MicroSD, basta con que grabes la imagen directmente para que se borren las particiones anteriores de la tarjeta y se creen las nuevas.

Si lo quieres hacer manualmente, puedes usar cualquier programa de gestión de particiones, como el MiniTool Partition Wizard en Windows o el GParteden Linux.

¿Cómo puedo grabar datos en la partición linux?
No todos los sistemas operativos reconocen una partición de linux, como ocurre con Windows.
A veces existen programas que permiten leer las particiones, pero no modificarlas.

Por ejemplo, desde Windows podemos usar el programa DiskInternals Linux Reader para ver el contenido de las particiones:

Imagen

Imagen

Conclusón
Es importante entender cómo funcionan las particiones en la tarjeta de la Raspberry Pi para poder trabajar cómodamente con ellas, bien sea desde Windows o Linux.
La información de este artículo es muy superficial, en algunos puntos resulta incluso poco precisa, pero sirve para entender cómo funciona el sistema de particionado a grandes rasgos. Si necseitas más información, sin duda la encontrarás fácilmente en este mismo foro o en Wikipedia.
Avatar de Usuario
lopz_
Pi Master
Pi Master
Mensajes: 201
Registrado: 27 Jun 2017, 13:51

Muy currado el tuto.

Solo añadir que para modificar particiones linux en windows:

http://www.ext2fsd.com/?page_id=27

Con esto yo juraría que podía modificarlas, pero tengo que ver bien por el tema de ext4, pero cuando esté en casa lo miro,..

Por otro lado también añadir que microsoft se ha "puesto las pilas" (algo querrá sacar a cambio si no no mueven un dedo gratis) con el tema de GPL y deja instala en Windows 10 internamente distribuciones de linux (no emular, instalar a la vez) con una consola bash (en la que puedes lanzar aplicaciones como Gparted).. y no sé si se podrá abrir un Nautilus y acceder a las particiones de linux. no lo he probado.

saludos.
felisinvk
Pi Newbie
Pi Newbie
Mensajes: 3
Registrado: 28 Nov 2017, 01:54

Muchas gracias por la info.
felisinvk
Pi Newbie
Pi Newbie
Mensajes: 3
Registrado: 28 Nov 2017, 01:54

Muchas gracias por la info. :mrgreen: :mrgreen:
robertronik
Pi Newbie
Pi Newbie
Mensajes: 1
Registrado: 25 Nov 2019, 14:16

Gracias por la informacion, despues de tanto tiempo :)
Avatar de Usuario
klingsor
Pi Master
Pi Master
Mensajes: 227
Registrado: 14 Jul 2017, 12:16

¿Y si quiero borrarlo todo?
Como siempre, existen varias opciones.

Si has descargado una imagen y quieres grabar esa imagen en la tarjeta MicroSD, basta con que grabes la imagen directmente para que se borren las particiones anteriores de la tarjeta y se creen las nuevas.

Si lo quieres hacer manualmente, puedes usar cualquier programa de gestión de particiones, como el MiniTool Partition Wizard en Windows o el GParteden Linux.
Muchas gracias por la explicación. :mrgreen: :mrgreen:

Añado la opción para borrar la tarjeta en Mac (aunque en todos los sitios recomiendan hacerlo desde la utilidad de discos del propio Mac) la solución más sencilla es con la aplicación SD Card Formatter:
SD Card Formatter
Hay versión para Windows también.

Para grabar una imagen en Mac recomiendo ApplePiBaker.

(Espero no haber ensuciado el hilo pues se aleja un poco de la explicación pero creo que puede ser de utilidad todo el si se le añade chincheta y queda como consulta para futuros usuarios).

Saludos.
Responder