104.1 Crear particiones y sistemas de archivos - Teoria
1. Dispositivos de bloque en Linux
En Linux, los discos y particiones se representan como archivos especiales de dispositivo en /dev/.
Nomenclatura de dispositivos
| Dispositivo | Descripcion |
|---|---|
/dev/sda | Primer disco SATA/SCSI/USB |
/dev/sdb | Segundo disco SATA/SCSI/USB |
/dev/sda1 | Primera particion del primer disco |
/dev/sda2 | Segunda particion del primer disco |
/dev/nvme0n1 | Primer disco NVMe |
/dev/nvme0n1p1 | Primera particion del primer disco NVMe |
/dev/vda | Primer disco virtual (KVM/virtio) |
/dev/hda | Disco IDE legacy (obsoleto) |
Nota para el examen: Los discos SATA usan la nomenclatura
sd*, los NVMe usannvme*n*p*. Las particiones se numeran con sufijos numericos.
2. Esquemas de particionado: MBR vs GPT
2.1 MBR (Master Boot Record)
El MBR se encuentra en los primeros 512 bytes del disco. Es el esquema tradicional.
Caracteristicas:
- Maximo 4 particiones primarias
- O bien 3 primarias + 1 extendida (que contiene particiones logicas)
- Tamano maximo de disco: 2 TB
- Las particiones logicas empiezan desde el numero 5 (ej:
/dev/sda5)
Tipos de particiones MBR:
| Tipo | Descripcion |
|---|---|
| Primaria | Hasta 4 por disco, directamente en la tabla MBR |
| Extendida | Contenedor para particiones logicas. Solo puede haber 1. |
| Logica | Dentro de la extendida. Numeradas a partir de 5. |
Codigos de tipo de particion importantes:
| Codigo hex | Tipo |
|---|---|
83 | Linux (ext2/ext3/ext4, etc.) |
82 | Linux swap |
8e | Linux LVM |
fd | Linux RAID autodetect |
05 | Extendida |
07 | NTFS/HPFS |
0b / 0c | FAT32 |
2.2 GPT (GUID Partition Table)
GPT es el esquema moderno asociado a UEFI.
Caracteristicas:
- Hasta 128 particiones (por defecto, ampliable)
- Sin distincion entre primaria/extendida/logica
- Tamano maximo de disco: 9.4 ZB (zettabytes)
- Cada particion tiene un GUID unico
- Incluye CRC32 para deteccion de errores
- Mantiene una copia de respaldo de la tabla al final del disco
- Requiere UEFI para arrancar (aunque puede usarse con BIOS mediante protective MBR)
Dato clave para el examen: GPT no tiene el concepto de particiones extendidas ni logicas. Todas las particiones son iguales.
3. Herramientas de particionado
3.1 fdisk (para MBR, tambien GPT en versiones modernas)
fdisk es la herramienta clasica e interactiva para gestionar particiones MBR.
# Abrir disco para editar
fdisk /dev/sda
# Listar particiones de todos los discos
fdisk -l
# Listar particiones de un disco especifico
fdisk -l /dev/sdaComandos internos de fdisk:
| Comando | Accion |
|---|---|
m | Mostrar ayuda |
p | Imprimir tabla de particiones |
n | Crear nueva particion |
d | Eliminar particion |
t | Cambiar tipo de particion |
l | Listar tipos de particion conocidos |
w | Escribir cambios y salir |
q | Salir sin guardar |
a | Cambiar flag de arranque (bootable) |
Importante: Los cambios NO se aplican hasta que se usa
w. Se puede salir sin guardar conq.
3.2 gdisk (para GPT)
gdisk es el equivalente de fdisk para tablas de particiones GPT.
# Abrir disco GPT para editar
gdisk /dev/sda
# Listar particiones
gdisk -l /dev/sdaComandos internos de gdisk:
| Comando | Accion |
|---|---|
p | Imprimir tabla de particiones |
n | Crear nueva particion |
d | Eliminar particion |
t | Cambiar tipo de particion |
l | Listar tipos de particion |
w | Escribir cambios y salir |
q | Salir sin guardar |
i | Informacion detallada de una particion |
o | Crear nueva tabla GPT vacia |
3.3 parted (MBR y GPT)
parted es una herramienta mas avanzada que soporta tanto MBR como GPT. A diferencia de fdisk/gdisk, los cambios se aplican inmediatamente.
# Modo interactivo
parted /dev/sda
# Listar particiones
parted /dev/sda print
# Crear tabla de particiones GPT
parted /dev/sda mklabel gpt
# Crear tabla de particiones MBR
parted /dev/sda mklabel msdos
# Crear particion
parted /dev/sda mkpart primary ext4 1MiB 500MiB
# Eliminar particion
parted /dev/sda rm 1Advertencia para el examen:
partedaplica cambios de forma inmediata (no espera a un “write”). Esto es una diferencia clave respecto afdiskygdisk.
4. Crear sistemas de archivos (mkfs)
4.1 Sintaxis general
mkfs -t tipo /dev/sdXN
# Equivalente a:
mkfs.tipo /dev/sdXN4.2 mke2fs - Crear sistemas de archivos ext
mke2fs es el comando subyacente que se ejecuta cuando se usa mkfs.ext2, mkfs.ext3 o mkfs.ext4. Permite mayor control sobre los parametros de creacion del sistema de archivos.
# Equivalentes:
mke2fs /dev/sda1 # Crea ext2 por defecto
mke2fs -t ext4 /dev/sda1 # Crea ext4 (equivale a mkfs.ext4)
mke2fs -t ext3 /dev/sda1 # Crea ext3 (equivale a mkfs.ext3)Opciones principales de mke2fs:
| Opcion | Descripcion |
|---|---|
-t tipo | Tipo de sistema de archivos (ext2, ext3, ext4) |
-n | Dry-run: muestra lo que haria sin crear el FS (util para planificar) |
-b tamano | Tamano de bloque en bytes (1024, 2048 o 4096) |
-L etiqueta | Asignar una etiqueta (label) al sistema de archivos |
-N num | Establecer el numero de inodos |
-m porcentaje | Porcentaje de bloques reservados para root (default 5%) |
-j | Crear con journal (convierte a ext3) |
-i bytes | Ratio bytes/inodo (controla cuantos inodos se crean) |
-c | Verificar bloques defectuosos antes de crear el FS |
-cc | Verificacion exhaustiva de bloques defectuosos (lectura/escritura) |
# Crear ext4 con etiqueta y bloques de 4096 bytes
mke2fs -t ext4 -b 4096 -L "datos" /dev/sda1
# Simular la creacion sin aplicar cambios (dry-run)
mke2fs -n -t ext4 /dev/sda1
# Crear ext4 con solo 1% reservado para root (util en discos de datos)
mke2fs -t ext4 -m 1 /dev/sda1
# Crear ext4 verificando bloques defectuosos
mke2fs -t ext4 -c /dev/sda1Para el examen:
mke2fses equivalente amkfs.ext2/ext3/ext4. La opcion-n(dry-run) es importante para verificar parametros antes de crear el FS. La opcion-bpara el tamano de bloque y-Lpara la etiqueta son las mas preguntadas.
4.3 Sistemas de archivos Linux
ext2
- Sin journaling
- Adecuado para particiones pequenas como
/boot - Rapido en lecturas
mkfs.ext2 /dev/sda1
mkfs -t ext2 /dev/sda1ext3
- ext2 + journaling
- Compatible hacia atras con ext2
- Mejora la recuperacion tras fallos
mkfs.ext3 /dev/sda2ext4
- Sistema de archivos Linux por defecto en muchas distribuciones
- Soporta volumenes de hasta 1 EB (exabyte)
- Archivos de hasta 16 TB
- Extents (mejora el rendimiento con archivos grandes)
- Journaling mejorado
mkfs.ext4 /dev/sda3
mkfs -t ext4 /dev/sda3XFS
- Alto rendimiento, especialmente con archivos grandes
- No se puede reducir (solo ampliar)
- Usado por defecto en RHEL/CentOS 7+
- Excelente journaling
mkfs.xfs /dev/sda4Btrfs
- Sistema de archivos moderno con funciones avanzadas
- Soporta snapshots, compresion, RAID integrado
- Puede abarcar multiples dispositivos
- Subvolumenes
mkfs.btrfs /dev/sda5
# Crear Btrfs con multiples dispositivos
mkfs.btrfs /dev/sdb /dev/sdcVFAT (FAT32)
- Compatible con Windows, macOS, Linux
- Usado en particiones EFI System Partition (ESP)
- Limite de archivo: 4 GB
mkfs.vfat /dev/sda6
mkfs -t vfat /dev/sda6
# Especificar FAT32 explicitamente
mkfs.vfat -F 32 /dev/sda6exFAT
- Version mejorada de FAT sin limite de 4 GB
- Ideal para medios extraibles grandes
mkfs.exfat /dev/sda74.4 Tabla resumen de sistemas de archivos
| FS | Journaling | Tamano max volumen | Tamano max archivo | Notas |
|---|---|---|---|---|
| ext2 | No | 32 TB | 2 TB | Sin journal, bueno para /boot |
| ext3 | Si | 32 TB | 2 TB | ext2 + journal |
| ext4 | Si | 1 EB | 16 TB | Default en muchas distros |
| XFS | Si | 8 EB | 8 EB | No se puede reducir |
| Btrfs | Si (CoW) | 16 EB | 16 EB | Snapshots, multi-dispositivo |
| VFAT | No | 2 TB | 4 GB | Compatibilidad universal |
| exFAT | No | 128 PB | 16 EB | Medios extraibles grandes |
5. Gestion del espacio swap
El swap es espacio en disco usado como extension de la RAM cuando esta se agota.
5.1 Crear particion swap
# 1. Crear la particion con fdisk (tipo 82)
fdisk /dev/sda
# -> n (nueva), seleccionar tamano
# -> t (tipo), codigo 82
# 2. Formatear como swap
mkswap /dev/sda2
# 3. Activar
swapon /dev/sda2
# 4. Verificar
swapon --show
# o
cat /proc/swaps
free -h5.2 Crear archivo swap
# 1. Crear archivo de tamano fijo (ej: 1 GB)
dd if=/dev/zero of=/swapfile bs=1M count=1024
# O con fallocate (mas rapido, pero no siempre soportado para swap)
fallocate -l 1G /swapfile
# 2. Establecer permisos seguros
chmod 600 /swapfile
# 3. Formatear como swap
mkswap /swapfile
# 4. Activar
swapon /swapfile5.3 Hacer swap permanente
Para que el swap persista tras reiniciar, se agrega a /etc/fstab:
/dev/sda2 swap swap defaults 0 0
# O con UUID:
UUID=xxxx swap swap defaults 0 0
# O para archivo:
/swapfile swap swap defaults 0 0
5.4 Desactivar swap
# Desactivar una particion/archivo swap especifico
swapoff /dev/sda2
swapoff /swapfile
# Desactivar todo el swap
swapoff -a5.5 Prioridad del swap
Se puede establecer la prioridad del swap (mayor numero = mayor prioridad):
swapon -p 10 /dev/sda2En /etc/fstab:
/dev/sda2 swap swap defaults,pri=10 0 0
6. Puntos clave para el examen
-
MBR vs GPT: MBR soporta hasta 4 particiones primarias y discos de hasta 2 TB. GPT soporta 128+ particiones y discos enormes.
-
Codigos de tipo MBR: 82 = swap, 83 = Linux, 8e = LVM.
-
parted aplica cambios inmediatamente, fdisk y gdisk no (hasta que se ejecuta
w). -
Nomenclatura de dispositivos:
sd*para SATA/SCSI/USB,nvme*n*p*para NVMe,vd*para virtio. -
ext4 es el FS por defecto en la mayoria de distribuciones Linux. XFS es el default en RHEL/CentOS 7+.
-
XFS no se puede reducir, solo ampliar.
-
Btrfs soporta multiples dispositivos y snapshots nativos.
-
mkswap formatea, swapon activa, swapoff desactiva.
-
VFAT/FAT32 se usa para la particion EFI (ESP).
-
Las particiones logicas siempre empiezan en 5 (sda5, sda6…) independientemente de cuantas primarias haya.
Trampas del examen
Errores comunes y distinciones criticas que LPI suele evaluar en este subtema:
partedaplica cambios inmediatamente;fdisk/gdiskno — Enfdiskygdisk, los cambios solo se escriben al ejecutarw. Enparted, cada operacion se ejecuta al instante sin confirmacion. El examen puede preguntar cual herramienta requiere precaucion extra.- Particiones logicas SIEMPRE empiezan en 5 — Aunque solo haya 1 primaria y 1 extendida, la primera logica es sda5. Las numeros 1-4 estan reservados para primarias/extendida. El examen puede ofrecer sda2 como primera logica.
mkfsformatea; NO particiona —mkfs.ext4 /dev/sda1crea el sistema de archivos en una particion existente. NO crea la particion. Para particionar se usafdisk,gdiskoparted. El examen puede confundir ambos pasos.- ext2 vs ext3 vs ext4: la diferencia principal es el journaling — ext2 NO tiene journaling; ext3 anade journaling; ext4 anade extents y tamanos mas grandes.
tune2fs -jconvierte ext2 a ext3. El examen puede preguntar que diferencia ext2 de ext3. - XFS no se puede reducir, solo ampliar — A diferencia de ext4, un filesystem XFS no puede reducirse una vez creado. Solo se puede ampliar con
xfs_growfs. El examen puede preguntar que limitacion tiene XFS. - Codigos de tipo MBR: 82 = swap, 83 = Linux, 8e = LVM — Estos codigos identifican el proposito de la particion.
fdiskusatpara cambiar el tipo. El examen puede pedir identificar o asignar estos codigos. /dev/nvme0n1p1vs/dev/sda1— Los discos NVMe usan nomenclatura diferente:nvme0es el controlador,n1es el primer disco,p1es la primera particion. El examen puede preguntar la nomenclatura correcta para discos NVMe.- La ESP (EFI System Partition) DEBE ser FAT32 — Usar
mkfs.vfatomkfs.fat -F 32. Otros sistemas de archivos no son validos para la ESP. El examen puede ofrecer ext4 como opcion para la ESP.