- Parted gestiona particiones y tablas (MBR/GPT) con precisión por sectores y modo interactivo o no interactivo, ideal para automatización.
- Combina parted con herramientas nativas de cada FS (mkfs, fsck, resize2fs, xfs_growfs) para operaciones seguras y soportadas.
- Buenas prácticas: copias de seguridad, verificación con lsblk/dmesg, uso de UUID en fstab y comprobaciones con df -TH y mount.
Si trabajas con discos en GNU/Linux, tarde o temprano vas a necesitar una herramienta fiable para partir, crecer o inspeccionar particiones. En ese escenario, GNU parted se convierte en un imprescindible: es rápido, potente y acepta tanto uso interactivo como por línea de comandos no interactiva.
En este artículo encontrarás una guía práctica y detallada para dominar parted, con comandos reales, salidas de ejemplo y escenarios típicos de administración. Además, verás cómo combinarlo con utilidades como lsblk, mkfs, e2fsck, resize2fs o xfs_growfs, y cómo dejar el montaje automático listo en /etc/fstab
.
Qué es GNU parted y para qué sirve
GNU parted es una utilidad diseñada para gestionar particiones y tablas de particiones en discos y otros dispositivos de bloque. Soporta esquemas como MBR/MS-DOS y GPT, y operaciones como crear, redimensionar, mover, listar o eliminar particiones. También permite cambiar la etiqueta del disco con mklabel y trabajar con alineación óptima de sectores para maximizar el rendimiento.
Parted se usa de forma interactiva (entrando a una sesión del programa) o ejecutando órdenes «one-liner» desde el shell. En ambos modos, conviene recordar que el manejo de particiones puede afectar a los datos: haz copias de seguridad y confirma siempre que estás operando el dispositivo correcto.
Modos de uso: interactivo y no interactivo
En modo interactivo abres una sesión sobre un dispositivo: parted /dev/sdX
. Luego, en el prompt (parted)
, escribes comandos como help
, print
, mkpart
, resizepart
, rm
, unit s
o quit
. En modo no interactivo puedes encadenar operaciones y automatizar tareas con scripts, por ejemplo: parted -s /dev/sdb mklabel gpt mkpart primary ext4 1GB 10GB
.
Sintaxis general y comandos básicos
La forma genérica es: parted
. Donde es algo como
/dev/sda
; el define la acción (p. ej.
mklabel
, mkpart
, print
), y las ajustan el comportamiento. Entre lo más usado encontrarás: mklabel para crear la tabla de particiones, mkpart para crear particiones, print para listar, resizepart para ampliar o encoger y rm para borrar.
- Crear tabla de particiones:
mklabel gpt
omklabel msdos
según necesites GPT o MBR. GPT permite muchas más particiones primarias. - Crear partición:
mkpart
con tamaños como1GB
,10GB
o sectores si activasunit s
. Sirve para definir los límites del espacio que ocupará el sistema de archivos. - Listar particiones:
print
y variantes comoprint devices
oprint free
para ver dispositivos y huecos libres. - Redimensionar:
resizepart N FIN
ajusta la frontera final de la partición número N. Ojo con hacerlo en coherencia con el sistema de archivos. - Eliminar:
rm N
borra la partición N de la tabla (no borra los datos en sí, pero los «desreferencia»).
MBR vs GPT: límites y ventajas
Con MBR (msdos) estás limitado a cuatro particiones primarias, aunque puedes usar una extendida para añadir lógicas (común hablar de hasta 23 lógicas en ejemplos clásicos). Con GPT, estándar moderno de EFI/UEFI, puedes llegar a decenas de particiones primarias (típicamente 128) sin la complejidad de las extendidas; si necesitas migrar, consulta cómo convertir disco de MBR a GPT sin perder datos.
Un ejemplo habitual en MBR es crear una partición primaria que vaya de 1024MiB a 2048MiB. En parted, ná más entrar al dispositivo, bastaría con invocar mkpart
indicando esos límites, y listo: creas una pequeña partición primaria en un rango concreto sin depender de tamaños en GB redondeados.
Comprobar estilo de partición y trabajar por sectores
Puedes inspeccionar un disco así: parted /dev/xvdb
, y dentro escribir p
para ver el estilo de partición. En la salida, el campo Partition Table indica «msdos» para MBR o «gpt» para GPT. Para salir, teclea q. Si quieres precisión milimétrica, usa unit s
para medir en sectores y evitar dudas sobre puntos de inicio/fin. Esto ayuda a recrear particiones respetando fronteras exactas.
Ejemplos prácticos: de cero a productivo
Empezamos con un caso típico: crear GPT en un disco nuevo y levantar la primera partición. En modo no interactivo, podrías lanzar: # parted /dev/sdb mklabel gpt
y seguir con # parted /dev/sdb mkpart primary ext4 1GB 10GB
. Después formateas y montas. Es un flujo rápido y reproducible.
Sesión interactiva típica
Intervenir con parted de forma guiada es muy cómodo. Por ejemplo: # parted /dev/sdb
, verás algo como «GNU Parted X.Y Using /dev/sdb». Entonces: (parted) mklabel gpt
, (parted) mkpart primary ext4 1GB 20GB
, (parted) print
y (parted) quit
. En segundos, tienes tu primera tabla GPT y la partición creada.
Listar dispositivos, particiones y huecos
En interactivo, print devices
te muestra los discos detectados, por ejemplo: /dev/sdb (268MB)
, /dev/sda (12,7GB)
. Con print free
obtienes un mapa por disco con el espacio libre entre particiones, ideal para decidir dónde crear la siguiente partición contigua.
Trabajar por sectores y comprobar salida
En muchos procedimientos se cambia la unidad con unit s
y se usa p
para ver números exactos. Un caso de manual en un disco del sistema /dev/xvda
podría mostrar algo así: tamaño total 167772160s
, sector lógico/físico 512B/512B
, tabla msdos y una partición 1 desde 2048s
hasta 83886079s
. Con eso ubicamos el siguiente sector libre para crear /dev/xvda2.
Crear una nueva partición por sectores
Dentro de parted: mkpart
, indicas tipo primary, sistema de ficheros «ext4» a modo informativo, inicio 83886080
y fin 167772159
. Tras confirmar, vuelves a p
para verificar el alta de la nueva entrada. El siguiente paso ya sería el sistema de archivos: mkfs -t ext4 /dev/xvda2
.
Formatear y montar
El formateo ext4 suele mostrar información de inodos, grupos y copia de superbloques. Cuando el proceso finaliza con «done», ya puedes montar: mount /dev/xvda2 /opt
y comprobar con df -TH
que aparece algo del estilo /dev/xvda2 ext4 43G 51M 40G 1% /opt
. Así de simple pones a producir el nuevo espacio asignado.
Inspeccionar con lsblk y desmontar
lsblk
ofrece un árbol claro de dispositivos, capacidades y puntos de montaje. Es la forma más visual de confirmar que /dev/xvdc
(por ejemplo) tiene 60 GB, que /dev/xvdc1
ocupa 10 GB y que está montada en /mnt/sdc
. Si necesitas operar, desmonta primero con umount /mnt/sdc
y vuelve a listar.
Redimensionar una partición y su sistema de archivos
Hay dos enfoques comunes. Uno, ampliar una partición existente con resizepart
; otro, recrear la partición respetando el sector de inicio y fijando un sector final mayor. En ambos casos, recuerda que el sistema de archivos debe acompañar la expansión. Para ext3/ext4, lo canónico es ejecutar e2fsck -f
y luego resize2fs
.
Receta por sectores en un disco de datos
En un ejemplo clásico sobre /dev/xvdc
de 60 GB, desmontas, entras a parted con parted /dev/xvdc
, seleccionas unit s
, revisas con p
, eliminas la partición 1 con rm 1
y la vuelves a crear con los límites adecuados: mkpart opt 2048s 125829119
. Confirmas con p
que /dev/xvdc1 existe de nuevo con el nuevo final.
Para ext3/ext4, ajusta el FS: e2fsck -f /dev/xvdc1
seguido de resize2fs /dev/xvdc1
, vuelve a ver con lsblk
la nueva capacidad y monta: mount /dev/xvdc1 /mnt/sdc
.
En XFS, el crecimiento del sistema de archivos se hace en línea: montas primero y luego ejecutas xfs_growfs /dev/xvdc1
. Después verificas con lsblk
o df -TH
que el aumento se ha materializado en la partición y el punto de montaje. Es una operación muy directa.
Crear GPT y partición en un disco nuevo
En servidores cloud es habitual que llegue un disco vacío, por ejemplo /dev/vdb
. Compruébalo con lsblk
y entra a parted: parted /dev/vdb
. Si p
devuelve «Partition Table: unknown», crea GPT con mklabel gpt
, cambia a unit s
y crea la partición: mkpart test 2048s 100%
.
Sal de parted con q
, confirma con lsblk
que existe /dev/vdb1
, formatea con mkfs -t ext4 /dev/vdb1
, crea un punto de montaje con mkdir /mnt/sdc
y monta: mount /dev/vdb1 /mnt/sdc
. Una consulta df -TH
debería mostrar algo como /dev/vdb1 ext4 106G 63M 101G 1% /mnt/sdc
. Operación completada.
Montaje automático con fstab
Obtén el UUID con blkid /dev/vdb1
, verás una salida del estilo /dev/vdb1: UUID=0b3040e2-1367-4abb-841d-ddb0b92693df TYPE="ext4"
. Abre vi /etc/fstab
, entra en edición con i
y añade una línea como: UUID=0b3040e2-1367-4abb-841d-ddb0b92693df /mnt/sdc ext4 defaults 0 2
. Guarda con :wq
. Desmonta con umount /dev/vdb1
y prueba mount -a
. Si mount | grep /mnt/sdc
devuelve la línea con type ext4
y opciones, ya lo tienes listo.
Escenarios completos con múltiples particiones
Supón un disco externo de 160 GB que quieres dividir en cinco partes: FAT32, EXT4, NTFS, swap y XFS para /home
. Primero localiza el dispositivo con dmesg | tail
y fdisk -l
o parted -l
, donde verás algo como Disk /dev/sdb: 160GB
. Entra en parted /dev/sdb
, elimina particiones antiguas con rm N
, crea GPT con mklabel gpt
y empieza a crear:
- Partición 1: 20 GB para FAT32, por ejemplo con
mkpart Windowsfat fat32 1 20000
. Perfecta para intercambio. - Partición 2: 50 GB para EXT4, por ejemplo
mkpart LinuxExt ext4 20000 70000
. - Partición 3: 50 GB para NTFS, con
mkpart WindowsNTFS ntfs 70001 120000
. - Partición 4: 4 GB para swap,
mkpart Swap linux-swap 120001 124000
. - Partición 5: el resto para XFS (HOME), con
mkpart HOME xfs 124001 160000
. Así aprovechas todo el espacio.
Comprueba el resultado con print
para ver tamaños, nombres y banderas. Al salir con quit
, solo faltará aplicar los formateos correspondientes con mkfs.vfat
, mkfs.ext4
, mkfs.ntfs
, mkswap
y mkfs.xfs
según hayas decidido.
Usar print, help y comandos auxiliares
Si necesitas ayuda contextual, en el prompt de parted ejecuta ?
o help
para ver opciones como align-check
(verificar alineación), rescue
(intentar recuperar una partición perdida indicando inicio/fin) o check
(nota: orientado a FS antiguos y con soporte limitado). Con print
y sus variantes obtienes la foto actual del dispositivo.
Advertencias sobre mkpartfs y check
Parted incluye comandos históricos como mkpartfs
o check
para manipular sistemas de archivos, pero no son su punto fuerte. De hecho, el propio programa avisa: «no es tan robusto como herramientas específicas tipo e2fsprogs y su soporte se eliminará». La recomendación actual es usar parted para particiones y las utilidades nativas del FS para crear o verificar.
AVISO: la manipulación de FS con parted (mkpartfs, check) se considera no robusta y el soporte para muchos tipos se ha ido deprecando. Emplea
mkfs
,fsck
, e2fsprogs, etc., que son las herramientas correctas para cada FS.
Diagnóstico rápido: lsblk y dmesg
lsblk
lista dispositivos de bloque y sus particiones con tamaños, tipos y puntos de montaje. Es clave para identificar /dev/sda
, /dev/sdb
, /dev/sdc
y los sufijos numéricos de sus particiones, como sda1, sdb2, etc. Así evitas actuar sobre el disco equivocado.
dmesg
muestra los últimos mensajes del kernel. Útil cuando conectas un USB y quieres confirmar si ha entrado como /dev/sdb
o /dev/sdc
. Con dmesg | tail
detectas de inmediato el evento de conexión o retirada del dispositivo, algo esencial antes de correr comandos destructivos.
Formateo de particiones: mkfs y opciones
Tras crear una partición, hay que formatearla con el FS deseado. Para compatibilidad entre sistemas (Windows, macOS y Linux), exFAT es una opción frecuente. En distribuciones derivadas de Debian instala soporte con sudo apt install exfat-utils
y luego ejecuta sudo mkfs.exfat -n MiUnidadExFat /dev/sdbX
para nombrar y dar formato.
Para uso nativo en GNU/Linux, EXT4 es fiable y flexible: sudo mkfs.ext4 -L MiUnidadExt4 /dev/sdx1
. Tras ello, puedes desconectar y reconectar para que el entorno gráfico la monte automáticamente o realizar el proceso manual con mount
y tu punto de montaje.
Borrado seguro: dd con ceros o aleatorio
Formatear o borrar la tabla de particiones no elimina de verdad los datos. Si quieres preparar un disco para reciclaje o entrega, puedes sobreescribirlo con ceros: sudo dd if=/dev/zero of=/dev/sdx
. Este método llena todos los sectores con 0x00 y dificulta la recuperación de información.
Para mayor privacidad, escribe datos aleatorios: sudo dd if=/dev/urandom of=/dev/sdx
. Hay quien lo repite varias veces en «modo paranoia»; es más lento, pero la probabilidad de recuperar algo se acerca a cero. Recuerda sustituir la x
por el dispositivo correcto y no por una partición concreta si quieres borrar el disco entero.
Consejos de seguridad antes de tocar particiones
Realiza siempre copias de seguridad y sigue buenas prácticas de mantenimiento del disco duro en Linux, valida dispositivo y partición con lsblk
y revisa números de sector si vas a recrear particiones conservando el inicio. Evita trabajar con sistemas montados cuando te dispongas a borrar, mover o cambiar el tamaño. Si tienes dudas, usa un entorno gráfico como GParted para una vista más clara, aunque parted es perfecto cuando buscas rapidez en consola.
Síntomas, causa y resolución
Síntomas: discos que no montan, particiones que no aparecen, espacio sin asignar que no se utiliza o mensajes de «unrecognised disk label». Causas: ausencia de tabla, particiones mal definidas, FS sin ampliar tras cambiar tamaño o errores previos. Resolución: crear o corregir tabla con mklabel
, definir particiones con mkpart
, verificar por sectores con unit s
, ajustar el FS con las herramientas del sistema y fijar el montaje con fstab
.
Casos de uso adicionales y trucos
Para listar de un vistazo todos los discos detectados: (parted) print devices
. Para ver huecos libres: (parted) print free
. Si necesitas verificar la alineación: (parted) align-check min 1
o opt
. Y si perdiste una entrada de partición pero conoces su rango aproximado, (parted) rescue INICIO FIN
puede ayudarte a recuperarla.
Si quieres conocer el estilo de partición y salir rápido: parted /dev/xvdb
, teclea p
y verifica si Partition Table
dice «msdos» o «gpt»; teclea q
para salir. Este check, aunque simple, es la base para decidir si vas a migrar a GPT con mklabel gpt
.
Redimensionar sin interrupción de servicio (XFS) o con chequeo (EXT)
Para XFS, recuerda: primero montas la partición en su punto y luego ejecutas xfs_growfs
. Para EXT3/EXT4, pasa antes por e2fsck -f
, luego resize2fs
y finalmente monta o remonta. Verifica resultado con lsblk
y df -TH
.
En redimensionados por sectores, respeta el sector de inicio al recrear la partición para no romper el contenido. parted permite trabajar con precisión si usas unit s
y te apoyas en el print
previo.
Si te aportan, por ejemplo, los sectores 2048s
como arranque y 125829119
como fin, asegúrate de que el nuevo fin sea igual o mayor y confirma con Yes
cuando parted sugiera ajustar límites. Después, redimensiona el FS con su herramienta específica para que el sistema vea el espacio ampliado.
Comprobaciones tras el montaje
Usa df -TH
para ver el uso por punto de montaje con tamaños «humanos» y unidades claras. Complementa con mount
para inspeccionar opciones activas, y con blkid
si necesitas el UUID para /etc/fstab
. Mantener estas comprobaciones a mano evita confusiones y garantiza que tus scripts de arranque monten los discos donde toca.
Si este tipo de contenidos te facilitan el día a día, no está de más apoyar el trabajo que hay detrás. En muchas guías se invita a visitar un apartado de donaciones; tu respaldo ayuda a que sigamos creando tutoriales técnicos y actualizados sobre administración de sistemas.
Dominar parted te permitirá crear y gestionar particiones con soltura, migrar de MBR a GPT cuando convenga, redimensionar sin miedo y dejar automatizado el arranque. Con los ejemplos vistos (creación de tablas, uso de unit s
, recreación por sectores, crecimiento de EXT y XFS, montaje y fstab) ya tienes un itinerario completo de trabajo real con discos en Linux.
Redactor apasionado del mundo de los bytes y la tecnología en general. Me encanta compartir mis conocimientos a través de la escritura, y eso es lo que haré en este blog, mostrarte todo lo más interesante sobre gadgets, software, hardware, tendencias tecnológicas, y más. Mi objetivo es ayudarte a navegar por el mundo digital de forma sencilla y entretenida.