- 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 gptomklabel msdossegún necesites GPT o MBR. GPT permite muchas más particiones primarias. - Crear partición:
mkpartcon tamaños como1GB,10GBo sectores si activasunit s. Sirve para definir los límites del espacio que ocupará el sistema de archivos. - Listar particiones:
printy variantes comoprint devicesoprint freepara ver dispositivos y huecos libres. - Redimensionar:
resizepart N FINajusta la frontera final de la partición número N. Ojo con hacerlo en coherencia con el sistema de archivos. - Eliminar:
rm Nborra 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.

