Linux partitioning, storage & filesystem architecture
Technical guides and reference manuals for disk partitioning, GUID Partition Tables (GPT), Linux filesystems (Ext4, XFS, Btrfs, ZFS), LUKS2 encryption, kernel I/O subsystems, and cloud storage engineering.
Storage engineering library
Core documentation
Storage architecture reference
| Component | Standard Implementation | Key characteristics |
|---|---|---|
| Partition Table | GUID Partition Table (GPT) | 128+ primary partitions, 64-bit LBA addressing, backup header at end of disk with CRC32 verification. |
| Device Identification | UUID= and PARTUUID= | Deterministic block device mounting across bus changes, controller reordering, and hotplug events. |
| Disk Encryption | LUKS2 with Argon2id | 32 keyslots, JSON metadata, TPM2 PCR binding, and NVMe workqueue bypass for maximum IOPS. |
| Boot Firmware | UEFI + systemd-boot / GRUB 2 | Dedicated VFAT EFI System Partition (ESP), Unified Kernel Images (UKI), and Secure Boot support. |
| Swap Management | zram (lzo-rle default; zstd optional) + swapfile | High-throughput compressed memory swap with optional secondary file-backed storage on disk. |
| Temporary Storage | tmpfs in RAM | Dynamically allocated memory filesystem for /tmp and /run with automatic clearing on reboot. |
Frequently asked questions
How many primary partitions does GPT support?
GUID Partition Table (GPT) supports 128 or more primary partitions with 64-bit LBA addressing. A backup header sits at the end of the disk with CRC32 verification.
How does Linux identify block devices persistently?
Linux uses `UUID=` and `PARTUUID=` for deterministic block device mounting. This keeps mounts stable across bus changes, controller reordering, and hotplug events.
What boot firmware setup does Linux use with UEFI?
UEFI with systemd-boot or GRUB 2, using a dedicated VFAT EFI System Partition (ESP). Unified Kernel Images (UKI) and Secure Boot are supported.
What is zram used for on Linux?
`zram` provides high-throughput compressed memory swap, using lzo-rle by default with zstd as an optional compressor. A file-backed swapfile on disk can serve as secondary storage.
What is tmpfs used for on Linux?
`tmpfs` is a dynamically allocated memory filesystem used for `/tmp` and `/run`. Its contents are cleared automatically on reboot.