Aunque mi tarjeta SD tiene 16 GB, la imagen que mostré fue de solo 2 GB y ahora solo puedo ver 2 GB de espacio de almacenamiento en el disco.
¿Cómo puedo cambiar el tamaño de la imagen para tener más espacio en mi partición raíz?
Asumiendo que está utilizando Debian.
Primero haga una copia de seguridad de su tarjeta SD usando las instrucciones que se encuentran aquí en caso de que algo salga mal.
Desde la línea de comando o una ventana de terminal ingrese lo siguiente
sudo fdisk /dev/mmcblk0
luego escriba p
para listar la tabla de particiones
Deberías ver tres particiones. si mira en la última columna llamada Sistema , debería tener
tome nota del número de inicio de la partición 2, lo necesitará más adelante. aunque probablemente todavía estará en la pantalla (por si acaso).
siguiente tipo d
para eliminar una partición.
Luego se le pedirá el número de la partición que desea eliminar. En el caso anterior, desea eliminar las particiones de intercambio de Linux y Linux.
Entonces escribe 2
luego escriba d
nuevamente y luego escriba 3
para eliminar la partición de intercambio.
Ahora puede cambiar el tamaño de la partición principal.
escriba n
para crear una nueva partición.
Esta nueva partición debe ser una partición primaria, así que escriba p
.
Luego ingrese 2
cuando se le solicite un número de partición.
Ahora se le solicitará el primer sector para la nueva partición. Ingrese el número de inicio del paso anterior (la partición de Linux)
A continuación, se le solicitará el último sector que puede presionar enter para aceptar el valor predeterminado que utilizará el espacio restante en el disco.
Escriba w
para guardar los cambios que ha realizado.
Luego reinicie el sistema con el siguiente comando:
sudo reboot
una vez que el sistema se haya reiniciado y haya regresado a la línea de comando, ingrese el siguiente comando:
sudo resize2fs /dev/mmcblk0p2
Nota: esto puede llevar mucho tiempo (dependiendo del tamaño y la velocidad de la tarjeta) tenga paciencia y deje que termine para que no estropee el sistema de archivos y tenga que comenzar desde cero.
Una vez hecho esto, reinicie el sistema con el siguiente comando:
sudo reboot
Ahora puede verificar que el sistema está utilizando toda la capacidad de la tarjeta SD ingresando el siguiente comando:
df -h
La verdadera magia aquí es que elimine las particiones raíz e intercambiables, luego vuelva a crear solo la partición raíz (utilizando el sector de inicio original) antes de escribir los datos en el disco . Como resultado, no borra los datos existentes de la partición raíz.
Al eliminar la partición de intercambio, permite que la sala de partición raíz crezca más allá de su tamaño actual y llene la parte no utilizada del disco (debido a la ubicación de las particiones, la partición raíz se intercala entre las particiones de inicio y de intercambio, no puede simplemente cambie el tamaño dejando solo la partición de intercambio).
Luego, cambia el tamaño (que es seguro ejecutar en un disco montado) al sistema de archivos para usar todo el espacio en la nueva partición raíz.
árbitro:
Usando la imagen Debian-Wheezy Beta, hay una utilidad de configuración incorporada que facilita esto:
Hay una utilidad llamada raspi-config
. Esto se ejecuta en el primer arranque si está conectado directamente al RPi. Si está por encima de SSH, puede ejecutarlo manualmente usando $ sudo raspi-config
. (Creo que puede volver a ejecutar la herramienta manualmente en cualquier momento).
La segunda opción en el cuadro de diálogo azul que sigue se titula expand_rootfs
, con la descripción "Expandir la partición raíz para llenar la tarjeta SD".
Al seleccionar esto, su partición raíz se redimensionará para llenar la tarjeta la próxima vez que inicie su RPi.
Actualización para 2015!
Regreso a esta respuesta con una nota de precaución: he estado usando un montón de tarjetas SD de 16 GB, y me sorprendió al maximizar mi partición para llenar la tarjeta que estaba usando. Hacerlo causó muchos problemas al cambiar a una nueva tarjeta que (a pesar de que se declaró como 16 GB) era aproximadamente 200 MB más pequeña que la tarjeta anterior.
Esto llegó a un punto crítico cuando cambié un par de RPis de v1 al nuevo modelo v2, que usa tarjetas Micro SD.
Ahora dejo aproximadamente 1GB libre para asegurarme absolutamente de que mis imágenes se pueden cambiar entre tarjetas SD sin problemas.
Si no se siente muy cómodo trabajando en la línea de comandos, como en la excelente respuesta de Steve Robillards, hay algunas aplicaciones GUI disponibles. En particular, gparted funciona muy bien.
Creo que está instalado por defecto en un Ubuntu LiveCD pero no en un sistema instalado. Hay por supuesto una solución fácil para esto: apt-get install gparted
. No puede hacer esto en el Pi real, porque para cambiar el tamaño de las particiones deben desmontarse.
La imagen de abajo está en holandés, pero no dejes que eso estropee la diversión. Es muy fácil de usar. Este es el diseño de la imagen debian predeterminada en una tarjeta sd de 8 gb.
Haga clic derecho en las particiones para desmontarlas y luego haga clic derecho para cambiar el tamaño o mover la partición. También puede crear nuevas particiones y formatear las existentes. En la imagen a continuación, eliminé la partición de intercambio y ahora puedo cambiar el tamaño de la partición raíz a todo el espacio a la derecha. No lo llenes por completo, porque todavía tienes que agregar una partición de intercambio.
Puede jugar con el diseño de la partición, los cambios solo se escriben si aplica los cambios (la tecla 'volver' en gris en la primera imagen).
Es muy fácil mover particiones, pero como en la respuesta de Steve, le recomiendo que elimine la partición de intercambio por completo, luego cambie el tamaño de la raíz y luego vuelva a crear un intercambio. Mover una partición puede llevar mucho tiempo y el intercambio no contiene datos que necesita conservar.
sudo -E gparted
gparted
si está ejecutando en Wayland (no estoy seguro de que estos problemas se hayan resuelto):xhost +SI:localuser:root
Si utiliza la imagen más reciente de Debian Wheezy: http://www.raspberrypi.org/archives/1435 Un script de tiempo de arranque le permite cambiar el tamaño para llenar la tarjeta sd automáticamente.
Seguí este video y funcionó perfectamente para mí (tengo una tarjeta de 16GB):
/mnt/storage
por ejemplo? Esto aísla eficazmente el sistema y los datos y facilita el mantenimiento y la copia de seguridad./mnt/storage
, si desea programas, monte en/opt/software/
.