Particionado: fdisk, gdisk, parted, MBR vs GPT
Introducción
Particionar un disco consiste en dividirlo en regiones independientes, cada una con su propio sistema de archivos. La tabla de particiones puede ser MBR (legado, hasta 2 TB, máximo 4 primarias) o GPT (moderna, hasta 8 ZB, hasta 128 particiones). Para discos nuevos usar siempre GPT.
MBR vs GPT
# MBR (Master Boot Record)
# - Tabla de particiones en los primeros 512 bytes del disco
# - Máximo 4 particiones primarias (o 3 primarias + 1 extendida con lógicas)
# - Tamaño máximo de disco: 2 TB
# - Compatible con BIOS legacy
# - Herramienta: fdisk
# GPT (GUID Partition Table)
# - Tabla de particiones al inicio y al final del disco (backup)
# - Hasta 128 particiones (sin distinción primaria/extendida)
# - Tamaño máximo: 8 ZiB (prácticamente ilimitado)
# - Requiere UEFI (aunque funciona en BIOS con BIOS boot partition)
# - Herramienta: gdisk o parted
fdisk — Particionado MBR (y GPT básico)
fdisk es interactivo. Los cambios no se escriben al disco hasta pulsar w. Pulsar q descarta todos los cambios.
# Abrir fdisk en un disco (requiere root)
fdisk /dev/sdb
# Comandos dentro de fdisk:
# m → mostrar ayuda
# p → mostrar tabla de particiones actual
# n → nueva partición
# d → eliminar partición
# t → cambiar tipo de partición
# l → listar tipos de partición
# w → escribir cambios y salir
# q → salir SIN guardar cambios
# g → crear tabla GPT (borra todo)
# o → crear tabla MBR (borra todo)
# Ejemplo: crear una partición que ocupe todo el disco
# fdisk /dev/sdb
# > g (GPT)
# > n (nueva)
# > 1 (número)
# > Enter (primer sector por defecto)
# > Enter (último sector por defecto = todo el disco)
# > w (guardar)
# Ver el resultado
fdisk -l /dev/sdb
gdisk — Particionado GPT
gdisk es el equivalente a fdisk pero optimizado para GPT. Su interfaz es casi idéntica.
# Abrir gdisk
gdisk /dev/sdb
# Comandos principales (misma lógica que fdisk):
# ? → ayuda
# p → mostrar tabla
# n → nueva partición
# d → eliminar partición
# t → cambiar tipo (código GUID)
# l → listar tipos
# w → escribir y salir
# q → salir sin guardar
# Tipos de partición comunes en GPT:
# 8300 → Linux filesystem (por defecto)
# 8200 → Linux swap
# 8e00 → Linux LVM
# fd00 → Linux RAID
# ef00 → EFI System Partition
# 8301 → Linux reserved
# sgdisk — versión no interactiva de gdisk (útil en scripts)
# Crear tabla GPT y una partición de todo el disco
sgdisk -Z /dev/sdb # borrar tabla existente
sgdisk -n 1:0:0 -t 1:8300 /dev/sdb # partición tipo Linux
sgdisk -p /dev/sdb # mostrar resultado
parted — Particionado interactivo y scriptable
parted soporta MBR y GPT, y puede usarse de forma interactiva o directamente desde la línea de comandos
(sin menú). Los cambios son inmediatos (no hay paso de confirmación como en fdisk).
# Ver particiones de todos los discos
parted -l
# Modo interactivo
parted /dev/sdb
# (parted) help
# (parted) print
# (parted) mklabel gpt
# (parted) mkpart primary ext4 0% 100%
# (parted) quit
# Modo no interactivo (directo desde shell)
# Crear tabla GPT
parted /dev/sdb mklabel gpt
# Crear partición que ocupe todo el disco
parted /dev/sdb mkpart primary ext4 0% 100%
# Crear partición de tamaño específico (por ejemplo 10 GiB)
parted /dev/sdb mkpart primary ext4 1MiB 10GiB
# Crear segunda partición con el espacio restante
parted /dev/sdb mkpart primary ext4 10GiB 100%
# Activar flag de boot (para partición EFI)
parted /dev/sdb set 1 esp on
# Eliminar partición número 2
parted /dev/sdb rm 2
# Ver resultado
parted /dev/sdb print
Actualizar la tabla de particiones en el kernel
# Después de modificar particiones en un disco en uso,
# informar al kernel de los cambios sin necesidad de reiniciar
partprobe /dev/sdb
# o
blockdev --rereadpt /dev/sdb
# Verificar que el kernel reconoce las nuevas particiones
cat /proc/partitions
lsblk /dev/sdb
Tipos de partición habituales
- Linux filesystem (83 en MBR / 8300 en GPT) → partición de datos general
- Linux swap (82 / 8200) → área de swap
- Linux LVM (8e / 8e00) → volumen físico LVM
- Linux RAID (fd / fd00) → miembro de array RAID
- EFI System Partition (ef00) → arranque UEFI, formato FAT32
- BIOS boot (ef02) → necesaria en GPT con GRUB en BIOS legacy